On 13/10/16 16:14, George Dunlap wrote:
> On 17/11/15 23:53, Rob Browning wrote:
>> George Dunlap <[email protected]> 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).
Actually there seem to be several slightly different bugs. :-/
I've gotten several hangs with a crash trace like the following. It
appears that when redrawing a window, it sets the position of the cursor
(xterm.c:733); and because X has support for internationalization, it
wants to set the position of the "pre-edit area" -- presumably where the
pop-up should appear if you're typing something like Chinese
(xfns.c:2107), and so sets the values by calling the X library function
XSetICValues. This for some reason blocks in poll() and never returns.
It seems possible this might actually be a bug in the X library -- worth
bringing in someone from the X team?
-George
#0 0x00007f1f50983aed in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f1f50055252 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2 0x00007f1f50056ddf in xcb_wait_for_event () from
/usr/lib/x86_64-linux-gnu/libxcb.so.1
#3 0x00007f1f55286008 in _XReadEvents (dpy=dpy@entry=0x13cda70) at
../../src/xcb_io.c:401
#4 0x00007f1f5526d9c9 in XIfEvent (dpy=0x13cda70, event=0x7ffea1abd5d0,
predicate=0x7f1f552b6070 <_CheckCMEvent>,
arg=0x13eae40 "`&XU\037\177") at ../../src/IfEvent.c:68
#5 0x00007f1f552b67e7 in _XimXRead (im=0x13eae40, recv_buf=0x7ffea1abe1f0 "",
buf_len=2048, ret_len=0x7ffea1abd704)
at ../../../../modules/im/ximcp/imTrX.c:476
#6 0x00007f1f552b7437 in _XimReadData (im=im@entry=0x13eae40,
len=len@entry=0x7ffea1abd766,
buf=buf@entry=0x7ffea1abe1f0 "", buf_size=buf_size@entry=2048) at
../../../../modules/im/ximcp/imTransR.c:165
#7 0x00007f1f552b7701 in _XimRead (im=im@entry=0x13eae40,
len=len@entry=0x7ffea1abd7fe,
buf=buf@entry=0x7ffea1abe1f0 "", buf_size=buf_size@entry=2048,
predicate=predicate@entry=0x7f1f552a4c60 <_XimSetICValuesCheck>,
arg=arg@entry=0xc3e820 "")
at ../../../../modules/im/ximcp/imTransR.c:235
#8 0x00007f1f552a5a86 in _XimProtoSetICValues (xic=0xc3e820, arg=<optimized
out>)
at ../../../../modules/im/ximcp/imDefIc.c:778
#9 0x00007f1f5529314d in XSetICValues (ic=0xc3e820) at
../../../src/xlibi18n/ICWrap.c:332
#10 0x00000000004cf8f9 in xic_set_preeditarea (w=<optimized out>, x=<optimized
out>, y=<optimized out>) at xfns.c:2107
#11 0x00000000004bc742 in x_draw_window_cursor (w=0x3ce5600,
glyph_row=0x3449210, x=216, y=910,
cursor_type=FILLED_BOX_CURSOR, cursor_width=67632640, on_p=true,
active_p=true) at xterm.c:7331
#12 0x0000000000456a10 in display_and_set_cursor (w=0x3ce5600,
on=on@entry=true, hpos=27, vpos=70, x=216, y=910)
at xdisp.c:27572
#13 0x00000000004bb5dc in x_update_window_end (w=0x3ce5600,
cursor_on_p=<optimized out>,
mouse_face_overwritten_p=<optimized out>) at xterm.c:582
#14 0x0000000000419816 in update_window (w=w@entry=0x3ce5600,
force_p=<optimized out>, force_p@entry=true)
at dispnew.c:3535
#15 0x000000000041aaeb in update_window_tree (w=w@entry=0x3ce5600,
force_p=force_p@entry=true) at dispnew.c:3210
#16 0x000000000041d0ce in update_frame (f=0x1173ae8, force_p=<optimized out>,
inhibit_hairy_id_p=<optimized out>)
at dispnew.c:3099
#17 0x000000000044f61e in redisplay_internal () at xdisp.c:14030
#18 0x000000000044fb85 in redisplay_preserve_echo_area
(from_where=from_where@entry=8) at xdisp.c:14185
#19 0x00000000004eb6e3 in detect_input_pending_run_timers
(do_display=do_display@entry=true) at keyboard.c:9897
#20 0x00000000005911e1 in wait_reading_process_output
(time_limit=time_limit@entry=30, nsecs=nsecs@entry=0,
read_kbd=read_kbd@entry=-1, do_display=do_display@entry=true,
wait_for_cell=12323826,
wait_proc=wait_proc@entry=0x0, just_wait_proc=0) at process.c:4702
#21 0x000000000041df63 in sit_for (timeout=<optimized out>,
reading=reading@entry=true,
display_option=display_option@entry=1) at dispnew.c:5861
#22 0x00000000004ec5c3 in read_char (commandflag=1, map=map@entry=54254438,
prev_event=12323826,
used_mouse_menu=used_mouse_menu@entry=0x7ffea1ac031b,
end_time=end_time@entry=0x0) at keyboard.c:2809
#23 0x00000000004ed80f in read_key_sequence
(keybuf=keybuf@entry=0x7ffea1ac03f0, 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
#24 0x00000000004ef580 in command_loop_1 () at keyboard.c:1452
#25 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
#26 0x00000000004e19fe in command_loop_2 (ignore=ignore@entry=12323826) at
keyboard.c:1177
#27 0x0000000000551f9b in internal_catch (tag=12371298,
func=func@entry=0x4e19e0 <command_loop_2>, arg=12323826)
at eval.c:1112
#28 0x00000000004e6087 in command_loop () at keyboard.c:1156
#29 recursive_edit_1 () at keyboard.c:777
#30 0x00000000004e63a0 in Frecursive_edit () at keyboard.c:848
#31 0x0000000000413ed1 in main (argc=0, argv=0x7ffea1ac0758) at emacs.c:1646