Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 950 by [email protected]: Possible crash inside im-ibus.so
http://code.google.com/p/ibus/issues/detail?id=950

What version of the product are you using? On what operating system?
OS (Linux distributions, UNIX or ...): Ubuntu Lucid, Chrome OS
Architecture (i386, x86_64): x86_64
IBus version: git tot
Input method name and version: any
dbus version: 1.2.16-2ubuntu4
gtk version (if bug is about gtk applications): 2.20.1-1ubuntu1

What steps will reproduce the problem?

1. start ibus-daemon
2. start gedit
3. restart ibus-daemon during typing something using ibus

What is the expected output?

gedit does not crash. After ibus-daemon restarts, you can use ibus from gedit again.

What do you see instead?

gedit crashes with signal 11 (SIGSEGV).

Please provide any additional information below.

It's a bit hard to reproduce since it's a kind of race condition bug. I guess the easiest way to reproduce the issue is as follows:

1. open xterm and type:

$ while true ; do ibus-daemon & sleep 5; killall ibus-daemon ; sleep 1 ; done

2. open another xterm and start gedit under gdb:

$ gdb gedit

3. on gedit, hold down Ctrl and Space (the IME hot-key) for a few minutes. IME should turn on and off very quickly.
4. After 1-2 minutes, you should get the following backtrace:

(gdb) r

(gedit:9363): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe90388a3 in ibus_connection_read_write_dispatch () from /usr/lib/libibus.so.2
(gdb) bt
#0 0x00007fffe90388a3 in ibus_connection_read_write_dispatch () from /usr/lib/libibus.so.2 #1 0x00007fffe904424d in ibus_input_context_process_key_event () from /usr/lib/libibus.so.2 #2 0x00007fffe926b9b7 in ?? () from /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so #3 0x00007ffff724b5c4 in gtk_invoke_key_snoopers (event=0x74b570) at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmain.c:1959 #4 IA__gtk_main_do_event (event=0x74b570) at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmain.c:1615 #5 0x00007ffff6ebf86c in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>)
    at /build/buildd/gtk+2.0-2.20.1/gdk/x11/gdkevents-x11.c:2372
#6 0x00007ffff59b58c2 in g_main_dispatch (context=0x6ebfb0) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:1960 #7 IA__g_main_context_dispatch (context=0x6ebfb0) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2513 #8 0x00007ffff59b9748 in g_main_context_iterate (context=0x6ebfb0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>)
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2591
#9 0x00007ffff59b9c55 in IA__g_main_loop_run (loop=0xa39570) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2799 #10 0x00007ffff724bb27 in IA__gtk_main () at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmain.c:1219
#11 0x000000000042bba5 in main ()


--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en

回复