Subject: bug#1179: Fwd: Reproducible crash with Gnus on Windows.

From: "Juanma Barranquero" <[email-masked]>
Date: Tue, 9 Dec 2008 21:13:21 +0100

---------- Forwarded message ----------
From: Óscar Fuentes <[email-masked]>
Date: Tue, Dec 9, 2008 at 20:43
Subject: Re: Reproducible crash with Gnus on Windows.
To: [email-masked]

"Juanma Barranquero" <[email-masked]> writes:

> On Tue, Dec 9, 2008 at 20:18, Óscar Fuentes <[email-masked]> wrote:
>
>> When I open this message, emacs uses 100% cpu usage for several seconds
>> as it uses to do when finds an "exotic" character and has to look for a
>> suitable font. Then it shows the message and crashes.
>>
>> The crash happened on a build from Sep 27. So I updated and built a
>> fresh emacs and the crash is still there.
>
> Could you please run Emacs under GDB and post a backtrace of the crash?

Really, really, really I don't have time for that, but anyways...

Program received signal SIGSEGV, Segmentation fault.
0x0115c9e1 in x_draw_glyph_string (s=0x82e990) at w32term.c:1106
1106      PREPARE_FACE_FOR_DISPLAY (s->f, s->face);
(gdb) bt full
#0  0x0115c9e1 in x_draw_glyph_string (s=0x82e990) at w32term.c:1106
       relief_drawn_p = <value optimized out>
#1  0x0104079a in draw_glyphs (w=0x10890000, x=170, row=0x108925f0,
   area=TEXT_AREA, start=0, end=98, hl=DRAW_NORMAL_TEXT, overlaps=0)
   at xdisp.c:20487
       head = (struct glyph_string *) 0x82eb40
       tail = (struct glyph_string *) 0x82e990
       s = (struct glyph_string *) 0x82e990
       clip_head = (struct glyph_string *) 0x0
       clip_tail = (struct glyph_string *) 0x0
       i = 0
       j = -284161863
       x_reached = 170
       last_x = 990
       area_left = 10
       f = (struct frame *) 0x2d23e00
       hdc = (HDC) 0xae01073d
#2  0x01044ff4 in x_write_glyphs (start=0x108a0000, len=98) at xdisp.c:21896
       x = <value optimized out>
#3  0x010ed0f8 in update_window_line (w=0x10890000, vpos=10,
   mouse_face_overwritten_p=0x82f008) at dispnew.c:4454
       current_row = (struct glyph_row *) 0x108d65f0
       desired_row = (struct glyph_row *) 0x108925f0
       rif = (struct redisplay_interface *) 0x12bd610
       changed_p = 0
#4  0x010ee8f7 in update_window (w=0x10890000, force_p=0) at dispnew.c:4310
       vpos = 2147345108
       i = <value optimized out>
       end = (struct glyph_row *) 0x108934c8
       header_line_row = (struct glyph_row *) 0x0
       changed_p = 1
       mouse_face_overwritten_p = 0
       row = (struct glyph_row *) 0x108925f0
       yb = 504
       desired_matrix = (struct glyph_matrix *) 0x10883400
       paused_p = 0
       rif = (struct redisplay_interface *) 0x12bd610
#5  0x010f09f5 in update_window_tree (w=0x10890000, force_p=0)
   at dispnew.c:4003
       paused_p = <value optimized out>
#6  0x010f09df in update_window_tree (w=0x10861200, force_p=0)
   at dispnew.c:4001
       paused_p = <value optimized out>
#7  0x010f0fd3 in update_frame (f=0x2d23e00, force_p=0, inhibit_hairy_id_p=0)
   at dispnew.c:3930
       paused_p = <value optimized out>
       root_window = (struct window *) 0x10861200
#8  0x01036daa in redisplay_internal (
   preserve_echo_area=<value optimized out>) at xdisp.c:11828
       f = (struct frame *) 0x2d23e00
       tail = <value optimized out>
       frame = <value optimized out>
       w = (struct window *) 0x2d23c00
       pause = 0
       must_finish = 1
       tlbufpos = {charpos = 0, bytepos = 0}
       number_of_visible_frames = 1
       polling_stopped_here = 0
       old_frame = 47332868
       consider_all_windows_p = 1
#9  0x0106b4a7 in read_char (commandflag=1, nmaps=4, maps=0x82fbb0,
   prev_event=45602817, used_mouse_menu=0x82fc44, end_time=0x0)
   at keyboard.c:2649
       c = 45602817
       local_getcjmp = {1542, 1543, 8583944, 18036826, 3696837, 1,
 273930244, 45855249, 273930244, 12352, 8584024, 17925560, 273930240,
 276350269, 8584000, 0}
       save_jump = {271815594, 45654569, 8583896, 16813216, 272132288,
 45602817, 8583912, 18033967, 45778641, 276350269, 8584012, 1457, 619,
 272132293, 2942, 277125932}
       key_already_recorded = 0
       tem = 0
       save = <value optimized out>
       previous_echo_area_message = 45602817
       also_record = 45602817
       reread = 0
       polling_stopped_here = <value optimized out>
       orig_kboard = (struct kboard *) 0x2ff1980
#10 0x0106e0bf in read_key_sequence (keybuf=0x82fce4, bufsize=30,
   prompt=45602817, dont_downcase_last=0, can_return_switch_frame=1,
   fix_current_buffer=1) at keyboard.c:9343
       interrupted_kboard = (KBOARD *) 0x2ff1980
       key = 8584256
       used_mouse_menu = 0
       echo_local_start = 0
       last_real_key_start = 0
       keys_local_start = 0
       local_first_binding = 0
       from_string = 45602817
       count = 2
       t = 0
       echo_start = 0
       keys_start = 0
       nmaps = 4
       nmaps_allocated = 4
       defs = (Lisp_Object * volatile) 0x82fb90
       submaps = (Lisp_Object * volatile) 0x82fbb0
       orig_local_map = 272390749
       orig_keymap = 45602817
       localized_local_map = 0
       first_binding = 0
       first_unbound = 31
       mock_input = 0
       fkey = {parent = 50080373, map = 50080373, start = 0, end = 0}
       keytran = {parent = 45592445, map = 45592445, start = 0, end = 0}
       indec = {parent = 50080381, map = 50080381, start = 0, end = 0}
       shift_translated = 0
       delayed_switch_frame = 45602817
       original_uppercase = 8584332
       original_uppercase_position = -1
       starting_buffer = (struct buffer *) 0x1053d800
       fake_prefixed_keys = 45602817
#11 0x0106ff68 in command_loop_1 () at keyboard.c:1621
       cmd = <value optimized out>
       lose = <value optimized out>
       nonundocount = 0
       keybuf = {104, 1, 8610992, 1, 3082, 0 <repeats 12 times>, 45743104,
 0, 0, 8584520, 8584368, 0, 0, 45602817, 46671281, 46247936, 46247952,
 46247936, 8584552}
       i = <value optimized out>
       prev_modiff = 1144
       prev_buffer = (struct buffer *) 0x1053d800
       already_adjusted = 0
#12 0x01013b98 in internal_condition_case (bfun=0x106fdc4 <command_loop_1>,
   handlers=45666569, hfun=0x106a3fa <cmd_error>) at eval.c:1511
       val = <value optimized out>
       c = {tag = 45602817, val = 45602817, next = 0x82fe2c, gcpro = 0x0,
 jmp = {8584696, 46247936, 46247936, 46247952, 8584556, 16857936, 8585184,
   0, 8584752, 2, 2, 10, 8584664, 16884143, 1520, 0}, backlist = 0x0,
 handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2,
 poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0}
       h = {handler = 45666569, var = 45602817, chosen_clause = 8610992,
 tag = 0x82fd78, next = 0x0}
#13 0x010699c6 in command_loop_2 () at keyboard.c:1338
       val = 0
#14 0x01013c33 in internal_catch (tag=45662641,
   func=0x10699a3 <command_loop_2>, arg=45602817) at eval.c:1247
       c = {tag = 45662641, val = 45602817, next = 0x0, gcpro = 0x0, jmp = {
   8584856, 46247936, 46247936, 46247952, 8584732, 16858150, 8585184, 0,
   16812203, 45883657, 45879706, 45602817, 45641728, 8599512, 0, 45602841},
 backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2,
 poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0}
#15 0x0106a269 in command_loop () at keyboard.c:1317
No locals.
#16 0x0106a585 in recursive_edit_1 () at keyboard.c:942
       val = <value optimized out>
#17 0x0106a6a1 in Frecursive_edit () at keyboard.c:1004
       buffer = 45602817
#18 0x01002d37 in main (argc=1, argv=0xe42cf0) at emacs.c:1781
       dummy = 8585080
       stack_bottom_variable = 120 'x'
       do_initial_setlocale = <value optimized out>
       skip_args = 0
       no_loadup = 0
       junk = 0x0
       dname_arg = 0x0
(gdb)

Please don't ask for the same on a Emacs built on debug mode :-)

--
Oscar