← Back to team overview

touch-packages team mailing list archive

[Bug 1046805] Re: X IO Error : Using g_idle_add_full inside ibus_im_context_focus_in instead of gdk_threads_add_idle_full

 

Yehouda, has this bug been fixed for you?

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ibus in Ubuntu.
https://bugs.launchpad.net/bugs/1046805

Title:
  X IO Error : Using g_idle_add_full inside ibus_im_context_focus_in
  instead of gdk_threads_add_idle_full

Status in “ibus” package in Ubuntu:
  Confirmed

Bug description:
  This is a bug in ibus-gtk2 version 1.4, libray /usr/lib/x86_64-linux-
  gnu/gtk-2.0/2.10.0/immodules/im-ibus.so is in Ubuntu 12.04.

  It causes "random" X IO errors , because it is a multithreading bug.

  I reported it already to the ibus project at
   http://code.google.com/p/ibus/issues/detail?id=1505&thanks=1505&ts=1346933625, but it is a show stopper for us so we want a fast fix.

  ibus_im_context_focus_in in ibus/client/gtk2/ibusimcontext.c uses
  g_idle_add_full with a callback that call GDK functions, so it call
  them without the GDK lock.

  It should use instead gdk_threads_add_idle_full to make the callback
  run with a lock.

  Got broken by this commit
  https://github.com/ibus/ibus/commit/279ee5d5b3697b427cc22cd99a55f4e611318e25#client/gtk2/ibusimcontext.c

  Broken in ibus-gtk2 1.4, still ok in 1.3.

  
  ========    backtrace 

  Breakpoint 1, 0x00000040000b6094 in ?? ()
  (gdb) where
  #0  0x00000040000b6094 in ?? ()
  #1  0x00007ffff569841e in _XIOError ()
     from /usr/lib/x86_64-linux-gnu/libX11.so.6
  #2  0x00007ffff569638b in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
  #3  0x00007ffff5693407 in XTranslateCoordinates ()
     from /usr/lib/x86_64-linux-gnu/libX11.so.6
  #4  0x00007ffff5c02b2d in ?? ()
     from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
  #5  0x00007fffd8968caf in ?? ()
     from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so
  #6  0x00007ffff6910d53 in g_main_context_dispatch ()
     from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  #7  0x00007ffff69110a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  #8  0x00007ffff691149a in g_main_loop_run ()
     from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  #9  0x00000040000503ca in ?? ()
  #10 0x0000000000000000 in ?? ()

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1046805/+subscriptions


Follow ups