Bug 621795

Summary: [abrt] crash in ibus-1.3.6-1.fc12: ibus_object_destroy: Process /usr/bin/ibus-daemon was killed by signal 11 (SIGSEGV)
Product: [Fedora] Fedora Reporter: Danny Feng <dfeng>
Component: ibusAssignee: fujiwara <tfujiwar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: i18n-bugs, shawn.p.huang, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: abrt_hash:d0b53fd4d6f5ad00410b32e507e48355c50989f9
Fixed In Version: ibus-1.3.6-2.fc12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-09-22 00:39:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace none

Description Danny Feng 2010-08-06 07:24:39 UTC
abrt 1.1.1 detected a crash.

architecture: x86_64
Attached file: backtrace
cmdline: /usr/bin/ibus-daemon --xim
component: ibus
crash_function: ibus_object_destroy
executable: /usr/bin/ibus-daemon
global_uuid: d0b53fd4d6f5ad00410b32e507e48355c50989f9
kernel: 2.6.32.16-141.fc12.x86_64
package: ibus-1.3.6-1.fc12
rating: 4
reason: Process /usr/bin/ibus-daemon was killed by signal 11 (SIGSEGV)
release: Fedora release 12 (Constantine)

Comment 1 Danny Feng 2010-08-06 07:24:42 UTC
Created attachment 437050 [details]
File: backtrace

Comment 2 fujiwara 2010-08-09 03:22:26 UTC
Could you provide the log when you run 'ibus-daemon --ibus --verbose'

% pkill -9 im-settings-daemon
Close the process of ibus using right click menu on ibus panel icon.
or 
Kill ibus processes
% ibus-daemon --ibus --verbose

From your log, it seems ibus_error_new_from_message() returns DBUS_ERROR_NO_REPLY but I could not see this error when I add a delay in ibus engine.
I guess your dbus would be busy in a certain condition.
Probably the following patch could resolve your problem but I'd like to know how to reproduce your problem.

Are dbus processes running in your session?
# ps -ef | grep dbus
dbus       784     1  0 Jul23 ?        00:00:05 dbus-daemon --system
fujiwara 25757     1  0 11:33 ?        00:00:00 dbus-launch --sh-syntax --exit-with-session
fujiwara 25758     1  0 11:33 ?        00:00:00 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session

Which ibus engine do you use? ibus-pinyin?
# ps -ef | grep ibus
fujiwara  2485 25924  0 11:52 ?        00:00:00 /usr/bin/ibus-daemon --xim
fujiwara  2486  2485  0 11:52 ?        00:00:00 /usr/libexec/ibus-gconf
fujiwara  2488  2485  0 11:52 ?        00:00:00 python /usr/share/ibus/ui/gtk/main.py
fujiwara  2490     1  0 11:52 ?        00:00:00 /usr/libexec/ibus-x11 --kill-daemon
fujiwara  2491  2485  0 11:52 ?        00:00:00 /usr/libexec/ibus-engine-pinyin --ibus


--- ibus-1.3.6/bus/engineproxy.c.orig	2010-08-09 12:14:43.000000000 +0900
+++ ibus-1.3.6/bus/engineproxy.c	2010-08-09 12:15:43.000000000 +0900
@@ -564,7 +564,9 @@ bus_engine_proxy_process_key_event_reply
             /* reply timeout */
             IBusObject *connection;
             connection = (IBusObject *) ibus_proxy_get_connection ((IBusProxy *)call_data->engine);
-            ibus_object_destroy (connection);
+            if (connection) {
+                ibus_object_destroy (connection);
+            }
         }
         g_warning ("%s: %s", error->name, error->message);
         ibus_error_free (error);

Comment 3 Danny Feng 2010-08-09 10:08:19 UTC
(In reply to comment #2)
> Could you provide the log when you run 'ibus-daemon --ibus --verbose'
> 
> % pkill -9 im-settings-daemon
> Close the process of ibus using right click menu on ibus panel icon.
> or 
> Kill ibus processes
> % ibus-daemon --ibus --verbose
> 

/usr/lib/python2.6/site-packages/dbus/connection.py:242: DeprecationWarning: object.__init__() takes no parameters
  super(Connection, self).__init__(*args, **kwargs)

(ibus-daemon:11444): IBUS-WARNING **: org.freedesktop.DBus.Error.Failed: Can not get value [general->preload_engines]

> From your log, it seems ibus_error_new_from_message() returns
> DBUS_ERROR_NO_REPLY but I could not see this error when I add a delay in ibus
> engine.
> I guess your dbus would be busy in a certain condition.
> Probably the following patch could resolve your problem but I'd like to know
> how to reproduce your problem.
> 

I have many processes running, firefox and chrome with many pages, virtualbox running a guests, thunderbirds etc. When I switch back to chrome open a new page, and trying to ibus-pinyin, the ibus-pinyin took long time to show up, if I type something, the ibus will crash.  

> Are dbus processes running in your session?
Yes
> # ps -ef | grep dbus
> dbus       784     1  0 Jul23 ?        00:00:05 dbus-daemon --system
> fujiwara 25757     1  0 11:33 ?        00:00:00 dbus-launch --sh-syntax
> --exit-with-session
> fujiwara 25758     1  0 11:33 ?        00:00:00 /bin/dbus-daemon --fork
> --print-pid 5 --print-address 7 --session
> 
> Which ibus engine do you use? ibus-pinyin?
Yes, ibus-pinyin.
> # ps -ef | grep ibus
> fujiwara  2485 25924  0 11:52 ?        00:00:00 /usr/bin/ibus-daemon --xim
> fujiwara  2486  2485  0 11:52 ?        00:00:00 /usr/libexec/ibus-gconf
> fujiwara  2488  2485  0 11:52 ?        00:00:00 python
> /usr/share/ibus/ui/gtk/main.py
> fujiwara  2490     1  0 11:52 ?        00:00:00 /usr/libexec/ibus-x11
> --kill-daemon
> fujiwara  2491  2485  0 11:52 ?        00:00:00 /usr/libexec/ibus-engine-pinyin
> --ibus
> 
> 
> --- ibus-1.3.6/bus/engineproxy.c.orig 2010-08-09 12:14:43.000000000 +0900
> +++ ibus-1.3.6/bus/engineproxy.c 2010-08-09 12:15:43.000000000 +0900
> @@ -564,7 +564,9 @@ bus_engine_proxy_process_key_event_reply
>              /* reply timeout */
>              IBusObject *connection;
>              connection = (IBusObject *) ibus_proxy_get_connection ((IBusProxy
> *)call_data->engine);
> -            ibus_object_destroy (connection);
> +            if (connection) {
> +                ibus_object_destroy (connection);
> +            }
>          }
>          g_warning ("%s: %s", error->name, error->message);
>          ibus_error_free (error);

Comment 4 fujiwara 2010-08-10 03:31:39 UTC
(In reply to comment #3)

Could you install the following rpm if your problem can be fixed?
http://fujiwara.fedorapeople.org/ibus/20100810/2390634/ibus-1.3.6-2.fc12.x86_64.rpm

# rpm -e --nodeps ibus
# rpm -ivh ibus-1.3.6-2.fc12.x86_64.rpm

You also could get the original rpm:
# yumdownloader ibus
# rpm -ivh ibus-1.3.6-1.fc12.x86_64.rpm


I tested some CPU stress but I could not reproduce your problem with ibus-pinyin.

> (In reply to comment #2)
> /usr/lib/python2.6/site-packages/dbus/connection.py:242: DeprecationWarning:
> object.__init__() takes no parameters
>   super(Connection, self).__init__(*args, **kwargs)
> 
> (ibus-daemon:11444): IBUS-WARNING **: org.freedesktop.DBus.Error.Failed: Can
> not get value [general->preload_engines]

Probably those warnings are not related with your problem.

> I have many processes running, firefox and chrome with many pages, virtualbox
> running a guests, thunderbirds etc. When I switch back to chrome open a new
> page, and trying to ibus-pinyin, the ibus-pinyin took long time to show up, if
> I type something, the ibus will crash.  

OK, currently I have no idea to reproduce your problem.
However if the test rpm can fix your problem, I will integrate the patch.

Comment 5 fujiwara 2010-08-26 02:03:45 UTC
Danny Feng:
Any news about the patched rpm?

(In reply to comment #4)
> Could you install the following rpm if your problem can be fixed?
> http://fujiwara.fedorapeople.org/ibus/20100810/2390634/ibus-1.3.6-2.fc12.x86_64.rpm
> 
> OK, currently I have no idea to reproduce your problem.
> However if the test rpm can fix your problem, I will integrate the patch.

Comment 6 Danny Feng 2010-08-26 02:12:26 UTC
(In reply to comment #5)
> Danny Feng:
> Any news about the patched rpm?
> 
> (In reply to comment #4)
> > Could you install the following rpm if your problem can be fixed?
> > http://fujiwara.fedorapeople.org/ibus/20100810/2390634/ibus-1.3.6-2.fc12.x86_64.rpm
> > 
> > OK, currently I have no idea to reproduce your problem.
> > However if the test rpm can fix your problem, I will integrate the patch.

oh, sorry, just got time to test with it, but I'm failed to install it,
error: Failed dependencies:
        ibus-gtk = 1.3.6-2.fc12 is needed by ibus-1.3.6-2.fc12.x86_64
        ibus-libs = 1.3.6-2.fc12 is needed by ibus-1.3.6-2.fc12.x86_64

Comment 7 fujiwara 2010-08-26 03:06:25 UTC
(In reply to comment #6)
> oh, sorry, just got time to test with it, but I'm failed to install it,
> error: Failed dependencies:
>         ibus-gtk = 1.3.6-2.fc12 is needed by ibus-1.3.6-2.fc12.x86_64
>         ibus-libs = 1.3.6-2.fc12 is needed by ibus-1.3.6-2.fc12.x86_64

Sorry, I forgot that dependencies while the two versions have the same contents.
Could you try to get the necessary ibus rpms below again?
http://fujiwara.fedorapeople.org/ibus/20100810/2427671/

Comment 8 Danny Feng 2010-08-30 08:40:24 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > oh, sorry, just got time to test with it, but I'm failed to install it,
> > error: Failed dependencies:
> >         ibus-gtk = 1.3.6-2.fc12 is needed by ibus-1.3.6-2.fc12.x86_64
> >         ibus-libs = 1.3.6-2.fc12 is needed by ibus-1.3.6-2.fc12.x86_64
> 
> Sorry, I forgot that dependencies while the two versions have the same
> contents.
> Could you try to get the necessary ibus rpms below again?
> http://fujiwara.fedorapeople.org/ibus/20100810/2427671/

I'm not able to reproduce the crash since upgrade to this, thanks

Comment 9 fujiwara 2010-08-31 01:42:14 UTC
Thanks for the test. I'll fix this issue next week.

Comment 11 Fedora Update System 2010-09-15 02:02:01 UTC
ibus-1.3.6-2.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/ibus-1.3.6-2.fc13

Comment 12 Fedora Update System 2010-09-15 02:02:13 UTC
ibus-1.3.6-2.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/ibus-1.3.6-2.fc12

Comment 13 Fedora Update System 2010-09-15 22:30:16 UTC
ibus-1.3.6-2.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update ibus'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/ibus-1.3.6-2.fc12

Comment 14 Fedora Update System 2010-09-22 00:38:50 UTC
ibus-1.3.6-2.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2010-09-26 04:31:31 UTC
ibus-1.3.6-2.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.