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