unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#5856: 24.0.50; Crash in redisplay
@ 2010-04-07 19:11 Jan Djärv
  2010-04-07 20:27 ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Jan Djärv @ 2010-04-07 19:11 UTC (permalink / raw)
  To: 5856

Hello.

Sometimes I get a segmentation violation and emacs dies.
I just managed to catch it in the debugger.  Backtrace below (very long,
but instructions says to give bt full),
Let me know if you need more info, I'll keep it in the debugger for a
couple of days.  This is from trunk, updated and built today (Apr 7, 2010).

Program received signal SIGSEGV, Segmentation fault.
0x000000000044d2f1 in set_cursor_from_row (w=0x1378d60, row=0x1fbf550,
     matrix=0x18217a0, delta=0, delta_bytes=0, dy=0, dvpos=0)
     at /home/jhd/src/emacs/fixes/src/xdisp.c:12775
12775	  if (!(BUFFERP (glyph->object) && glyph->charpos == pt_old)
(gdb) p *glyph
$3 = {
   charpos = 7589819289523352181,
   object = 8079492959817000301,
   pixel_width = 26991,
   ascent = 29806,
   descent = 29285,
   voffset = 26463,
   type = 2,
   multibyte_p = 0,
   left_box_line_p = 0,
   right_box_line_p = 1,
   overlaps_vertically_p = 1,
   padding_p = 1,
   glyph_not_available_p = 0,
   avoid_cursor_p = 1,
   resolved_level = 16,
   bidi_type = 1,
   face_id = 25701,
   font_type = 2,
   slice = {
     x = 12320,
     y = 2619,
     width = 8202,
     height = 29472
   },
   u = {
     ch = 1701667445,
     cmp = {
       automatic = 1,
       id = 3584314,
       from = 5,
       to = 6
     },
     img_id = 1701667445,
     stretch = {
       height = 25205,
       ascent = 25965
     },
     val = 1701667445
   }
}

(gdb) bt full
#0  0x000000000044d2f1 in set_cursor_from_row (w=0x1378d60, row=0x1fbf550, 
matrix=0x18217a0, delta=0, delta_bytes=0, dy=0, dvpos=0) at 
/home/jhd/src/emacs/fixes/src/xdisp.c:12775
         glyph = 0x1fa5cd0
         end = 0x1fa5cd0
         cursor = 0x0
         last_pos = 1
         x = 560
         cursor_x = 0
         pt_old = 42
         pos_before = 41
         pos_after = 42
         glyph_before = 0x1fa5550
         glyph_after = 0x1fa5cd0
         match_with_avoid_cursor = 0
         string_seen = 1
         bpos_max = 41
         bpos_covered = 0
#1  0x000000000045d270 in display_line (it=0x7fffffff8c70) at 
/home/jhd/src/emacs/fixes/src/xdisp.c:17785
         row = 0x1fbf550
         overlay_arrow_string = 13155026
         wrap_it = {
           window = 140737488322568,
           w = 0x11909b0,
           f = 0x7fffffff7fb0,
           method = 13155026,
           stop_charpos = 3834307341121171509,
           prev_stop = 29702144,
           base_level_stop = 22899937,
           end_charpos = 1696395264,
           s = 0x2 <Address 0x2 out of bounds>,
           string_nchars = 30,
           region_beg_charpos = 140737488322608,
           region_end_charpos = 0,
           redisplay_end_trigger_charpos = 140737488323836,
           multibyte_p = 0,
           header_line_p = 0,
           string_from_display_prop_p = 0,
           ellipsis_p = 0,
           avoid_cursor_p = 0,
           dp = 0x1,
           dpvec = 0x7fffffff8020,
           dpend = 0x12e2e40,
           dpvec_char_len = -204922015,
           dpvec_face_id = 32767,
           saved_face_id = -31700,
           ctl_chars = {4294967296, 140737488323728, 5991362560, 
140737488323836, 17507408, 140737488322832, 6045250, 0, 30, 13974514, 
128849018880, 29953736, 1, 0, 13078536, 140737488323024},
           start = {
             pos = {
               charpos = 6231420,
               bytepos = 140737488325472
             },
             overlay_string_index = 590,
             string_pos = {
               charpos = 676,
               bytepos = 13608230
             },
             dpvec_index = 13155026
           },
           current = {
             pos = {
               charpos = 13346091,
               bytepos = 140737488322784
             },
             overlay_string_index = 6126324,
             string_pos = {
               charpos = 4328328072,
               bytepos = 13361954
             },
             dpvec_index = 30
           },
           n_overlay_strings = 0,
           overlay_strings = {140737488324124, 0, 1, 140737488322880, 
19803712, 140737283433313, 140737488323916, 6555560, 140737488324016, 
4319707640, 140737488324124, 17507408, 140737488322912, 24740344, 0, 0},
           string_overlays = {140737488322944, 6680760, 22629457, 4301658291, 
13155026, 13399986, 5, 24740344, 5, 5, 140737488323024, 24740344, 5, 5, 
140737488323056, 6680760},
           string = 22629457,
           from_overlay = 4317596753,
           stack = {{
               string = 13834818,
               string_nchars = 0,
               end_charpos = 140737488324412,
               stop_charpos = 0,
               prev_stop = 1,
               base_level_stop = 140737488323168,
               cmp_it = {
                 stop_pos = 19803712,
                 id = -204922015,
                 ch = 32767,
                 lookback = -31124,
                 nglyphs = 32767,
                 nchars = 13155026,
                 nbytes = 0,
                 from = -31024,
                 to = 32767,
                 width = 29213176
               },
               face_id = -30916,
               u = {
                 image = {
                   object = 17507408,
                   slice = {
                     x = 140737488323200,
                     y = 29213176,
                     width = 0,
                     height = 0
                   },
                   image_id = -32096
                 },
                 comp = {
                   object = 17507408
                 },
                 stretch = {
                   object = 17507408
                 }
               },
               position = {
                 charpos = 6680760,
                 bytepos = 34056833
               },
               current = {
                 pos = {
                   charpos = 4301658291,
                   bytepos = 13155026
                 },
                 overlay_string_index = 13399986,
                 string_pos = {
                   charpos = 5,
                   bytepos = 29213176
                 },
                 dpvec_index = 10
               },
               from_overlay = 10,
               area = 4294935280,
               method = 32767,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 1,
               line_wrap = TRUNCATE,
               voffset = 10,
               space_width = 10,
               font_height = 140737488323344
             }, {
               string = 6680760,
               string_nchars = 34056833,
               end_charpos = 4329024129,
               stop_charpos = 13834818,
               prev_stop = 23476902,
               base_level_stop = 23446950,
               cmp_it = {
                 stop_pos = 13155026,
                 id = -31888,
                 ch = 32767,
                 lookback = 6691048,
                 nglyphs = 0,
                 nchars = -31856,
                 nbytes = 1,
                 from = 23476902,
                 to = 0,
                 width = 29213176
               },
               face_id = 21942118,
               u = {
                 image = {
                   object = 13155026,
                   slice = {
                     x = 13699408,
                     y = 0,
                     width = 0,
                     height = 140737488323488
                   },
                   image_id = 13699408
                 },
                 comp = {
                   object = 13155026
                 },
                 stretch = {
                   object = 13155026
                 }
               },
               position = {
                 charpos = 0,
                 bytepos = 0
               },
               current = {
                 pos = {
                   charpos = 140737488323520,
                   bytepos = 6680760
                 },
                 overlay_string_index = 13641185,
                 string_pos = {
                   charpos = 4301658291,
                   bytepos = 13155026
                 },
                 dpvec_index = 13399986
               },
               from_overlay = 2,
               area = 13699408,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 1,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = 2,
               space_width = 140737488323600,
               font_height = 13699408
             }, {
               string = 2,
               string_nchars = 2,
               end_charpos = 140737488323632,
               stop_charpos = 6680760,
               prev_stop = 13641185,
               base_level_stop = 4308608481,
               cmp_it = {
                 stop_pos = 13834818,
                 id = 13680230,
                 ch = 0,
                 lookback = 13680214,
                 nglyphs = 0,
                 nchars = 13155026,
                 nbytes = 0,
                 from = -31600,
                 to = 32767,
                 width = 6691048
               },
               face_id = -31568,
               u = {
                 image = {
                   object = 13680230,
                   slice = {
                     x = 13699408,
                     y = 21942118,
                     width = 13155026,
                     height = 13699632
                   },
                   image_id = 0
                 },
                 comp = {
                   object = 13680230
                 },
                 stretch = {
                   object = 13680230
                 }
               },
               position = {
                 charpos = 0,
                 bytepos = 140737488323776
               },
               current = {
                 pos = {
                   charpos = 13699632,
                   bytepos = 0
                 },
                 overlay_string_index = 0,
                 string_pos = {
                   charpos = 140737488323808,
                   bytepos = 6680760
                 },
                 dpvec_index = 13641313
               },
               from_overlay = 4301658291,
               area = 23380870,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 1,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = -31440,
               space_width = 5110224,
               font_height = 14114182
             }, {
               string = 13155026,
               string_nchars = 13375234,
               end_charpos = 140737265783210,
               stop_charpos = 13375234,
               prev_stop = 140737488323952,
               base_level_stop = 13155026,
               cmp_it = {
                 stop_pos = 5110483,
                 id = 13641313,
                 ch = 0,
                 lookback = -31200,
                 nglyphs = 32767,
                 nchars = 13375234,
                 nbytes = 0,
                 from = 18418096,
                 to = 0,
                 width = 13155026
               },
               face_id = 24678837,
               u = {
                 image = {
                   object = 140737488324080,
                   slice = {
                     x = 5110740,
                     y = 8589903312,
                     width = 140737488324304,
                     height = 13699632
                   },
                   image_id = -31200
                 },
                 comp = {
                   object = 140737488324080
                 },
                 stretch = {
                   object = 140737488324080
                 }
               },
               position = {
                 charpos = 13375234,
                 bytepos = 18418096
               },
               current = {
                 pos = {
                   charpos = 140737488324304,
                   bytepos = 140737488324928
                 },
                 overlay_string_index = -31200,
                 string_pos = {
                   charpos = 18418096,
                   bytepos = 13155026
                 },
                 dpvec_index = -31024
               },
               from_overlay = 12,
               area = 4294936096,
               method = 32767,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = 32767,
               voffset = 1457,
               space_width = 140737488324304,
               font_height = 140737488324928
             }, {
               string = 13375234,
               string_nchars = 18418096,
               end_charpos = 13155698,
               stop_charpos = 13198386,
               prev_stop = 13198386,
               base_level_stop = 13198386,
               cmp_it = {
                 stop_pos = 13198386,
                 id = 13198386,
                 ch = 0,
                 lookback = 13198386,
                 nglyphs = 0,
                 nchars = 13198386,
                 nbytes = 0,
                 from = 13198386,
                 to = 0,
                 width = 9754993
               },
               face_id = 13198386,
               u = {
                 image = {
                   object = 13198386,
                   slice = {
                     x = 13198386,
                     y = 13198386,
                     width = 13198386,
                     height = 13198386
                   },
                   image_id = 13198386
                 },
                 comp = {
                   object = 13198386
                 },
                 stretch = {
                   object = 13198386
                 }
               },
               position = {
                 charpos = 13198386,
                 bytepos = 11987256
               },
               current = {
                 pos = {
                   charpos = 4294967298,
                   bytepos = 140737488324412
                 },
                 overlay_string_index = 19366032,
                 string_pos = {
                   charpos = 13375234,
                   bytepos = 0
                 },
                 dpvec_index = 0
               },
               from_overlay = 4314333328,
               area = 13641313,
               method = 45,
               multibyte_p = 0,
               string_from_display_prop_p = 1,
               display_ellipsis_p = 1,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = -30816,
               space_width = 21846849,
               font_height = 18896257
             }},
           sp = 18896257,
           selective = 0,
           what = IT_CHARACTER,
           face_id = 1,
           selective_display_ellipsis_p = 0,
           ctl_arrow_p = 1,
           face_box_p = 0,
           start_of_box_run_p = 0,
           end_of_box_run_p = 0,
           overlay_strings_at_end_processed_p = 0,
           ignore_overlay_strings_at_pos_p = 0,
           glyph_not_available_p = 0,
           starts_in_middle_of_char_p = 1,
           face_before_selective_p = 1,
           constrain_row_ascent_descent_p = 1,
           line_wrap = TRUNCATE,
           base_face_id = -30880,
           c = 32767,
           len = 5128649,
           cmp_it = {
             stop_pos = 140737488324928,
             id = 22004728,
             ch = 0,
             lookback = -30784,
             nglyphs = 0,
             nchars = 31990088,
             nbytes = 0,
             from = 0,
             to = 0,
             width = 1
           },
           char_to_display = -30832,
           image_id = 32767,
           slice = {
             x = 6680760,
             y = 18419029,
             width = 4316971920,
             height = 140737488324544
           },
           space_width = 6681963,
           voffset = -30112,
           tab_width = -1,
           font_height = 22502971,
           object = 1,
           position = {
             charpos = 13155026,
             bytepos = 140737488325264
           },
           truncation_pixel_width = -24454,
           continuation_pixel_width = 67,
           first_visible_x = 0,
           last_visible_x = 13397378,
           last_visible_y = 0,
           extra_line_spacing = 22502931,
           max_extra_line_spacing = 0,
           override_ascent = -30176,
           override_descent = 32767,
           override_boff = 13155026,
           glyph_row = 0x7fffffff8880,
           area = 5760388,
           nglyphs = 0,
           pixel_width = 0,
           ascent = 0,
           descent = -30176,
           max_ascent = 32767,
           max_descent = -30164,
           phys_ascent = 32767,
           phys_descent = -30184,
           max_phys_ascent = 32767,
           max_phys_descent = -30656,
           current_x = 0,
           continuation_lines_width = 1,
           eol_pos = {
             charpos = 140737488324768,
             bytepos = 0
           },
           current_y = 22502971,
           first_vpos = 0,
           vpos = 31990088,
           hpos = 0,
           left_user_fringe_bitmap = 0,
           right_user_fringe_bitmap = 0,
           left_user_fringe_face_id = 0,
           right_user_fringe_face_id = 1,
           bidi_p = 0,
           bidi_it = {
             bytepos = 140737488324736,
             charpos = 6680760,
             ch = 18419029,
             ch_len = 0,
             type = 6690995,
             type_after_w1 = STRONG_L,
             orig_type = 13155026,
             resolved_level = 0,
             invalid_levels = 13399986,
             invalid_rl_levels = 0,
             prev_was_pdf = 40,
             prev = {
               bytepos = 0,
               charpos = 18419029,
               type = UNKNOWN_BT,
               type_after_w1 = 4294936800,
               orig_type = 32767
             },
             last_strong = {
               bytepos = 6690995,
               charpos = 0,
               type = 4294936832,
               type_after_w1 = STRONG_L,
               orig_type = 13155026
             },
             next_for_neutral = {
               bytepos = 0,
               charpos = 32391608,
               type = UNKNOWN_BT,
               type_after_w1 = 13155026,
               orig_type = UNKNOWN_BT
             },
             prev_for_neutral = {
               bytepos = 13155026,
               charpos = 0,
               type = 13155026,
               type_after_w1 = UNKNOWN_BT,
               orig_type = 4294936832
             },
             next_for_ws = {
               bytepos = 32767,
               charpos = 6690783,
               type = UNKNOWN_BT,
               type_after_w1 = 31990088,
               orig_type = UNKNOWN_BT
             },
             next_en_pos = 13155026,
             ignore_bn_limit = 140737488324928,
             sor = 6706715,
             scan_dir = 0,
             stack_idx = 164,
             level_stack = {{
                 level = 0,
                 override = 18419029
               }, {
                 level = 0,
                 override = 13399986
               }, {
                 level = 0,
                 override = 4
               }, {
                 level = 0,
                 override = 4
               }, {
                 level = 0,
                 override = 4
               }, {
                 level = 0,
                 override = 4294936992
               }, {
                 level = 32767,
                 override = 6725613
               }, {
                 level = 0,
                 override = 4294936976
               }, {
                 level = 32767,
                 override = 13155026
               }, {
                 level = 0,
                 override = 4294937112
               }, {
                 level = 32767,
                 override = 4294937128
               }, {
                 level = 32767,
                 override = 4294937136
               }, {
                 level = 32767,
                 override = 41
               }, {
                 level = 41,
                 override = 13155026
               }, {
                 level = 0,
                 override = 164
               }, {
                 level = 0,
                 override = 4294937008
               }, {
                 level = 32767,
                 override = 41
               }, {
                 level = 0,
                 override = 4294937168
               }, {
                 level = 32767,
                 override = 6736851
               }, {
                 level = 0,
                 override = 4294937040
               }, {
                 level = 32767,
                 override = 13155026
               }, {
                 level = 0,
                 override = 41
               }, {
                 level = 0,
                 override = 41
               }, {
                 level = 0,
                 override = 41
               }, {
                 level = 0,
                 override = 4294939728
               }, {
                 level = 32767,
                 override = 13399986
               }, {
                 level = 0,
                 override = 18419029
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13430080
               }, {
                 level = 0,
                 override = 31917911
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 32
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 500,
                 override = 31990088
               }, {
                 level = 0,
                 override = 4294939728
               }, {
                 level = 32767,
                 override = 4294937328
               }, {
                 level = 32767,
                 override = 4414381
               }, {
                 level = 0,
                 override = NEUTRAL_DIR
               }, {
                 level = 0,
                 override = 4294937712
               }, {
                 level = 32767,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13375234
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 4434723
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 9205528
               }, {
                 level = 0,
                 override = 42
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 0,
                 override = 4
               }, {
                 level = 0,
                 override = 404
               }, {
                 level = 0,
                 override = 18419029
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 4294937376
               }, {
                 level = 32767,
                 override = 4413502
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 0,
                 override = 4294937712
               }, {
                 level = 32767,
                 override = 9205624
               }},
             first_elt = 0,
             paragraph_dir = L2R,
             new_paragraph = 0,
             separator_limit = 140737488325488
           },
           paragraph_embedding = 4440034
         }
         may_wrap = 0
         wrap_x = 1
         wrap_row_used = -1
         wrap_row_ascent = 13155026
         wrap_row_height = 0
         wrap_row_phys_ascent = 33289552
         wrap_row_phys_height = 32767
         wrap_row_extra_line_spacing = -29600
         row_end = {
           pos = {
             charpos = 42,
             bytepos = 42
           },
           overlay_string_index = 0,
           string_pos = {
             charpos = 39,
             bytepos = 39
           },
           dpvec_index = -1
         }
         cvpos = -1
#2  0x0000000000452f60 in try_window (window=20417893, pos=..., 
check_margins=1) at /home/jhd/src/emacs/fixes/src/xdisp.c:14573
         w = 0x1378d60
         it = {
           window = 20417893,
           w = 0x1378d60,
           f = 0x11909b0,
           method = GET_FROM_STRING,
           stop_charpos = 80,
           prev_stop = 0,
           base_level_stop = 0,
           end_charpos = 80,
           s = 0x0,
           string_nchars = 0,
           region_beg_charpos = -1,
           region_end_charpos = -1,
           redisplay_end_trigger_charpos = 0,
           multibyte_p = 1,
           header_line_p = 0,
           string_from_display_prop_p = 0,
           ellipsis_p = 0,
           avoid_cursor_p = 0,
           dp = 0x0,
           dpvec = 0x0,
           dpend = 0x0,
           dpvec_char_len = 0,
           dpvec_face_id = 0,
           saved_face_id = 0,
           ctl_chars = {0 <repeats 16 times>},
           start = {
             pos = {
               charpos = 1,
               bytepos = 1
             },
             overlay_string_index = -1,
             string_pos = {
               charpos = -1,
               bytepos = -1
             },
             dpvec_index = -1
           },
           current = {
             pos = {
               charpos = 42,
               bytepos = 42
             },
             overlay_string_index = 0,
             string_pos = {
               charpos = 39,
               bytepos = 39
             },
             dpvec_index = -1
           },
           n_overlay_strings = 1,
           overlay_strings = {24508033, 0 <repeats 15 times>},
           string_overlays = {22503011, 0 <repeats 15 times>},
           string = 24508033,
           from_overlay = 13155026,
           stack = {{
               string = 13155026,
               string_nchars = 0,
               end_charpos = 42,
               stop_charpos = 42,
               prev_stop = 0,
               base_level_stop = 0,
               cmp_it = {
                 stop_pos = 42,
                 id = -1,
                 ch = -2,
                 lookback = 0,
                 nglyphs = 0,
                 nchars = 0,
                 nbytes = 0,
                 from = 0,
                 to = 0,
                 width = 0
               },
               face_id = 0,
               u = {
                 image = {
                   object = 0,
                   slice = {
                     x = 0,
                     y = 0,
                     width = 0,
                     height = 0
                   },
                   image_id = 0
                 },
                 comp = {
                   object = 0
                 },
                 stretch = {
                   object = 0
                 }
               },
               position = {
                 charpos = 41,
                 bytepos = 41
               },
               current = {
                 pos = {
                   charpos = 42,
                   bytepos = 42
                 },
                 overlay_string_index = 0,
                 string_pos = {
                   charpos = -1,
                   bytepos = -1
                 },
                 dpvec_index = -1
               },
               from_overlay = 0,
               area = TEXT_AREA,
               method = GET_FROM_BUFFER,
               multibyte_p = 1,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = WINDOW_WRAP,
               voffset = 0,
               space_width = 13155026,
               font_height = 13155026
             }, {
               string = 0,
               string_nchars = 0,
               end_charpos = 0,
               stop_charpos = 0,
               prev_stop = 0,
               base_level_stop = 0,
               cmp_it = {
                 stop_pos = 0,
                 id = 0,
                 ch = 0,
                 lookback = 0,
                 nglyphs = 0,
                 nchars = 0,
                 nbytes = 0,
                 from = 0,
                 to = 0,
                 width = 0
               },
               face_id = 0,
               u = {
                 image = {
                   object = 0,
                   slice = {
                     x = 0,
                     y = 0,
                     width = 0,
                     height = 0
                   },
                   image_id = 0
                 },
                 comp = {
                   object = 0
                 },
                 stretch = {
                   object = 0
                 }
               },
               position = {
                 charpos = 0,
                 bytepos = 0
               },
               current = {
                 pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 overlay_string_index = 0,
                 string_pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 dpvec_index = 0
               },
               from_overlay = 0,
               area = LEFT_MARGIN_AREA,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = 0,
               space_width = 0,
               font_height = 0
             }, {
               string = 0,
               string_nchars = 0,
               end_charpos = 0,
               stop_charpos = 0,
               prev_stop = 0,
               base_level_stop = 0,
               cmp_it = {
                 stop_pos = 0,
                 id = 0,
                 ch = 0,
                 lookback = 0,
                 nglyphs = 0,
                 nchars = 0,
                 nbytes = 0,
                 from = 0,
                 to = 0,
                 width = 0
               },
               face_id = 0,
               u = {
                 image = {
                   object = 0,
                   slice = {
                     x = 0,
                     y = 0,
                     width = 0,
                     height = 0
                   },
                   image_id = 0
                 },
                 comp = {
                   object = 0
                 },
                 stretch = {
                   object = 0
                 }
               },
               position = {
                 charpos = 0,
                 bytepos = 0
               },
               current = {
                 pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 overlay_string_index = 0,
                 string_pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 dpvec_index = 0
               },
               from_overlay = 0,
               area = LEFT_MARGIN_AREA,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = 0,
               space_width = 0,
               font_height = 0
             }, {
               string = 0,
               string_nchars = 0,
               end_charpos = 0,
               stop_charpos = 0,
               prev_stop = 0,
               base_level_stop = 0,
               cmp_it = {
                 stop_pos = 0,
                 id = 0,
                 ch = 0,
                 lookback = 0,
                 nglyphs = 0,
                 nchars = 0,
                 nbytes = 0,
                 from = 0,
                 to = 0,
                 width = 0
               },
               face_id = 0,
               u = {
                 image = {
                   object = 0,
                   slice = {
                     x = 0,
                     y = 0,
                     width = 0,
                     height = 0
                   },
                   image_id = 0
                 },
                 comp = {
                   object = 0
                 },
                 stretch = {
                   object = 0
                 }
               },
               position = {
                 charpos = 0,
                 bytepos = 0
               },
               current = {
                 pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 overlay_string_index = 0,
                 string_pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 dpvec_index = 0
               },
               from_overlay = 0,
               area = LEFT_MARGIN_AREA,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = 0,
               space_width = 0,
               font_height = 0
             }, {
               string = 0,
               string_nchars = 0,
               end_charpos = 0,
               stop_charpos = 0,
               prev_stop = 0,
               base_level_stop = 0,
               cmp_it = {
                 stop_pos = 0,
                 id = 0,
                 ch = 0,
                 lookback = 0,
                 nglyphs = 0,
                 nchars = 0,
                 nbytes = 0,
                 from = 0,
                 to = 0,
                 width = 0
               },
               face_id = 0,
               u = {
                 image = {
                   object = 0,
                   slice = {
                     x = 0,
                     y = 0,
                     width = 0,
                     height = 0
                   },
                   image_id = 0
                 },
                 comp = {
                   object = 0
                 },
                 stretch = {
                   object = 0
                 }
               },
               position = {
                 charpos = 0,
                 bytepos = 0
               },
               current = {
                 pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 overlay_string_index = 0,
                 string_pos = {
                   charpos = 0,
                   bytepos = 0
                 },
                 dpvec_index = 0
               },
               from_overlay = 0,
               area = LEFT_MARGIN_AREA,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = 0,
               space_width = 0,
               font_height = 0
             }},
           sp = 1,
           selective = 0,
           what = IT_CHARACTER,
           face_id = 0,
           selective_display_ellipsis_p = 1,
           ctl_arrow_p = 1,
           face_box_p = 0,
           start_of_box_run_p = 0,
           end_of_box_run_p = 0,
           overlay_strings_at_end_processed_p = 1,
           ignore_overlay_strings_at_pos_p = 0,
           glyph_not_available_p = 0,
           starts_in_middle_of_char_p = 0,
           face_before_selective_p = 0,
           constrain_row_ascent_descent_p = 0,
           line_wrap = WINDOW_WRAP,
           base_face_id = 0,
           c = 114,
           len = 1,
           cmp_it = {
             stop_pos = 80,
             id = -1,
             ch = -2,
             lookback = 0,
             nglyphs = 0,
             nchars = 0,
             nbytes = 0,
             from = 0,
             to = 0,
             width = 0
           },
           char_to_display = 101,
           image_id = 0,
           slice = {
             x = 13155026,
             y = 13155026,
             width = 13155026,
             height = 13155026
           },
           space_width = 13155026,
           voffset = 0,
           tab_width = 8,
           font_height = 13155026,
           object = 24508033,
           position = {
             charpos = 39,
             bytepos = 39
           },
           truncation_pixel_width = 0,
           continuation_pixel_width = 0,
           first_visible_x = 0,
           last_visible_x = 560,
           last_visible_y = 28,
           extra_line_spacing = 0,
           max_extra_line_spacing = 0,
           override_ascent = -1,
           override_descent = 0,
           override_boff = 0,
           glyph_row = 0x1fbf550,
           area = TEXT_AREA,
           nglyphs = 1,
           pixel_width = 7,
           ascent = 11,
           descent = 3,
           max_ascent = 0,
           max_descent = 0,
           phys_ascent = 6,
           phys_descent = 0,
           max_phys_ascent = 0,
           max_phys_descent = 0,
           current_x = 560,
           continuation_lines_width = 560,
           eol_pos = {
             charpos = 0,
             bytepos = 0
           },
           current_y = 0,
           first_vpos = 0,
           vpos = 0,
           hpos = 80,
           left_user_fringe_bitmap = 0,
           right_user_fringe_bitmap = 0,
           left_user_fringe_face_id = 0,
           right_user_fringe_face_id = 0,
           bidi_p = 0,
           bidi_it = {
             bytepos = 0,
             charpos = 0,
             ch = 0,
             ch_len = 0,
             type = UNKNOWN_BT,
             type_after_w1 = UNKNOWN_BT,
             orig_type = UNKNOWN_BT,
             resolved_level = 0,
             invalid_levels = 0,
             invalid_rl_levels = 0,
             prev_was_pdf = 0,
             prev = {
               bytepos = 0,
               charpos = 0,
               type = UNKNOWN_BT,
               type_after_w1 = UNKNOWN_BT,
               orig_type = UNKNOWN_BT
             },
             last_strong = {
               bytepos = 0,
               charpos = 0,
               type = UNKNOWN_BT,
               type_after_w1 = UNKNOWN_BT,
               orig_type = UNKNOWN_BT
             },
             next_for_neutral = {
               bytepos = 0,
               charpos = 0,
               type = UNKNOWN_BT,
               type_after_w1 = UNKNOWN_BT,
               orig_type = UNKNOWN_BT
             },
             prev_for_neutral = {
               bytepos = 0,
               charpos = 0,
               type = UNKNOWN_BT,
               type_after_w1 = UNKNOWN_BT,
               orig_type = UNKNOWN_BT
             },
             next_for_ws = {
               bytepos = 0,
               charpos = 0,
               type = UNKNOWN_BT,
               type_after_w1 = UNKNOWN_BT,
               orig_type = UNKNOWN_BT
             },
             next_en_pos = 0,
             ignore_bn_limit = 0,
             sor = NEUTRAL_DIR,
             scan_dir = 0,
             stack_idx = 0,
             level_stack = {{
                 level = 0,
                 override = NEUTRAL_DIR
               } <repeats 64 times>},
             first_elt = 0,
             paragraph_dir = NEUTRAL_DIR,
             new_paragraph = 0,
             separator_limit = 0
           },
           paragraph_embedding = NEUTRAL_DIR
         }
         last_text_row = 0x0
         f = 0x11909b0
#3  0x0000000000451bf5 in redisplay_window (window=20417893, 
just_this_one_p=0) at /home/jhd/src/emacs/fixes/src/xdisp.c:14196
         w = 0x1378d60
         f = 0x11909b0
         buffer = 0x1190d50
         old = 0x1190d50
         lpoint = {
           charpos = 42,
           bytepos = 42
         }
         opoint = {
           charpos = 42,
           bytepos = 42
         }
         startp = {
           charpos = 1,
           bytepos = 1
         }
         update_mode_line = 1
         tem = 0
         it = {
           window = 137438953504,
           w = 0x400000004,
           f = 0x136bf58,
           method = 29195702,
           stop_charpos = 0,
           prev_stop = 13077456,
           base_level_stop = 17179869184,
           end_charpos = 18250774,
           s = 0x7fffffff9910 "U\r\031\001",
           string_nchars = 28,
           region_beg_charpos = 140737488329008,
           region_end_charpos = 4699513,
           redisplay_end_trigger_charpos = 18419029,
           multibyte_p = 1,
           header_line_p = 0,
           string_from_display_prop_p = 1,
           ellipsis_p = 0,
           avoid_cursor_p = 1,
           dp = 0x7fffffff9940,
           dpvec = 0x1f47b30,
           dpend = 0x7fffffff99d0,
           dpvec_char_len = 6236221,
           dpvec_face_id = 0,
           saved_face_id = 13155026,
           ctl_chars = {115970353213, 16874770, 13155074, 0, 0, 
140737488329192, 1, 140737488329208, 13155026, 19587173, 16874770, 13431010, 
9206565, 4308359634, 13155026, 140737488330128},
           start = {
             pos = {
               charpos = 27,
               bytepos = 140737488330016
             },
             overlay_string_index = 6557142,
             string_pos = {
               charpos = 13155122,
               bytepos = 32799541
             },
             dpvec_index = 19587173
           },
           current = {
             pos = {
               charpos = 19587173,
               bytepos = 23311894
             },
             overlay_string_index = 13155026,
             string_pos = {
               charpos = 22798913,
               bytepos = 12
             },
             dpvec_index = 10963229
           },
           n_overlay_strings = 10963193,
           overlay_strings = {11521082, 0, 140737488329184, 10963193, 
11521067, 10963229, 140737488343776, 140737488329608, 140737488329424, 
6238474, 22798913, 13337163, 140737488329408, 6126324, 13155026, 13336146},
           string_overlays = {0, 0, 140737488329456, 19587173, 
140737488329456, 4332861, 140737488329488, 19587173, 140737488329616, 6236221, 
13155026, 115964116992, 16874770, 13155074, 0, 0},
           string = 140737488329640,
           from_overlay = 1,
           stack = {{
               string = 140737488329888,
               string_nchars = 13155122,
               end_charpos = 19587173,
               stop_charpos = 16874770,
               prev_stop = 13392338,
               base_level_stop = 9204069,
               cmp_it = {
                 stop_pos = 8589909712,
                 id = 13155026,
                 ch = 0,
                 lookback = -24768,
                 nglyphs = 32767,
                 nchars = 27,
                 nbytes = 0,
                 from = -24880,
                 to = 32767,
                 width = 6557142
               },
               face_id = 13155122,
               u = {
                 image = {
                   object = 19587173,
                   slice = {
                     x = 140737488329696,
                     y = 6126355,
                     width = 140737488329696,
                     height = 8
                   },
                   image_id = 10963085
                 },
                 comp = {
                   object = 19587173
                 },
                 stretch = {
                   object = 19587173
                 }
               },
               position = {
                 charpos = 10963049,
                 bytepos = 11521101
               },
               current = {
                 pos = {
                   charpos = 0,
                   bytepos = 140737488329632
                 },
                 overlay_string_index = 10963049,
                 string_pos = {
                   charpos = 11521083,
                   bytepos = 10963085
                 },
                 dpvec_index = -11552
               },
               from_overlay = 2,
               area = LEFT_MARGIN_AREA,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = 1065590662,
               voffset = 25862,
               space_width = 0,
               font_height = 1
             }, {
               string = 23356246,
               string_nchars = -25168,
               end_charpos = 140737488329984,
               stop_charpos = 140737488329976,
               prev_stop = 4294967295,
               base_level_stop = 11964589,
               cmp_it = {
                 stop_pos = 17237430,
                 id = 23356246,
                 ch = 0,
                 lookback = 1,
                 nglyphs = 0,
                 nchars = 13795330,
                 nbytes = 0,
                 from = 13206530,
                 to = 0,
                 width = -25088
               },
               face_id = 6231420,
               u = {
                 image = {
                   object = 13326050,
                   slice = {
                     x = 0,
                     y = 140737488330432,
                     width = 140737488330096,
                     height = 140737488329856
                   },
                   image_id = 11153142
                 },
                 comp = {
                   object = 13326050
                 },
                 stretch = {
                   object = 13326050
                 }
               },
               position = {
                 charpos = 4,
                 bytepos = 140737488329856
               },
               current = {
                 pos = {
                   charpos = 140733193388033,
                   bytepos = 11153142
                 },
                 overlay_string_index = 13155458,
                 string_pos = {
                   charpos = 14837798,
                   bytepos = 22854118
                 },
                 dpvec_index = 13155026
               },
               from_overlay = 140737488330048,
               area = 6274540,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 1,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = TRUNCATE,
               voffset = 4354,
               space_width = 140737488330400,
               font_height = 6231420
             }, {
               string = 4,
               string_nchars = 13155122,
               end_charpos = 140737488330432,
               stop_charpos = 11153078,
               prev_stop = 14684418,
               base_level_stop = 13155458,
               cmp_it = {
                 stop_pos = 11955925,
                 id = 1696395264,
                 ch = 1065590662,
                 lookback = 2,
                 nglyphs = 32767,
                 nchars = 13155026,
                 nbytes = 0,
                 from = 13155026,
                 to = 0,
                 width = 13155026
               },
               face_id = -24816,
               u = {
                 image = {
                   object = 140737488330336,
                   slice = {
                     x = 140737488330096,
                     y = 4294967298,
                     width = 11955781,
                     height = 140737488330096
                   },
                   image_id = 2
                 },
                 comp = {
                   object = 140737488330336
                 },
                 stretch = {
                   object = 140737488330336
                 }
               },
               position = {
                 charpos = 13155122,
                 bytepos = 13155026
               },
               current = {
                 pos = {
                   charpos = 13155026,
                   bytepos = 140737488330320
                 },
                 overlay_string_index = 6216666,
                 string_pos = {
                   charpos = 13226482,
                   bytepos = 17237494
                 },
                 dpvec_index = 11955781
               },
               from_overlay = 4576677045909385216,
               area = LEFT_MARGIN_AREA,
               method = GET_FROM_BUFFER,
               multibyte_p = 1,
               string_from_display_prop_p = 1,
               display_ellipsis_p = 0,
               avoid_cursor_p = 1,
               line_wrap = TRUNCATE,
               voffset = -17614,
               space_width = 115970243316,
               font_height = 140737488330672
             }, {
               string = 13223234,
               string_nchars = 13326050,
               end_charpos = 0,
               stop_charpos = 140737488330400,
               prev_stop = 6126355,
               base_level_stop = 19587173,
               cmp_it = {
                 stop_pos = 16874770,
                 id = 13155122,
                 ch = 0,
                 lookback = -25704,
                 nglyphs = 32767,
                 nchars = 10963096,
                 nbytes = 0,
                 from = 6230079,
                 to = 18,
                 width = 135
               },
               face_id = 13155026,
               u = {
                 image = {
                   object = 140737488330864,
                   slice = {
                     x = 140737488330560,
                     y = 140737488330544,
                     width = 6238474,
                     height = 22219064
                   },
                   image_id = 10962997
                 },
                 comp = {
                   object = 140737488330864
                 },
                 stretch = {
                   object = 140737488330864
                 }
               },
               position = {
                 charpos = 140733193388033,
                 bytepos = 5446236
               },
               current = {
                 pos = {
                   charpos = 13155026,
                   bytepos = 13155122
                 },
                 overlay_string_index = 0,
                 string_pos = {
                   charpos = 115964116992,
                   bytepos = 140737488330448
                 },
                 dpvec_index = 18888944
               },
               from_overlay = 140737488330752,
               area = 6237450,
               method = GET_FROM_BUFFER,
               multibyte_p = 0,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 0,
               line_wrap = 32767,
               voffset = 11289,
               space_width = 12,
               font_height = 4294967296
             }, {
               string = 13155026,
               string_nchars = 10962997,
               end_charpos = 13320466,
               stop_charpos = 13155122,
               prev_stop = 11964301,
               base_level_stop = 4576677045909385216,
               cmp_it = {
                 stop_pos = 11148072,
                 id = 13155026,
                 ch = 0,
                 lookback = 8,
                 nglyphs = 0,
                 nchars = 13155026,
                 nbytes = 0,
                 from = -24576,
                 to = 32767,
                 width = 11153014
               },
               face_id = 0,
               u = {
                 image = {
                   object = 0,
                   slice = {
                     x = 13155026,
                     y = 4576677045909385216,
                     width = 13221890,
                     height = 18888944
                   },
                   image_id = 13155026
                 },
                 comp = {
                   object = 0
                 },
                 stretch = {
                   object = 0
                 }
               },
               position = {
                 charpos = 13155026,
                 bytepos = 140737488331104
               },
               current = {
                 pos = {
                   charpos = 6231977,
                   bytepos = 0
                 },
                 overlay_string_index = 13525682,
                 string_pos = {
                   charpos = 140737488331008,
                   bytepos = 15046934
                 },
                 dpvec_index = 13155026
               },
               from_overlay = 13155026,
               area = 4294942976,
               method = 32767,
               multibyte_p = 1,
               string_from_display_prop_p = 0,
               display_ellipsis_p = 0,
               avoid_cursor_p = 1,
               line_wrap = TRUNCATE,
               voffset = -5392,
               space_width = 4300410987,
               font_height = 31603510
             }},
           sp = 11147941,
           selective = 0,
           what = 4294955536,
           face_id = 32767,
           selective_display_ellipsis_p = 0,
           ctl_arrow_p = 0,
           face_box_p = 0,
           start_of_box_run_p = 0,
           end_of_box_run_p = 0,
           overlay_strings_at_end_processed_p = 1,
           ignore_overlay_strings_at_pos_p = 0,
           glyph_not_available_p = 0,
           starts_in_middle_of_char_p = 1,
           face_before_selective_p = 0,
           constrain_row_ascent_descent_p = 0,
           line_wrap = 32767,
           base_face_id = -24768,
           c = 32767,
           len = 0,
           cmp_it = {
             stop_pos = 140737488330960,
             id = -24528,
             ch = 32767,
             lookback = 1,
             nglyphs = 0,
             nchars = 19610304,
             nbytes = 0,
             from = 0,
             to = 0,
             width = 20779440
           },
           char_to_display = 1,
           image_id = 0,
           slice = {
             x = 4,
             y = 13155026,
             width = 4576677045909385216,
             height = 4689328
           },
           space_width = 13198578,
           voffset = -17710,
           tab_width = 200,
           font_height = 13155026,
           object = 4,
           position = {
             charpos = 6231977,
             bytepos = 27392448
           },
           truncation_pixel_width = -17710,
           continuation_pixel_width = 200,
           first_visible_x = 0,
           last_visible_x = 18440802,
           last_visible_y = 0,
           extra_line_spacing = 13155122,
           max_extra_line_spacing = 0,
           override_ascent = 10962997,
           override_descent = 0,
           override_boff = 1696395264,
           glyph_row = 0x130eaf0,
           area = 18888944,
           nglyphs = 0,
           pixel_width = 13155026,
           ascent = 0,
           descent = 13155026,
           max_ascent = 0,
           max_descent = -23856,
           phys_ascent = 32767,
           phys_descent = 6224916,
           max_phys_ascent = 0,
           max_phys_descent = 23130896,
           current_x = 0,
           continuation_lines_width = 13434514,
           eol_pos = {
             charpos = 15046934,
             bytepos = 6229996
           },
           current_y = 13155026,
           first_vpos = 0,
           vpos = 13155026,
           hpos = 0,
           left_user_fringe_bitmap = 52192,
           right_user_fringe_bitmap = 65535,
           left_user_fringe_face_id = 32767,
           right_user_fringe_face_id = 0,
           bidi_p = 0,
           bidi_it = {
             bytepos = 18888944,
             charpos = 7894497232318403840,
             ch = 13155026,
             ch_len = 0,
             type = 13399139,
             type_after_w1 = UNKNOWN_BT,
             orig_type = 4294943280,
             resolved_level = 32767,
             invalid_levels = 6127823,
             invalid_rl_levels = 0,
             prev_was_pdf = -337341184,
             prev = {
               bytepos = 1,
               charpos = 23130896,
               type = UNKNOWN_BT,
               type_after_w1 = UNKNOWN_BT,
               orig_type = 32767
             },
             last_strong = {
               bytepos = 6680760,
               charpos = 0,
               type = 23130901,
               type_after_w1 = UNKNOWN_BT,
               orig_type = 13155026
             },
             next_for_neutral = {
               bytepos = 0,
               charpos = 13155026,
               type = UNKNOWN_BT,
               type_after_w1 = 13155026,
               orig_type = UNKNOWN_BT
             },
             prev_for_neutral = {
               bytepos = 13155026,
               charpos = 0,
               type = 13372466,
               type_after_w1 = UNKNOWN_BT,
               orig_type = 4294943440
             },
             next_for_ws = {
               bytepos = 32767,
               charpos = 6240445,
               type = UNKNOWN_BT,
               type_after_w1 = 13155122,
               orig_type = UNKNOWN_BT
             },
             next_en_pos = 111682548835,
             ignore_bn_limit = 13434514,
             sor = 13155026,
             scan_dir = 0,
             stack_idx = 0,
             level_stack = {{
                 level = 0,
                 override = NEUTRAL_DIR
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 4294955536
               }, {
                 level = 32767,
                 override = 11151125
               }, {
                 level = 0,
                 override = 11151125
               }, {
                 level = 0,
                 override = 4294943488
               }, {
                 level = 32767,
                 override = 5679776
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 0,
                 override = 11151125
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 4294954224
               }, {
                 level = 32767,
                 override = 18888944
               }, {
                 level = 0,
                 override = 4294943488
               }, {
                 level = 32767,
                 override = 5636408
               }, {
                 level = 0,
                 override = 3991180544
               }, {
                 level = 1,
                 override = 15046934
               }, {
                 level = 0,
                 override = 13155122
               }, {
                 level = 0,
                 override = 11151125
               }, {
                 level = 0,
                 override = 4294943600
               }, {
                 level = 32767,
                 override = 5641265
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13576066
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 13372466
               }, {
                 level = 0,
                 override = 4294943696
               }, {
                 level = 32767,
                 override = 4072395178
               }, {
                 level = 32767,
                 override = 24904230
               }, {
                 level = 0,
                 override = 4294943600
               }, {
                 level = 32767,
                 override = 13155026
               }, {
                 level = 0,
                 override = 5641702
               }, {
                 level = 0,
                 override = 18888960
               }, {
                 level = 0,
                 override = 33295352
               }, {
                 level = 0,
                 override = 4294943728
               }, {
                 level = 32767,
                 override = 5640075
               }, {
                 level = 0,
                 override = NEUTRAL_DIR
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 24904230
               }, {
                 level = 0,
                 override = 13576066
               }, {
                 level = 0,
                 override = 13208466
               }, {
                 level = 0,
                 override = 14109558
               }, {
                 level = 0,
                 override = 14109238
               }, {
                 level = 0,
                 override = 13155026
               }, {
                 level = 0,
                 override = 4294943712
               }, {
                 level = 32767,
                 override = 6274540
               }, {
                 level = 0,
                 override = 13208466
               }, {
                 level = 0,
                 override = 13198578
               }, {
                 level = 0,
                 override = 4294943808
               }, {
                 level = 32767,
                 override = 5623824
               }, {
                 level = 0,
                 override = 13198578
               }, {
                 level = 0,
                 override = 5623004
               }, {
                 level = 0,
                 override = 4294943856
               }, {
                 level = 32767,
                 override = 13155026
               }, {
                 level = 0,
                 override = L2R
               }, {
                 level = 1,
                 override = 13155026
               }, {
                 level = 0,
                 override = NEUTRAL_DIR
               }, {
                 level = 0,
                 override = 15006342
               }, {
                 level = 0,
                 override = 13198578
               }, {
                 level = 0,
                 override = 13198578
               }, {
                 level = 0,
                 override = 4294943856
               }, {
                 level = 32767,
                 override = 31673521
               }, {
                 level = 0,
                 override = 4294943984
               }, {
                 level = 32767,
                 override = 26338401
               }, {
                 level = 0,
                 override = 121
               }},
             first_elt = 0,
             paragraph_dir = 13155026,
             new_paragraph = 0,
             separator_limit = 13372466
           },
           paragraph_embedding = 6277452
         }
         current_matrix_up_to_date_p = 0
         used_current_matrix_p = 0
         buffer_unchanged_p = 0
         temp_scroll_step = 0
         count = 22
         rc = 21899683
         centering_position = -1
         last_line_misfit = 0
         beg_unchanged = 41
         end_unchanged = 0
#4  0x000000000044caeb in redisplay_window_0 (window=20417893) at 
/home/jhd/src/emacs/fixes/src/xdisp.c:12505
No locals.
#5  0x00000000005efc14 in internal_condition_case_1 (bfun=0x44caac 
<redisplay_window_0>, arg=20417893, handlers=13137494, hfun=0x44ca81 
<redisplay_window_error>) at /home/jhd/src/emacs/fixes/src/eval.c:1538
         val = 13155026
         c = {
           tag = 13155026,
           val = 13155026,
           next = 0x7fffffffcbe0,
           gcpro = 0x0,
           jmp = {{
               __jmpbuf = {704, 7894497232188380416, 13155026, 13155026, 
13155026, 13372466, 7894497232142243072, -7894497724985993984},
               __mask_was_saved = 0,
               __saved_mask = {
                 __val = {13391971, 140737488332416, 6127823, 8589911680, 
18419024, 1, 33294405, 19587173, 13155026, 13155026, 13155026, 13155026, 
13372466, 23745875, 13437826, 13155026}
               }
             }},
           backlist = 0x7fffffffd210,
           handlerlist = 0x7fffffffccf0,
           lisp_eval_depth = 4,
           pdlcount = 22,
           poll_suppress_count = 1,
           interrupt_input_blocked = 0,
           byte_stack = 0x7fffffffd2e0
         }
         h = {
           handler = 13137494,
           var = 13155026,
           chosen_clause = 140737488332576,
           tag = 0x7fffffffa5b0,
           next = 0x7fffffffccf0
         }
#6  0x000000000044ca62 in redisplay_windows (window=20417893) at 
/home/jhd/src/emacs/fixes/src/xdisp.c:12484
         w = 0x1378d60
#7  0x000000000044bb63 in redisplay_internal (preserve_echo_area=1) at 
/home/jhd/src/emacs/fixes/src/xdisp.c:12056
         f = 0x11909b0
         tail = 25025750
         frame = 18418101
         w = 0x1378d60
         f = 0x11909b0
         pause = 0
         must_finish = 0
         tlbufpos = {
           charpos = 0,
           bytepos = 1
         }
         tlendpos = {
           charpos = 0,
           bytepos = 0
         }
         number_of_visible_frames = 2
         count = 20
         count1 = 22
         sf = 0x11909b0
         polling_stopped_here = 0
         old_frame = 18418101
         consider_all_windows_p = 1
#8  0x000000000044c386 in redisplay_preserve_echo_area (from_where=11) at 
/home/jhd/src/emacs/fixes/src/xdisp.c:12308
No locals.
#9  0x000000000064d0f9 in wait_reading_process_output (time_limit=45, 
microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=13155026, wait_proc=0x0, 
just_wait_proc=0) at /home/jhd/src/emacs/fixes/src/process.c:4882
         timeout_reduced_for_timers = 1
         channel = -16032
         nfds = -16032
         Available = {
           fds_bits = {32, 0 <repeats 15 times>}
         }
         Connecting = {
           fds_bits = {0 <repeats 16 times>}
         }
         check_connect = 0
         check_delay = 0
         no_avail = 0
         xerrno = 0
         proc = 0
         timeout = {
           tv_sec = 0,
           tv_usec = 499975
         }
         end_time = {
           tv_sec = 1270667036,
           tv_usec = 56054
         }
         wait_channel = -1
         got_some_input = 0
         count = 19
#10 0x00000000004209af in sit_for (timeout=180, reading=1, do_display=1) at 
/home/jhd/src/emacs/fixes/src/dispnew.c:6263
         sec = 45
         usec = 0
#11 0x0000000000556ad2 in read_char (commandflag=1, nmaps=2, 
maps=0x7fffffffc720, prev_event=13155026, used_mouse_menu=0x7fffffffc9f8, 
end_time=0x0) at /home/jhd/src/emacs/fixes/src/keyboard.c:2820
         tem0 = 14649027
         timeout = 45
         delay_level = 6
         buffer_size = 54
         c = 13155026
         count = 0
         jmpcount = 19
         local_getcjmp = {{
             __jmpbuf = {2, 7894497228965057792, 13155026, 13155026, 13155026, 
13372466, 7894497229122344192, -7894497669105281792},
             __mask_was_saved = 0,
             __saved_mask = {
               __val = {18419029, 13201138, 164, 140737488340672, 6159119, 
22503011, 13155026, 13155026, 85912718386, 140737488340416, 6240445, 13155026, 
85905435005, 13342898, 13155026, 0}
             }
           }}
         save_jump = {{
             __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0},
             __mask_was_saved = 0,
             __saved_mask = {
               __val = {0 <repeats 16 times>}
             }
           }}
         key_already_recorded = 0
         tem = 18419024
         save = 6126324
         previous_echo_area_message = 13155026
         also_record = 13155026
         reread = 0
         gcpro1 = {
           next = 0x7fffffffc600,
           var = 0x5f310a,
           nvars = 2
         }
         gcpro2 = {
           next = 0x1400000087,
           var = 0xc8bad2,
           nvars = 13206530
         }
         polling_stopped_here = 0
         orig_kboard = 0x11bd9e0
#12 0x00000000005630d1 in read_key_sequence (keybuf=0x7fffffffca60, 
bufsize=30, prompt=13155026, dont_downcase_last=0, can_return_switch_frame=1, 
fix_current_buffer=1) at /home/jhd/src/emacs/fixes/src/keyboard.c:9350
         interrupted_kboard = 0x11bd9e0
         interrupted_frame = 0x11909b0
         key = 20417893
         used_mouse_menu = 0
         echo_local_start = 0
         last_real_key_start = 0
         keys_local_start = 0
         local_first_binding = 0
         from_string = 13155026
         count = 19
         t = 0
         echo_start = 0
         keys_start = 0
         nmaps = 2
         nmaps_allocated = 2
         defs = 0x7fffffffc700
         submaps = 0x7fffffffc720
         orig_local_map = 13147942
         orig_keymap = 13155026
         localized_local_map = 0
         first_binding = 0
         first_unbound = 31
         mock_input = 0
         fkey = {
           parent = 17840454,
           map = 17840454,
           start = 0,
           end = 0
         }
         keytran = {
           parent = 13146598,
           map = 13146598,
           start = 0,
           end = 0
         }
         indec = {
           parent = 17840438,
           map = 17840438,
           start = 0,
           end = 0
         }
         shift_translated = 0
         delayed_switch_frame = 13155026
         original_uppercase = 42
         original_uppercase_position = -1
         dummyflag = 0
         starting_buffer = 0x1190d50
         fake_prefixed_keys = 13155026
         gcpro1 = {
           next = 0x7fffffffc820,
           var = 0x48156c,
           nvars = 13155026
         }
#13 0x0000000000554642 in command_loop_1 () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:1637
         cmd = 13206530
         lose = 32767
         keybuf = {480, 6702688, 0, 18419029, 13435074, 160, 140737488342112, 
6703505, 23026774, 0, 0, 0, 0, 31990088, 0, 1, 140737488341760, 6680760, 
18419029, 4301658291, 13155026, 13399986, 40, 18419029, 140737488341856, 
6690995, 8589921152, 13155026, 13155026, 77324471282}
         i = 1
         prev_modiff = 934
         prev_buffer = 0x1190d50
         already_adjusted = 0
#14 0x00000000005efa96 in internal_condition_case (bfun=0x554282 
<command_loop_1>, handlers=13222130, hfun=0x553b5b <cmd_error>) at 
/home/jhd/src/emacs/fixes/src/eval.c:1490
         val = -4294967297
         c = {
           tag = 13155026,
           val = 13155026,
           next = 0x7fffffffcd70,
           gcpro = 0x0,
           jmp = {{
               __jmpbuf = {164, 7894497229208327424, 13155026, 13155026, 
13155026, 13372466, 7894497229397071104, -7894497725001198336},
               __mask_was_saved = 0,
               __saved_mask = {
                 __val = {4576677045909385216, 140737488342432, 4294967456, 
140737488342512, 140737488342432, 140737488342440, 0, 39, 13155026, 18419029, 
13369819, 15060002, 10281605, 13155026, 4576677045909385216, 0}
               }
             }},
           backlist = 0x7fffffffd210,
           handlerlist = 0x7fffffffe0a0,
           lisp_eval_depth = 4,
           pdlcount = 19,
           poll_suppress_count = 1,
           interrupt_input_blocked = 0,
           byte_stack = 0x7fffffffd2e0
         }
         h = {
           handler = 13222130,
           var = 13155026,
           chosen_clause = 140737488342584,
           tag = 0x7fffffffcbe0,
           next = 0x7fffffffe0a0
         }
#15 0x0000000000553f80 in command_loop_2 () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:1356
         val = 164
#16 0x00000000005ef45c in internal_catch (tag=13318386, func=0x553f5e 
<command_loop_2>, arg=13155026) at /home/jhd/src/emacs/fixes/src/eval.c:1226
         c = {
           tag = 13318386,
           val = 13155026,
           next = 0x7fffffffdf90,
           gcpro = 0x0,
           jmp = {{
               __jmpbuf = {164, 7894497229220910336, 13155026, 13155026, 
13155026, 13372466, 7894497229214618880, -7894497725465193216},
               __mask_was_saved = 0,
               __saved_mask = {
                 __val = {18419024, 140737488342688, 13399139, 
140737488342608, 6127823, 8589921960, 18419024, 13155026, 13399139, 
140737488342608, 13155026, 13155026, 13155026, 13155026, 13372466, 
140737488342688}
               }
             }},
           backlist = 0x7fffffffd210,
           handlerlist = 0x7fffffffe0a0,
           lisp_eval_depth = 4,
           pdlcount = 19,
           poll_suppress_count = 1,
           interrupt_input_blocked = 0,
           byte_stack = 0x7fffffffd2e0
         }
#17 0x0000000000553ee0 in command_loop () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:1321
         val = 164
#18 0x000000000055368f in recursive_edit_1 () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:950
         count = 18
         val = 13155026
#19 0x0000000000590345 in read_minibuf (map=13147942, initial=13155026, 
prompt=27343169, backup_n=0, expflag=0, histvar=13372466, histpos=0, 
defalt=25935697, allow_props=0, inherit_input_method=0) at 
/home/jhd/src/emacs/fixes/src/minibuf.c:740
         val = 13155026
         count = 11
         mini_frame = 18418101
         ambient_dir = 22899937
         minibuffer = 18419029
         input_method = 13155026
         gcpro1 = {
           next = 0x10,
           var = 0x250000001a,
           nvars = 0
         }
         gcpro2 = {
           next = 0x7fffffffcf00,
           var = 0x5e79d0,
           nvars = -1
         }
         gcpro3 = {
           next = 0x1d9de70,
           var = 0xcc0ba2,
           nvars = 257
         }
         gcpro4 = {
           next = 0xb0000000b,
           var = 0xb00000000,
           nvars = 16
         }
         gcpro5 = {
           next = 0x203a29682e73676e,
           var = 0x1100000068,
           nvars = 1
         }
         enable_multibyte = 13155026
         pos = 0
         histstring = 13372466
         empty_minibuf = 13309205
         dummy = 13155026
         frame = 19587173
#20 0x00000000005926dd in Fcompleting_read (prompt=27343169, 
collection=13375042, predicate=13155026, require_match=14446338, 
initial_input=13155026, hist=13372466, def=25935697, 
inherit_input_method=13155026) at /home/jhd/src/emacs/fixes/src/minibuf.c:1824
         val = 13375042
         histvar = 13372466
         histpos = 0
         position = 13155026
         init = 13155026
         pos = 0
         count = 8
         gcpro1 = {
           next = 0x692b2a,
           var = 0xc8bad2,
           nvars = -11984
         }
#21 0x00000000005912ef in Fread_buffer (prompt=27343169, def=25935697, 
require_match=14446338) at /home/jhd/src/emacs/fixes/src/minibuf.c:1236
         args = {27343233, 27343489, 25935697, 6238474}
         result = 0
         s = 0x190d108 "Switch to buffer: "
         len = 16
         count = 7
#22 0x00000000005f289d in Ffuncall (nargs=4, args=0x7fffffffd290) at 
/home/jhd/src/emacs/fixes/src/eval.c:3030
         fun = 9236717
         original_fun = 13375090
         funcar = 14446482
         numargs = 3
         lisp_numargs = 13155026
         val = 14446338
         backtrace = {
           next = 0x7fffffffd780,
           function = 0x7fffffffd290,
           args = 0x7fffffffd298,
           nargs = 3,
           evalargs = 0 '\000',
           debug_on_exit = 0 '\000'
         }
         internal_args = 0x7fffffffd298
         i = 1
#23 0x0000000000640d1e in Fbyte_code (bytestr=9576929, vector=9576965, 
maxdepth=16) at /home/jhd/src/emacs/fixes/src/bytecode.c:680
         count = 4
         op = 3
         vectorp = 0x922210
         bytestr_length = 24
         stack = {
           pc = 0xb50a20 "+\207",
           top = 0x7fffffffd2a8,
           bottom = 0x7fffffffd290,
           byte_string = 9576929,
           byte_string_start = 0xb50a0a "\303 
\030\304\031\305\021Ǝ\307\310\t\"\210\311\n\312p!\313 #+\207",
           constants = 9576965,
           next = 0x0
         }
         top = 0x7fffffffd290
         result = 27343617
#24 0x00000000005f30f5 in funcall_lambda (fun=9576861, nargs=1, 
arg_vector=0x7fffffffd640) at /home/jhd/src/emacs/fixes/src/eval.c:3211
         val = 4576677045909385216
         syms_left = 13155026
         next = 13648146
         count = 3
         i = 1
         optional = 0
         rest = 0
#25 0x00000000005f2d0a in apply_lambda (fun=9576861, args=31555350, 
eval_flag=1) at /home/jhd/src/emacs/fixes/src/eval.c:3135
         args_left = 13155026
         numargs = 4
         arg_vector = 0x7fffffffd640
         gcpro1 = {
           next = 0x11909b5,
           var = 0x188,
           nvars = 1
         }
         gcpro2 = {
           next = 0xffffd59000000001,
           var = 0xffffd61000000000,
           nvars = -10448
         }
         gcpro3 = {
           next = 0xae98af,
           var = 0xabd475,
           nvars = 0
         }
         i = 1
         tem = 27343617
#26 0x00000000005f17a9 in Feval (form=31555398) at 
/home/jhd/src/emacs/fixes/src/eval.c:2388
         fun = 9576861
         val = 14079622
         original_fun = 14446386
         original_args = 31555350
         funcar = 0
         backtrace = {
           next = 0x7fffffffd900,
           function = 0x7fffffffd830,
           args = 0x7fffffffd640,
           nargs = 1,
           evalargs = 0 '\000',
           debug_on_exit = 0 '\000'
         }
         gcpro1 = {
           next = 0x0,
           var = 0xc8bad2,
           nvars = 0
         }
         gcpro2 = {
           next = 0xd6d686,
           var = 0xd6d686,
           nvars = -10176
         }
         gcpro3 = {
           next = 0x0,
           var = 0x0,
           nvars = 0
         }
#27 0x00000000005f13ff in Feval (form=31555414) at 
/home/jhd/src/emacs/fixes/src/eval.c:2311
         vals = 0x7fffffffd890
         argnum = 0
         numargs = 4
         args_left = 31555334
         i = 0
         maxargs = -10096
         argvals = {51, 27343969, 0, 0, 27343969, 13155026, 140737488345408, 
6417542}
         fun = 11955253
         val = 13155026
         original_fun = 13235874
         original_args = 31555334
         funcar = 140737488345536
         backtrace = {
           next = 0x7fffffffdca0,
           function = 0x7fffffffd9b0,
           args = 0x7fffffffd9a8,
           nargs = -1,
           evalargs = 1 '\001',
           debug_on_exit = 0 '\000'
         }
         gcpro1 = {
           next = 0x7fffffffd980,
           var = 0x5d03be,
           nvars = 31555414
         }
         gcpro2 = {
           next = 0x1e17ee6,
           var = 0xcb3922,
           nvars = 13155026
         }
         gcpro3 = {
           next = 0xcc,
           var = 0x7fffffffd890,
           nvars = 0
         }
#28 0x00000000005eb78f in Fcall_interactively (function=13341186, 
record_flag=13155026, keys=29947477) at 
/home/jhd/src/emacs/fixes/src/callint.c:365
         input = 31555414
         args = 0x7fffffffdaa0
         visargs = 0x100c8bad2
         specs = 31555414
         filter_specs = 31555414
         teml = 8192
         up_event = 13155026
         enable = 13155026
         speccount = 3
         next_event = -134232508
         prefix_arg = 13155026
         string = 0x0
         tem = 0x0
         varies = 0x0
         i = 14997
         j = 14997
         count = 32767
         foo = -9536
         prompt1 = "ؽ\030\001", '\000' <repeats 12 times>"\340, 
\332\377\377\377\177\000\000\355\306\377\367\377\177\000\000н\030\001", '\000' 
<repeats 12 times>, "Һ\310", '\000' <repeats 13 times>, 
"Q\206P\000\000\000\000\000\001", '\000' <repeats 15 times>, 
"B\205\311\000\001\000\000\000\000 \000"
         tem1 = 0x0
         arg_from_tty = 0
         gcpro1 = {
           next = 0x0,
           var = 0xf423f,
           nvars = 0
         }
         gcpro2 = {
           next = 0xc98b92,
           var = 0x65adb3,
           nvars = 0
         }
         gcpro3 = {
           next = 0x1,
           var = 0x4135d0,
           nvars = -9488
         }
         gcpro4 = {
           next = 0x7fffffffdad0,
           var = 0x0,
           nvars = -9600
         }
         gcpro5 = {
           next = 0xc96ef2,
           var = 0x3f839f86651cf000,
           nvars = -9632
         }
         key_count = 2
         record_then_fail = 0
         save_this_command = 13341186
         save_last_command = 22706098
         save_this_original_command = 13341186
         save_real_this_command = 13341186
#29 0x00000000005f289d in Ffuncall (nargs=4, args=0x7fffffffdd40) at 
/home/jhd/src/emacs/fixes/src/eval.c:3030
         fun = 11964109
         original_fun = 13342850
         funcar = 0
         numargs = 3
         lisp_numargs = 0
         val = 0
         backtrace = {
           next = 0x0,
           function = 0x7fffffffdd40,
           args = 0x7fffffffdd48,
           nargs = 3,
           evalargs = 0 '\000',
           debug_on_exit = 0 '\000'
         }
         internal_args = 0x7fffffffdd48
         i = 13155026
#30 0x00000000005f22b1 in call3 (fn=13342850, arg1=13341186, arg2=13155026, 
arg3=13155026) at /home/jhd/src/emacs/fixes/src/eval.c:2850
         ret_ungc_val = 13155026
         gcpro1 = {
           next = 0x7fffffffdd80,
           var = 0x8ce7bd,
           nvars = 4
         }
         args = {13342850, 13341186, 13155026, 13155026}
#31 0x0000000000565be8 in Fcommand_execute (cmd=13341186, 
record_flag=13155026, keys=13155026, special=13155026) at 
/home/jhd/src/emacs/fixes/src/keyboard.c:10345
         final = 13341186
         tem = 13155026
         prefixarg = 13155026
#32 0x0000000000554a9f in command_loop_1 () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:1756
         scount = 2
         cmd = 13341186
         lose = 0
         keybuf = {96, 392, 13155122, 31315574, 602, 2946347565070, 34, 0, 
140737488346736, 9255846, 140737488346608, 18418096, 13155026, 13155026, 
9255857, 13222178, 4071872848, 4576677045909385216, 140737488346800, 13155122, 
140737488346864, 5586575, 140737488346912, 31315574, 140737265317216, 
18418096, 0, 4273616, 140737488346976, 5586051}
         i = 2
         prev_modiff = 8827
         prev_buffer = 0x1d9de70
         already_adjusted = 0
#33 0x00000000005efa96 in internal_condition_case (bfun=0x554282 
<command_loop_1>, handlers=13222130, hfun=0x553b5b <cmd_error>) at 
/home/jhd/src/emacs/fixes/src/eval.c:1490
         val = 140737488347040
         c = {
           tag = 13155026,
           val = 13155026,
           next = 0x7fffffffe120,
           gcpro = 0x0,
           jmp = {{
               __jmpbuf = {0, 7894497230103811328, 4273616, 140737488348912, 
0, 0, 7894497228749051136, -7894497725001198336},
               __mask_was_saved = 0,
               __saved_mask = {
                 __val = {10552246348708353280, 0, 0, 140737265288512, 
140737353893064, 140737488347280, 4294967295, 5632164, 0, 4273616, 
140737488348912, 0, 0, 9200528, 140737351963084, 1}
               }
             }},
           backlist = 0x0,
           handlerlist = 0x0,
           lisp_eval_depth = 0,
           pdlcount = 2,
           poll_suppress_count = 1,
           interrupt_input_blocked = 0,
           byte_stack = 0x0
         }
         h = {
           handler = 13222130,
           var = 13155026,
           chosen_clause = 13155122,
           tag = 0x7fffffffdf90,
           next = 0x0
         }
#34 0x0000000000553f80 in command_loop_2 () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:1356
         val = 0
#35 0x00000000005ef45c in internal_catch (tag=13214946, func=0x553f5e 
<command_loop_2>, arg=13155026) at /home/jhd/src/emacs/fixes/src/eval.c:1226
         c = {
           tag = 13214946,
           val = 13155026,
           next = 0x0,
           gcpro = 0x0,
           jmp = {{
               __jmpbuf = {1, 7894497230183503104, 4273616, 140737488348912, 
0, 0, 7894497230143657216, -7894497725465193216},
               __mask_was_saved = 0,
               __saved_mask = {
                 __val = {0, 0, 13399139, 140737488347648, 6127823, 
8589927020, 13195104, 60129542166, 13399139, 140737488347648, 13155026, 
4273616, 140737488348912, 0, 0, 140737488347728}
               }
             }},
           backlist = 0x0,
           handlerlist = 0x0,
           lisp_eval_depth = 0,
           pdlcount = 2,
           poll_suppress_count = 1,
           interrupt_input_blocked = 0,
           byte_stack = 0x0
         }
#36 0x0000000000553f35 in command_loop () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:1335
No locals.
#37 0x000000000055368f in recursive_edit_1 () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:950
         count = 1
         val = 13155026
#38 0x0000000000553845 in Frecursive_edit () at 
/home/jhd/src/emacs/fixes/src/keyboard.c:1012
         count = 0
         buffer = 13155026
#39 0x0000000000551bfa in main (argc=1, argv=0x7fffffffe6f8) at 
/home/jhd/src/emacs/fixes/src/emacs.c:1784
         dummy = 4259913
         stack_bottom_variable = 0 '\000'
         do_initial_setlocale = 1
         skip_args = 0
         rlim = {
           rlim_cur = 8720000,
           rlim_max = 18446744073709551615
         }
         no_loadup = 0
         junk = 0x0
         dname_arg = 0x0

Lisp Backtrace:
"read-buffer" (0xffffd298)
"read-buffer-to-switch" (0xffffd640)
"list" (0xffffd9a8)
"call-interactively" (0xffffdd48)

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
     `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/opt/emacs-cvs/share/emacs/24.0.50/etc/DEBUG.


In GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.18.3)
  of 2010-04-07 on gaffa
Windowing system distributor `The X.Org Foundation', version 11.0.10604000
configured using `configure  '--prefix=/opt/emacs-cvs' '--verbose' 
'--enable-asserts' 'CFLAGS=-g''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: C
   value of $LC_CTYPE: nil
   value of $LC_MESSAGES: nil
   value of $LC_MONETARY: nil
   value of $LC_NUMERIC: nil
   value of $LC_TIME: nil
   value of $LANG: sv_SE.UTF-8
   value of $XMODIFIERS: nil
   locale-coding-system: utf-8-unix
   default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   desktop-save-mode: t
   delete-selection-mode: t
   icomplete-mode: t
   display-time-mode: t
   tooltip-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
<help-echo> M-x r e p o r t - <tab> <return>

Recent messages:
Loading /home/jhd/lib/elisp/BAK-file.el (source)...done
Loading /home/jhd/lib/elisp/ccsetup.el (source)...done
Loading icomplete...done
Loading desktop...done
Loading /home/jhd/lib/elisp/saveframe.el (source)...done
No desktop file.
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr message sendmail rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
emacsbug desktop cus-start cus-load msb delsel icomplete cc-mode
cc-fonts easymenu cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs regexp-opt time tooltip ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd font-setting tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev loaddefs button minibuffer faces cus-face files text-properties
overlay md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)







^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-07 19:11 bug#5856: 24.0.50; Crash in redisplay Jan Djärv
@ 2010-04-07 20:27 ` Eli Zaretskii
  2010-04-08  6:16   ` Jan Djärv
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2010-04-07 20:27 UTC (permalink / raw)
  To: Jan Djärv; +Cc: 5856

> Date: Wed, 07 Apr 2010 21:11:13 +0200
> From: Jan Djärv <jan.h.d@swipnet.se>
> Cc: 
> 
> Sometimes I get a segmentation violation and emacs dies.
> I just managed to catch it in the debugger.  Backtrace below (very long,
> but instructions says to give bt full),
> Let me know if you need more info, I'll keep it in the debugger for a
> couple of days.  This is from trunk, updated and built today (Apr 7, 2010).
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x000000000044d2f1 in set_cursor_from_row (w=0x1378d60, row=0x1fbf550,
>      matrix=0x18217a0, delta=0, delta_bytes=0, dy=0, dvpos=0)
>      at /home/jhd/src/emacs/fixes/src/xdisp.c:12775
> 12775	  if (!(BUFFERP (glyph->object) && glyph->charpos == pt_old)

Ouch!  My bad, probably.

First, what caused the crash?  I think it's BUFFERP, so please tell
what is glyph->object.

Also, can you tell something about what were you doing at the moment
of the crash?  It looks like you were typing in the minibuffer, is
that correct?

Finally, what does the GDB command "pgrow" print?

Oh, btw: is this an optimized or an unoptimized build?

> (gdb) p *glyph
> $3 = {
>    charpos = 7589819289523352181,
>    object = 8079492959817000301,
>    pixel_width = 26991,
>    ascent = 29806,
>    descent = 29285,
>    voffset = 26463,
>    type = 2,
>    multibyte_p = 0,
>    left_box_line_p = 0,
>    right_box_line_p = 1,
>    overlaps_vertically_p = 1,
>    padding_p = 1,
>    glyph_not_available_p = 0,
>    avoid_cursor_p = 1,
>    resolved_level = 16,
>    bidi_type = 1,

Hmm?.. looks like a garbled glyph structure...







^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-07 20:27 ` Eli Zaretskii
@ 2010-04-08  6:16   ` Jan Djärv
  2010-04-08  6:49     ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Jan Djärv @ 2010-04-08  6:16 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 5856

Eli Zaretskii skrev:
>> Date: Wed, 07 Apr 2010 21:11:13 +0200
>> From: Jan Djärv <jan.h.d@swipnet.se>
>> Cc: 
>>
>> Sometimes I get a segmentation violation and emacs dies.
>> I just managed to catch it in the debugger.  Backtrace below (very long,
>> but instructions says to give bt full),
>> Let me know if you need more info, I'll keep it in the debugger for a
>> couple of days.  This is from trunk, updated and built today (Apr 7, 2010).
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x000000000044d2f1 in set_cursor_from_row (w=0x1378d60, row=0x1fbf550,
>>      matrix=0x18217a0, delta=0, delta_bytes=0, dy=0, dvpos=0)
>>      at /home/jhd/src/emacs/fixes/src/xdisp.c:12775
>> 12775	  if (!(BUFFERP (glyph->object) && glyph->charpos == pt_old)
> 
> Ouch!  My bad, probably.
> 
> First, what caused the crash?  I think it's BUFFERP, so please tell
> what is glyph->object.
> 

(gdb) whatis glyph->object
type = Lisp_Object
(gdb) p glyph->object
$4 = 8079492959817000301
(gdb) pp glyph->object
#<INVALID_LISP_OBJECT 0x7020200a3b29656d>


> Also, can you tell something about what were you doing at the moment
> of the crash?  It looks like you were typing in the minibuffer, is
> that correct?

It is correct, I did C-x b and typed an x in the minibuffer when the crash 
occurred.  The contents of the minibuffer is two lines.

> 
> Finally, what does the GDB command "pgrow" print?
> 

(gdb) pgrow
TEXT: 80 glyphs
   0    0: CHAR[S] pos=1 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   1    7: CHAR[w] pos=2 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   2   14: CHAR[i] pos=3 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   3   21: CHAR[t] pos=4 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   4   28: CHAR[c] pos=5 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   5   35: CHAR[h] pos=6 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   6   42: CHAR[ ] pos=7 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   7   49: CHAR[t] pos=8 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   8   56: CHAR[o] pos=9 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
   9   63: CHAR[ ] pos=10 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  10   70: CHAR[b] pos=11 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  11   77: CHAR[u] pos=12 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  12   84: CHAR[f] pos=13 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  13   91: CHAR[f] pos=14 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  14   98: CHAR[e] pos=15 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  15  105: CHAR[r] pos=16 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  16  112: CHAR[ ] pos=17 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  17  119: CHAR[(] pos=18 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  18  126: CHAR[d] pos=19 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  19  133: CHAR[e] pos=20 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  20  140: CHAR[f] pos=21 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  21  147: CHAR[a] pos=22 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  22  154: CHAR[u] pos=23 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  23  161: CHAR[l] pos=24 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  24  168: CHAR[t] pos=25 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  25  175: CHAR[ ] pos=26 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  26  182: CHAR[x] pos=27 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  27  189: CHAR[s] pos=28 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  28  196: CHAR[e] pos=29 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  29  203: CHAR[t] pos=30 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  30  210: CHAR[t] pos=31 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  31  217: CHAR[i] pos=32 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  32  224: CHAR[n] pos=33 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  33  231: CHAR[g] pos=34 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  34  238: CHAR[s] pos=35 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  35  245: CHAR[.] pos=36 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  36  252: CHAR[h] pos=37 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  37  259: CHAR[)] pos=38 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  38  266: CHAR[:] pos=39 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  39  273: CHAR[ ] pos=40 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  40  280: CHAR[x] pos=41 blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  41  287: CHAR[{] str=175f681[0] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  42  294: CHAR[s] str=175f681[1] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  43  301: CHAR[e] str=175f681[2] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  44  308: CHAR[t] str=175f681[3] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  45  315: CHAR[t] str=175f681[4] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  46  322: CHAR[i] str=175f681[5] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  47  329: CHAR[n] str=175f681[6] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  48  336: CHAR[g] str=175f681[7] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  49  343: CHAR[s] str=175f681[8] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  50  350: CHAR[.] str=175f681[9] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  51  357: CHAR[c] str=175f681[10] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  52  364: CHAR[,] str=175f681[11] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  53  371: CHAR[l] str=175f681[12] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  54  378: CHAR[w] str=175f681[13] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  55  385: CHAR[m] str=175f681[14] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  56  392: CHAR[e] str=175f681[15] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  57  399: CHAR[n] str=175f681[16] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  58  406: CHAR[u] str=175f681[17] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  59  413: CHAR[.] str=175f681[18] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  60  420: CHAR[c] str=175f681[19] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  61  427: CHAR[,] str=175f681[20] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  62  434: CHAR[l] str=175f681[21] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  63  441: CHAR[w] str=175f681[22] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  64  448: CHAR[m] str=175f681[23] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  65  455: CHAR[e] str=175f681[24] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  66  462: CHAR[n] str=175f681[25] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  67  469: CHAR[u] str=175f681[26] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  68  476: CHAR[P] str=175f681[27] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  69  483: CHAR[.] str=175f681[28] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  70  490: CHAR[h] str=175f681[29] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  71  497: CHAR[,] str=175f681[30] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  72  504: CHAR[f] str=175f681[31] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  73  511: CHAR[n] str=175f681[32] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  74  518: CHAR[s] str=175f681[33] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  75  525: CHAR[.] str=175f681[34] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  76  532: CHAR[c] str=175f681[35] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  77  539: CHAR[,] str=175f681[36] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  78  546: CHAR[t] str=175f681[37] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
  79  553: CHAR[e] str=175f681[38] blev=0,btyp=UNDEF w=7 a+d=11+3 MB


> Oh, btw: is this an optimized or an unoptimized build?

Unoptimized.

> 
>> (gdb) p *glyph
>> $3 = {
>>    charpos = 7589819289523352181,
>>    object = 8079492959817000301,
>>    pixel_width = 26991,
>>    ascent = 29806,
>>    descent = 29285,
>>    voffset = 26463,
>>    type = 2,
>>    multibyte_p = 0,
>>    left_box_line_p = 0,
>>    right_box_line_p = 1,
>>    overlaps_vertically_p = 1,
>>    padding_p = 1,
>>    glyph_not_available_p = 0,
>>    avoid_cursor_p = 1,
>>    resolved_level = 16,
>>    bidi_type = 1,
> 
> Hmm?.. looks like a garbled glyph structure...

Indeed.

	Jan D.








^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-08  6:16   ` Jan Djärv
@ 2010-04-08  6:49     ` Eli Zaretskii
  2010-04-08  7:26       ` Jan Djärv
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2010-04-08  6:49 UTC (permalink / raw)
  To: Jan Djärv; +Cc: 5856

> Date: Thu, 08 Apr 2010 08:16:13 +0200
> From: Jan Djärv <jan.h.d@swipnet.se>
> CC: 5856@debbugs.gnu.org
> 
> >> 12775	  if (!(BUFFERP (glyph->object) && glyph->charpos == pt_old)
> > 
> > Ouch!  My bad, probably.
> > 
> > First, what caused the crash?  I think it's BUFFERP, so please tell
> > what is glyph->object.
> > 
> 
> (gdb) whatis glyph->object
> type = Lisp_Object
> (gdb) p glyph->object
> $4 = 8079492959817000301
> (gdb) pp glyph->object
> #<INVALID_LISP_OBJECT 0x7020200a3b29656d>

Yep, it's an invalid object, somehow.  I wonder how did that happen...

(Btw, in a crashed session, it is not safe to use pp and pr: they call
functions in Emacs, which could themselves crash, depending on the
extent of damage caused by the original crash.  It is better to use
"xtype" followed by an xSOMETHING command, where SOMETHING depends on
what "xtype" prints; for example, "xbuffer" if "xtype" says the object
is a buffer.)

> It is correct, I did C-x b and typed an x in the minibuffer when the crash 
> occurred.  The contents of the minibuffer is two lines.

And it looks like you are using some optional feature for minibuffer
completion?  IOW, what should I do in "emacs -Q" to see the possible
completions as I see them in the output of "pgrow", viz.

  Switch to buffer (default xsettings.h):  x(settings.c,lwmenu.c,lwmenu.h,fns.c,te

I'd like to try to reproduce this problem.

Thanks.






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-08  6:49     ` Eli Zaretskii
@ 2010-04-08  7:26       ` Jan Djärv
  2010-04-08 13:57         ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Jan Djärv @ 2010-04-08  7:26 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 5856

Eli Zaretskii skrev:
>> Date: Thu, 08 Apr 2010 08:16:13 +0200
>> From: Jan Djärv <jan.h.d@swipnet.se>
>> CC: 5856@debbugs.gnu.org
>>
>>>> 12775	  if (!(BUFFERP (glyph->object) && glyph->charpos == pt_old)
>>> Ouch!  My bad, probably.
>>>
>>> First, what caused the crash?  I think it's BUFFERP, so please tell
>>> what is glyph->object.
>>>
>> (gdb) whatis glyph->object
>> type = Lisp_Object
>> (gdb) p glyph->object
>> $4 = 8079492959817000301
>> (gdb) pp glyph->object
>> #<INVALID_LISP_OBJECT 0x7020200a3b29656d>
> 
> Yep, it's an invalid object, somehow.  I wonder how did that happen...
> 
> (Btw, in a crashed session, it is not safe to use pp and pr: they call
> functions in Emacs, which could themselves crash, depending on the
> extent of damage caused by the original crash.  It is better to use
> "xtype" followed by an xSOMETHING command, where SOMETHING depends on
> what "xtype" prints; for example, "xbuffer" if "xtype" says the object
> is a buffer.)

Ok.

> 
>> It is correct, I did C-x b and typed an x in the minibuffer when the crash 
>> occurred.  The contents of the minibuffer is two lines.
> 
> And it looks like you are using some optional feature for minibuffer
> completion?  IOW, what should I do in "emacs -Q" to see the possible
> completions as I see them in the output of "pgrow", viz.
> 
>   Switch to buffer (default xsettings.h):  x(settings.c,lwmenu.c,lwmenu.h,fns.c,te

M-x icomplete-mode

> 
> I'd like to try to reproduce this problem.

This can take some time.  Emacs crashed for me, and then I restarted it from 
gdb.  It took about 3 hours before it crashed again, and I'm sure I've made 
many C-x b in that time.

	Jan D.








^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-08  7:26       ` Jan Djärv
@ 2010-04-08 13:57         ` Eli Zaretskii
  2010-04-08 16:13           ` Jan Djärv
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2010-04-08 13:57 UTC (permalink / raw)
  To: Jan Djärv; +Cc: 5856

> Date: Thu, 08 Apr 2010 09:26:20 +0200
> From: Jan Djärv <jan.h.d@swipnet.se>
> CC: 5856@debbugs.gnu.org
> 
> > I'd like to try to reproduce this problem.
> 
> This can take some time.  Emacs crashed for me, and then I restarted it from 
> gdb.  It took about 3 hours before it crashed again, and I'm sure I've made 
> many C-x b in that time.

How many of these "C-x b"s caused the list of possible completions to
exceed one screen line?  If the answer is "many" or "all", then could
you try to figure out or recall if there was anything special about
the ones that caused crashes?






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-08 13:57         ` Eli Zaretskii
@ 2010-04-08 16:13           ` Jan Djärv
  2010-04-08 21:29             ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Jan Djärv @ 2010-04-08 16:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 5856

Eli Zaretskii skrev:
>> Date: Thu, 08 Apr 2010 09:26:20 +0200
>> From: Jan Djärv <jan.h.d@swipnet.se>
>> CC: 5856@debbugs.gnu.org
>>
>>> I'd like to try to reproduce this problem.
>> This can take some time.  Emacs crashed for me, and then I restarted it from 
>> gdb.  It took about 3 hours before it crashed again, and I'm sure I've made 
>> many C-x b in that time.
> 
> How many of these "C-x b"s caused the list of possible completions to
> exceed one screen line?  If the answer is "many" or "all", then could
> you try to figure out or recall if there was anything special about
> the ones that caused crashes?

Somewhere between "many" and "all".  It is the same list of files I was 
editing.  They mostly start on x (xsettings, xtern, xfns, xlwmenu, and so on), 
so it probably looked pretty much the same each time.

There was nothing special about the one that caused a crash I can think of.
It seems it just takes time. I just got a crash again, but this time I hadn't 
started it from gdb, unfortunately.  Also, about 3-5 hours before it crashed 
this time.

	Jan D.






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-08 16:13           ` Jan Djärv
@ 2010-04-08 21:29             ` Eli Zaretskii
  2010-04-09  5:32               ` Jan Djärv
  2010-04-13  8:12               ` Jan Djärv
  0 siblings, 2 replies; 10+ messages in thread
From: Eli Zaretskii @ 2010-04-08 21:29 UTC (permalink / raw)
  To: Jan Djärv; +Cc: 5856

> Date: Thu, 08 Apr 2010 18:13:20 +0200
> From: Jan Djärv <jan.h.d@swipnet.se>
> CC: 5856@debbugs.gnu.org
> 
> > How many of these "C-x b"s caused the list of possible completions to
> > exceed one screen line?  If the answer is "many" or "all", then could
> > you try to figure out or recall if there was anything special about
> > the ones that caused crashes?
> 
> Somewhere between "many" and "all".  It is the same list of files I was 
> editing.  They mostly start on x (xsettings, xtern, xfns, xlwmenu, and so on), 
> so it probably looked pretty much the same each time.
> 
> There was nothing special about the one that caused a crash I can think of.
> It seems it just takes time. I just got a crash again, but this time I hadn't 
> started it from gdb, unfortunately.  Also, about 3-5 hours before it crashed 
> this time.

I think I found the problem.  The invalid glyph that caused the crash
was not supposed to be dereferenced.  Its pointer is exactly the same
as `end', as your backtrace shows:

  #0  0x000000000044d2f1 in set_cursor_from_row (w=0x1378d60, row=0x1fbf550, 
  matrix=0x18217a0, delta=0, delta_bytes=0, dy=0, dvpos=0) at 
  /home/jhd/src/emacs/fixes/src/xdisp.c:12775
	   glyph = 0x1fa5cd0
	   end = 0x1fa5cd0

But `end' points beyond the last glyph in the TEXT_AREA of the glyph
row:

  struct glyph *end = glyph + row->used[TEXT_AREA];

If we dereference this pointer, we could be referencing uninitialized
memory, e.g. if there are no margins (i.e. no glyphs in the row after
TEXT_AREA).

The old code was careful not to dereference such a pointer, but when I
rewrote set_cursor_from_row, I failed to copy those precautions.

I installed a fix.  Please see if it stops these crashes, and if so,
please close the bug report.

Thanks.







^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-08 21:29             ` Eli Zaretskii
@ 2010-04-09  5:32               ` Jan Djärv
  2010-04-13  8:12               ` Jan Djärv
  1 sibling, 0 replies; 10+ messages in thread
From: Jan Djärv @ 2010-04-09  5:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 5856



Eli Zaretskii skrev 2010-04-08 23.29:
>> Date: Thu, 08 Apr 2010 18:13:20 +0200
>> From: Jan Djärv<jan.h.d@swipnet.se>
>> CC: 5856@debbugs.gnu.org
>>
>>> How many of these "C-x b"s caused the list of possible completions to
>>> exceed one screen line?  If the answer is "many" or "all", then could
>>> you try to figure out or recall if there was anything special about
>>> the ones that caused crashes?
>>
>> Somewhere between "many" and "all".  It is the same list of files I was
>> editing.  They mostly start on x (xsettings, xtern, xfns, xlwmenu, and so on),
>> so it probably looked pretty much the same each time.
>>
>> There was nothing special about the one that caused a crash I can think of.
>> It seems it just takes time. I just got a crash again, but this time I hadn't
>> started it from gdb, unfortunately.  Also, about 3-5 hours before it crashed
>> this time.
>
> I think I found the problem.  The invalid glyph that caused the crash
> was not supposed to be dereferenced.  Its pointer is exactly the same
> as `end', as your backtrace shows:
>
>    #0  0x000000000044d2f1 in set_cursor_from_row (w=0x1378d60, row=0x1fbf550,
>    matrix=0x18217a0, delta=0, delta_bytes=0, dy=0, dvpos=0) at
>    /home/jhd/src/emacs/fixes/src/xdisp.c:12775
> 	   glyph = 0x1fa5cd0
> 	   end = 0x1fa5cd0
>
> But `end' points beyond the last glyph in the TEXT_AREA of the glyph
> row:
>
>    struct glyph *end = glyph + row->used[TEXT_AREA];
>
> If we dereference this pointer, we could be referencing uninitialized
> memory, e.g. if there are no margins (i.e. no glyphs in the row after
> TEXT_AREA).
>
> The old code was careful not to dereference such a pointer, but when I
> rewrote set_cursor_from_row, I failed to copy those precautions.
>
> I installed a fix.  Please see if it stops these crashes, and if so,
> please close the bug report.
>

Great!  I'll run for a couple of days and if it doesn'r reappear I will close 
the bug.

Thanks,

	Jan D.






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#5856: 24.0.50; Crash in redisplay
  2010-04-08 21:29             ` Eli Zaretskii
  2010-04-09  5:32               ` Jan Djärv
@ 2010-04-13  8:12               ` Jan Djärv
  1 sibling, 0 replies; 10+ messages in thread
From: Jan Djärv @ 2010-04-13  8:12 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 5856-done

Eli Zaretskii skrev:

> 
> I installed a fix.  Please see if it stops these crashes, and if so,
> please close the bug report.
> 

No crashes since fix, closing.

	Jan D.







^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2010-04-13  8:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-07 19:11 bug#5856: 24.0.50; Crash in redisplay Jan Djärv
2010-04-07 20:27 ` Eli Zaretskii
2010-04-08  6:16   ` Jan Djärv
2010-04-08  6:49     ` Eli Zaretskii
2010-04-08  7:26       ` Jan Djärv
2010-04-08 13:57         ` Eli Zaretskii
2010-04-08 16:13           ` Jan Djärv
2010-04-08 21:29             ` Eli Zaretskii
2010-04-09  5:32               ` Jan Djärv
2010-04-13  8:12               ` Jan Djärv

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).