On 17/11/15 23:53, Rob Browning wrote: > George Dunlap <george.dun...@citrix.com> writes: > >> Two months ago I switched from Ubuntu to Debian Jessie, using the >> default install (Gnome 3, systemd, &c). Since that time, every few >> days the emacs UI freezes and becomes completely unresponsive. > > If possible, could you try emacs24-lucid instead of emacs24 and see if > that helps? I'm wondering this migh be a known GTK+ bug. From the > emacs24-lucid description: > > This package contains a version of Emacs with support for a graphical > user interface based on the Lucid toolkit (instead of the GTK+ > interface provided by the emacs24 package). Until some known GTK+ > problems are fixed, this version may help avoid crashing Emacs during > an emacsclient disconnect. See > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567934 and > https://bugzilla.gnome.org/show_bug.cgi?id=85715 for more information.
I've still been having this issue pretty regularly (now again back to several times per week, even with emacs24-lucid). This time it's busy-waiting, and I took the time to attach gdb. The stack trace is attached. It appears to be stuck in this loop in xdisp.c:extend_face_to_end_of_line(): while (it->glyph_row->used[RIGHT_MARGIN_AREA] < WINDOW_RIGHT_MARGIN_WIDTH (it->w)) { PRODUCE_GLYPHS (it); it->current_x += it->pixel_width; } I poked around a bit but it's hard to tell what's going on with all the nested macros. I'll try again with gdb next time things freeze and see what I get. -George
#0 extend_face_to_end_of_line (it=0x7fff189de1b0) at xdisp.c:19513 #1 0x00000000004441ad in display_line (it=0x7fff189de1b0) at xdisp.c:20599 #2 0x000000000044923a in try_window (window=75895525, pos=..., flags=1) at xdisp.c:16972 #3 0x000000000045e928 in redisplay_window (window=140733606388144, just_this_one_p=2, just_this_one_p@entry=false) at xdisp.c:16451 #4 0x0000000000460d83 in redisplay_window_0 (window=window@entry=75895525) at xdisp.c:14348 #5 0x00000000005521db in internal_condition_case_1 (bfun=bfun@entry=0x460d50 <redisplay_window_0>, arg=75895525, handlers=<optimized out>, hfun=hfun@entry=0x4279a0 <redisplay_window_error>) at eval.c:1372 #6 0x000000000042d19e in redisplay_windows (window=75895525) at xdisp.c:14328 #7 0x000000000044e7fa in redisplay_internal () at xdisp.c:13927 #8 0x000000000044fbf5 in redisplay () at xdisp.c:13207 #9 0x00000000004ec091 in read_char (commandflag=commandflag@entry=0, map=12323826, prev_event=12323874, used_mouse_menu=used_mouse_menu@entry=0x0, end_time=0x7fff189e2840) at keyboard.c:2570 #10 0x0000000000571a37 in read_filtered_event (no_switch_frame=false, ascii_required=false, error_nonascii=false, input_method=false, seconds=<optimized out>) at lread.c:632 #11 0x0000000000553dbd in Ffuncall (nargs=<optimized out>, args=args@entry=0x7fff189e2930) at eval.c:2819 #12 0x00000000005890c3 in exec_byte_code (bytestr=<optimized out>, vector=43833717, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=2, args=<optimized out>, args@entry=0x2dd3621) at bytecode.c:916 #13 0x0000000000553917 in funcall_lambda (fun=140733606406944, nargs=nargs@entry=2, arg_vector=0x2dd3621, arg_vector@entry=0x7fff189e2ab0) at eval.c:2979 #14 0x0000000000553bf3 in Ffuncall (nargs=3, args=args@entry=0x7fff189e2aa8) at eval.c:2873 #15 0x00000000005890c3 in exec_byte_code (bytestr=<optimized out>, vector=43833861, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x2dd40c1) at bytecode.c:916 #16 0x0000000000553917 in funcall_lambda (fun=140733606407280, nargs=nargs@entry=0, arg_vector=0x2dd40c1, arg_vector@entry=0x7fff189e2c00) at eval.c:2979 #17 0x0000000000553bf3 in Ffuncall (nargs=1, args=args@entry=0x7fff189e2bf8) at eval.c:2873 #18 0x00000000005890c3 in exec_byte_code (bytestr=<optimized out>, vector=9232773, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x0) at bytecode.c:916 #19 0x000000000055387f in funcall_lambda (fun=9232629, nargs=nargs@entry=3, arg_vector=arg_vector@entry=0x7fff189e2dc0) at eval.c:3045 #20 0x0000000000553bf3 in Ffuncall (nargs=4, args=args@entry=0x7fff189e2db8) at eval.c:2873 #21 0x00000000005890c3 in exec_byte_code (bytestr=<optimized out>, vector=9231861, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x0) at bytecode.c:916 #22 0x000000000055387f in funcall_lambda (fun=9231781, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fff189e2f80) at eval.c:3045 #23 0x0000000000553bf3 in Ffuncall (nargs=2, args=args@entry=0x7fff189e2f78) at eval.c:2873 #24 0x00000000005890c3 in exec_byte_code (bytestr=<optimized out>, vector=9880437, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x0) at bytecode.c:916 #25 0x000000000055387f in funcall_lambda (fun=9880349, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fff189e3158) at eval.c:3045 #26 0x0000000000553bf3 in Ffuncall (nargs=2, args=args@entry=0x7fff189e3150) at eval.c:2873 #27 0x00000000005890c3 in exec_byte_code (bytestr=<optimized out>, vector=42455285, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=3, args=<optimized out>, args@entry=0xce6791) at bytecode.c:916 #28 0x0000000000553917 in funcall_lambda (fun=140733606409248, nargs=nargs@entry=3, arg_vector=0xce6791, arg_vector@entry=0x7fff189e3358) at eval.c:2979 #29 0x0000000000553bf3 in Ffuncall (nargs=4, args=args@entry=0x7fff189e3350) at eval.c:2873 #30 0x00000000005890c3 in exec_byte_code (bytestr=<optimized out>, vector=75893237, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>, args@entry=0xd781c1) at bytecode.c:916 #31 0x0000000000553917 in funcall_lambda (fun=140733606410000, nargs=nargs@entry=0, arg_vector=0xd781c1, arg_vector@entry=0x7fff189e34f8) at eval.c:2979 #32 0x0000000000553bf3 in Ffuncall (nargs=1, args=0x7fff189e34f0) at eval.c:2873 #33 0x00000000005533a4 in eval_sub (form=form@entry=78837142) at eval.c:2155 #34 0x0000000000556071 in internal_lisp_condition_case (var=<optimized out>, bodyform=78837142, handlers=<optimized out>) at eval.c:1317 #35 0x000000000058a407 in exec_byte_code (bytestr=<optimized out>, vector=73493749, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>, args@entry=0xd6d401) at bytecode.c:1162 #36 0x0000000000553917 in funcall_lambda (fun=140733606410656, nargs=nargs@entry=0, arg_vector=0xd6d401, arg_vector@entry=0x7fff189e37e8) at eval.c:2979 #37 0x0000000000553bf3 in Ffuncall (nargs=1, args=0x7fff189e37e0) at eval.c:2873 #38 0x00000000005533a4 in eval_sub (form=form@entry=78837110) at eval.c:2155 #39 0x0000000000551f9b in internal_catch (tag=13738258, func=0x552d00 <eval_sub>, arg=78837110) at eval.c:1112 #40 0x000000000058a340 in exec_byte_code (bytestr=<optimized out>, vector=40677269, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs@entry=2, args=<optimized out>, args@entry=0xd6a6a1) at bytecode.c:1097 #41 0x0000000000553917 in funcall_lambda (fun=0, nargs=nargs@entry=2, arg_vector=0xd6a6a1, arg_vector@entry=0x7fff189e3a78) at eval.c:2979 #42 0x0000000000553bf3 in Ffuncall (nargs=nargs@entry=3, args=args@entry=0x7fff189e3a70) at eval.c:2873 #43 0x0000000000554b24 in Fapply (nargs=nargs@entry=2, args=args@entry=0x7fff189e3b30) at eval.c:2351 #44 0x0000000000554d90 in apply1 (fn=15468690, arg=<optimized out>) at eval.c:2585 #45 0x00000000005521db in internal_condition_case_1 (bfun=bfun@entry=0x58d230 <read_process_output_call>, arg=78837062, handlers=handlers@entry=12375362, hfun=hfun@entry=0x58d1f0 <read_process_output_error_handler>) at eval.c:1372 #46 0x000000000058cede in read_and_dispose_of_process_output (coding=<optimized out>, nbytes=1042, chars=0x7fff189e3b90 "-env LC_PAPER=en_US.UTF-8 -env LC_ADDRESS=en_US.UTF-8 -env XDG_SESSION_ID=2442 -env LC_MONETARY=en_US.UTF-8 -env GWD_TESTLIB_PATH=/home/gdunlap/hg/performance/tests.git/lib/ -env TERM=xterm-256color -"..., p=0x4616600) at process.c:5180 #47 read_process_output (proc=proc@entry=73491973, channel=channel@entry=16) at process.c:5089 #48 0x0000000000590e48 in wait_reading_process_output (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true, wait_for_cell=wait_for_cell@entry=12323826, wait_proc=wait_proc@entry=0x0, just_wait_proc=0) at process.c:4811 #49 0x00000000004e8e01 in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7fff189e54bb, kbp=<synthetic pointer>) at keyboard.c:3906 #50 read_event_from_main_queue (used_mouse_menu=0x7fff189e54bb, local_getcjmp=0x7fff189e5230, end_time=0x0) at keyboard.c:2246 #51 read_decoded_event_from_main_queue (end_time=end_time@entry=0x0, local_getcjmp=local_getcjmp@entry=0x7fff189e5230, prev_event=prev_event@entry=12323826, used_mouse_menu=used_mouse_menu@entry=0x7fff189e54bb) at keyboard.c:2309 #52 0x00000000004ec6d2 in read_char (commandflag=1, map=map@entry=78732790, prev_event=12323826, used_mouse_menu=used_mouse_menu@entry=0x7fff189e54bb, end_time=end_time@entry=0x0) at keyboard.c:2895 #53 0x00000000004ed80f in read_key_sequence (keybuf=keybuf@entry=0x7fff189e5590, prompt=12323826, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at keyboard.c:9088 #54 0x00000000004ef580 in command_loop_1 () at keyboard.c:1452 #55 0x00000000005520b7 in internal_condition_case (bfun=bfun@entry=0x4ef380 <command_loop_1>, handlers=<optimized out>, hfun=hfun@entry=0x4e6470 <cmd_error>) at eval.c:1348 #56 0x00000000004e19fe in command_loop_2 (ignore=ignore@entry=12323826) at keyboard.c:1177 #57 0x0000000000551f9b in internal_catch (tag=12371298, func=func@entry=0x4e19e0 <command_loop_2>, arg=12323826) at eval.c:1112 #58 0x00000000004e6087 in command_loop () at keyboard.c:1156 #59 recursive_edit_1 () at keyboard.c:777 #60 0x00000000004e63a0 in Frecursive_edit () at keyboard.c:848 #61 0x0000000000413ed1 in main (argc=0, argv=0x7fff189e58f8) at emacs.c:1646