Subject: bug#28176: 26.0.50; Emacs hangs on entering a specific article in gnus

From: Sam Steingold <[email-masked]>
Date: Tue, 22 Aug 2017 14:23:00 -0400

here is the backtrace from an identical hang with a different article in
the same group:

2017-08-22 14:10:48.609113-0400 emacs[16623:7011753] [general] Connection
to 'pboard' server had an error: <error: 0x7fffb7597ca0> { count = 1,
transaction: 0, voucher = 0x0, contents =
        "XPCErrorDescription" => <string: 0x7fffb7597f18> { length = 18,
contents = "Connection invalid" }
}
2017-08-22 14:11:02.771791-0400 emacs[16623:7011721] Detected potentially
harmful notification post rate of 229.322 notifications per second
2017-08-22 14:11:12.773714-0400 emacs[16623:7011721] Detected potentially
harmful notification post rate of 300.907 notifications per second
2017-08-22 14:11:22.774338-0400 emacs[16623:7011721] Detected potentially
harmful notification post rate of 280.44 notifications per second
2017-08-22 14:11:32.774777-0400 emacs[16623:7011721] Detected potentially
harmful notification post rate of 290.527 notifications per second
emacs was compiled with optimization - stepping may behave oddly; variables
may not be available.
Process 16623 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP

    frame #0: 0x00000001001a4de9 emacs`lookup_image [inlined]
search_image_cache(f=0x000000010305afa8, spec=4358862915,
hash=4195912884339560560) at image.c:1454 [opt]

   1451
   1452   for (img = c->buckets[i]; img; img = img->next)

   1453     if (img->hash == hash
-> 1454         && !NILP (Fequal (img->spec, spec))
   1455         && img->frame_foreground == FRAME_FOREGROUND_PIXEL (f)

   1456         && img->frame_background == FRAME_BACKGROUND_PIXEL (f))

   1457       break;
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP

  * frame #0: 0x00000001001a4de9 emacs`lookup_image [inlined]
search_image_cache(f=0x000000010305afa8, spec=4358862915,
hash=4195912884339560560) at image.c:1454 [opt]

    frame #1: 0x00000001001a4d82 emacs`lookup_image(f=0x000000010305afa8,
spec=4358862915) at image.c:1739 [opt]

    frame #2: 0x0000000100044a68
emacs`handle_single_display_spec(it=<unavailable>, spec=<unavailable>,
object=<unavailable>, overlay=<unavailable>, position=<unavailable>,
bufpos=<unavailable>, display_replaced=<unavailable>,
frame_window_p=<unavailable>) at xdisp.c:5299 [opt]

    frame #3: 0x000000010001dd85
emacs`handle_display_spec(it=0x00007fff5fbf8280, spec=4358862915,
object=4523100261, overlay=0, position=0x00007fff5fbf83b8, bufpos=1765,
frame_window_p=<unavailable>) at xdisp.c:4800 [opt]

    frame #4: 0x00000001000452e1
emacs`handle_display_prop(it=0x00007fff5fbf8280) at xdisp.c:4719 [opt]

    frame #5: 0x000000010004544b emacs`handle_stop(it=0x00007fff5fbf8280)
at xdisp.c:3425 [opt]
    frame #6: 0x0000000100048434
emacs`next_element_from_buffer(it=0x00007fff5fbf8280) at xdisp.c:8398 [opt]

    frame #7: 0x000000010001c6c2
emacs`get_next_display_element(it=0x00007fff5fbf8280) at xdisp.c:6992 [opt]

    frame #8: 0x000000010002ab68 emacs`display_line(it=0x00007fff5fbf8280,
cursor_vpos=<unavailable>) at xdisp.c:21318 [opt]

    frame #9: 0x000000010002a508 emacs`try_window(window=<unavailable>,
pos=(charpos = 921, bytepos = 921), flags=<unavailable>) at xdisp.c:17573
[opt]
    frame #10: 0x000000010004f8e0 emacs`redisplay_window(window=4356634629,
just_this_one_p=<unavailable>) at xdisp.c:17020 [opt]

    frame #11: 0x000000010004db36
emacs`redisplay_window_0(window=<unavailable>) at xdisp.c:14780 [opt]

                       frame #12: 0x0000000100136e86
emacs`internal_condition_case_1(bfun=(emacs`redisplay_window_0 at
xdisp.c:14779), arg=4356634629, handlers=<unavailable>,
hfun=(emacs`redisplay_window_error at xdisp.c:14771)) at eval.c:1347 [opt]

    frame #13: 0x000000010004d19d
emacs`redisplay_windows(window=<unavailable>) at xdisp.c:14760 [opt]

    frame #14: 0x000000010004d164
emacs`redisplay_windows(window=<unavailable>) at xdisp.c:14754 [opt]

    frame #15: 0x00000001000282af emacs`redisplay_internal at xdisp.c:14249
[opt]
    frame #16: 0x00000001000bf92e emacs`read_char(commandflag=1,
map=4351707683, prev_event=0, used_mouse_menu=0x00007fff5fbfeabf,
end_time=0x0000000000000000) at keyboard.c:2484 [opt]
    frame #17: 0x00000001000bd40a
emacs`read_key_sequence(keybuf=<unavailable>, bufsize=30,
prompt=<unavailable>, dont_downcase_last=<unavailable>,
can_return_switch_frame=<unavailable>, fix_current_buffer=<unavailable>,
prevent_redisplay=<unavailable>) at keyboard.c:9151 [opt]

    frame #18: 0x00000001000bbc02 emacs`command_loop_1 at keyboard.c:1372
[opt]
    frame #19: 0x0000000100136e12
emacs`internal_condition_case(bfun=(emacs`command_loop_1 at
keyboard.c:1263), handlers=<unavailable>, hfun=(emacs`cmd_error at
keyboard.c:942)) at eval.c:1323 [opt]
    frame #20: 0x00000001000ca800
emacs`command_loop_2(ignore=<unavailable>) at keyboard.c:1114 [opt]
    frame #21: 0x00000001001366b9 emacs`internal_catch(tag=<unavailable>,
func=(emacs`command_loop_2 at keyboard.c:1110), arg=0) at eval.c:1088 [opt]

    frame #22: 0x00000001000bae5e emacs`command_loop at keyboard.c:1093
[opt]
    frame #23: 0x00000001000bad6f emacs`recursive_edit_1 at keyboard.c:699
[opt]
    frame #24: 0x00000001000bafa3 emacs`Frecursive_edit at keyboard.c:770
[opt]
    frame #25: 0x00000001000b9bb7 emacs`main(argc=0, argv=<unavailable>) at
emacs.c:1706 [opt]
    frame #26: 0x00007fffae679235 libdyld.dylib`start + 1

    frame #27: 0x00007fffae679235 libdyld.dylib`start + 1

On Tue, Aug 22, 2017 at 11:09 AM, Eli Zaretskii <[email-masked]> wrote:

> > From: Sam Steingold <[email-masked]>
> > Cc: [email-masked]
> > Date: Mon, 21 Aug 2017 15:40:41 -0400
> >
> > (lldb) bt
> > * thread #1, queue = 'com.apple.main-thread', stop reason = signal
> SIGSTOP
> >     frame #0: 0x0000000100030788 emacs`display_mode_element(it=0x00007fff5fbf8258,
> depth=8, field_width=0, precision=<unavailable>, elt=4328980291, props=
> 4412454691, risky=<unavailable>) at xdisp.c:23603 [opt]
> >     frame #1: 0x00000001000309d0 emacs`display_mode_element(it=0x00007fff5fbf8258,
> depth=<unavailable>, field_width=0, precision=<unavailable>,
> elt=<unavailable>, props=4412454691, risky=<unavailable>) at xdisp.c:23692
> [opt]
> >     frame #2: 0x00000001000309d0 emacs`display_mode_element(it=0x00007fff5fbf8258,
> depth=<unavailable>, field_width=0, precision=<unavailable>,
> elt=<unavailable>, props=4412454691, risky=<unavailable>) at xdisp.c:23692
> [opt]
> >     frame #3: 0x0000000100030b05 emacs`display_mode_element(it=0x00007fff5fbf8258,
> depth=4, field_width=0, precision=-66, elt=<unavailable>, props=0,
> risky=<unavailable>) at xdisp.c:23629 [opt]
> >     frame #4: 0x00000001000309d0 emacs`display_mode_element(it=0x00007fff5fbf8258,
> depth=<unavailable>, field_width=0, precision=<unavailable>,
> elt=<unavailable>, props=0, risky=<unavailable>) at xdisp.c:23692 [opt]
> >     frame #5: 0x00000001000309d0 emacs`display_mode_element(it=0x00007fff5fbf8258,
> depth=<unavailable>, field_width=0, precision=<unavailable>,
> elt=<unavailable>, props=0, risky=<unavailable>) at xdisp.c:23692 [opt]
> >     frame #6: 0x000000010001bf09 emacs`display_mode_line(w=0x000000010482ea30,
> face_id=MODE_LINE_FACE_ID, format=4315887955) at xdisp.c:23211 [opt]
> >     frame #7: 0x000000010004b2e4 emacs`display_mode_lines(w=0x000000010482ea30)
> at xdisp.c:23146 [opt]
> >     frame #8: 0x000000010005180f emacs`redisplay_window(window=4370655797,
> just_this_one_p=<unavailable>) at xdisp.c:17397 [opt]
>
> This just says that Emacs was in redisplay, displaying the mode line
> in some window.
>
> Do you always see this exact backtrace, with the same function calls
> and the same arguments, when you interrupt Emacs that hangs like this?
> Or does the backtrace look different every time?
>
> Thanks.
>

-- 
Sam Steingold <http://sds.podval.org> <http://www.childpsy.net> <
http://steingoldpsychology.com>