Bug#374640: gedit: freeze when XIM is used to input Japanese

Loïc Minier lool at dooz.org
Mon Nov 20 14:26:58 CET 2006


        Hi,

On Mon, Nov 20, 2006, Osamu Aoki wrote:
> Thread 1 (Thread -1225505088 (LWP 6662)):
> #0  0xb78078d8 in XIfEvent () from /usr/lib/libX11.so.6

 IIUC, XIfEvent() is a kind of "infinite loop" to wait for a specific
 event.

> #1  0xb7855c3b in _XimXConf () from /usr/lib/libX11.so.6
> #2  0xb7855232 in _XimFlush () from /usr/lib/libX11.so.6
> #3  0xb78555d3 in _XimRead () from /usr/lib/libX11.so.6
> #4  0xb7847878 in _XimForwardEvent () from /usr/lib/libX11.so.6
> #5  0xb7841828 in _XimRegisterFilter () from /usr/lib/libX11.so.6

 This indicates that the XIfEvent() call happens due to internal logic
 in XIM (XFilterEvent() notices that XIM is enabled, and forwards the
 event).

> #6  0xb7801494 in XFilterEvent () from /usr/lib/libX11.so.6
> #7  0xb63ccaae in gtk_im_context_xim_filter_keypress (context=0x81c2990, event=0x81c8f40) at gtkimcontextxim.c:728

 This is where Gtk forwards an event to the IM, here XIM.  The IM will
 filter the event and XFilterEvent() will return "True" if Gtk should
 stop handling the event (because the IM handled it).

>         xevent = {type = 2, serial = 0, send_event = 0, display = 0x80eb178, window = 48234499, root = 76, subwindow = 48234499, time = 20837946, x = 0, y = 0, x_root = 0, y_root = 0, state = 0, keycode = 50, same_screen = 1}

 This is the actual event, which is a KeyPress XEvent (type = 2), with
 no modifiers pressed (state = 0), and it's probably a left shift
 (keycode = 50), but perhaps you have a different keyboard layout.

 Anyway, this looks like a completely normal stack trace, and the
 program while waiting for libX11 to return from its internal logic.  To
 understand the problem further, you would have to debug what happens in
 scim or in X11.  There is a libx11-6-dbg package which can help
 understand what X11 is waiting for, but since this works for other XIM
 based IMs, I suggest you turn on debugging in SCIM.

   Bye,
-- 
Loïc Minier <lool at dooz.org>
        10 SIN
        20 GO TO ROBOT HELL             -- Temple of Robotology




More information about the Pkg-gnome-maintainers mailing list