Bug 664638 - [abrt] ibus-1.3.9-1.fc13: enginedesc.py:112:deserialize:IndexError: pop from empty list
[abrt] ibus-1.3.9-1.fc13: enginedesc.py:112:deserialize:IndexError: pop from ...
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: ibus (Show other bugs)
13
x86_64 Unspecified
low Severity medium
: ---
: ---
Assigned To: fujiwara
Fedora Extras Quality Assurance
abrt_hash:184c4916
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-12-20 22:48 EST by Corey Ashford
Modified: 2010-12-21 22:01 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-12-21 19:14:28 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
File: backtrace (905 bytes, text/plain)
2010-12-20 22:48 EST, Corey Ashford
no flags Details

  None (edit)
Description Corey Ashford 2010-12-20 22:48:21 EST
abrt version: 1.1.14
architecture: x86_64
component: ibus
executable: /usr/share/ibus/setup/main.py
kernel: 2.6.34.7-61.fc13.x86_64
package: ibus-1.3.9-1.fc13
reason: enginedesc.py:112:deserialize:IndexError: pop from empty list
release: Fedora release 13 (Goddard)
time: 1292903237
uid: 500

backtrace
-----
enginedesc.py:112:deserialize:IndexError: pop from empty list

Traceback (most recent call last):
  File "/usr/share/ibus/setup/main.py", line 464, in <module>
    setup = Setup()
  File "/usr/share/ibus/setup/main.py", line 81, in __init__
    self.__init_ui()
  File "/usr/share/ibus/setup/main.py", line 198, in __init_ui
    self.__engines = self.__bus.list_engines()
  File "/usr/lib/python2.6/site-packages/ibus/bus.py", line 133, in list_engines
    return map(serializable.deserialize_object, engines)
  File "/usr/lib/python2.6/site-packages/ibus/serializable.py", line 54, in deserialize_object
    o.deserialize (struct)
  File "/usr/lib/python2.6/site-packages/ibus/enginedesc.py", line 112, in deserialize
    self.__hotkeys = struct.pop(0)
IndexError: pop from empty list

Local variables in innermost frame:
self: <EngineDesc object at 0x2b9a460 (PYIBusEngineDesc at 0x2c49f40)>
struct: []

How to reproduce
-----
1. right-clicked and selected preferences, then it crashed.
2.
3.
Comment 1 Corey Ashford 2010-12-20 22:48:23 EST
Created attachment 469894 [details]
File: backtrace
Comment 2 fujiwara 2010-12-21 00:42:13 EST
I cannot reproduce your problem.

(In reply to comment #0)
>   File "/usr/share/ibus/setup/main.py", line 198, in __init_ui
>     self.__engines = self.__bus.list_engines()

Which ibus engines do you enabled? ibus-anthy, ibus-pinyin?


Maybe you use the old configuration.
How about running the following command or a new account?

% ibus-daemon --replace --cache refresh
Comment 3 Corey Ashford 2010-12-21 02:34:57 EST
Package: ibus-1.3.9-1.fc13
Architecture: x86_64
OS Release: Fedora release 13 (Goddard)


How to reproduce
-----
1. right-clicked and selected preferences, then it crashed.
2.
3.
Comment 4 fujiwara 2010-12-21 02:53:59 EST
I put the questions in comment #2.
Comment 5 Corey Ashford 2010-12-21 14:03:50 EST
(In reply to comment #4)
> I put the questions in comment #2.

Sorry about that repost of the bug.  That was an accident.

I am using the ibus-pinyin engine.

I tried running ibus-daemon --replace --cache refresh, and I get this message when I start it up:

% ibus-daemon --replace --cache refresh

(ibus-engine-m17n:10532): IBUS-CRITICAL **: ibus_bus_get_config: assertion `ibus_bus_is_connected (bus)' failed

However, I am able to set the preferences at that point.

Should this bug be closed?  (that CRITICAL message concerns me)
Comment 6 fujiwara 2010-12-21 19:14:28 EST
(In reply to comment #5)
> Should this bug be closed?  (that CRITICAL message concerns me)

Thanks for the test. Closing this bug.

Regarding to the CRITICAL message, I think it's good to file a new bug for ibus-m17n instead of ibus.
Probably I think it's not good to access gconf during parsing the compose-xml files. CC'ing the maintainer.

% /usr/libexec/ibus-engine-m17n --xml
--- engine.c.orig
+++ engine.c
@@ -90,9 +90,11 @@
 void
 ibus_m17n_init (IBusBus *bus)
 {
-    config = ibus_bus_get_config (bus);
-    if (config)
-        g_object_ref_sink (config);
+    if (ibus_bus_is_connected (bus)) {
+        config = ibus_bus_get_config (bus);
+        if (config)
+            g_object_ref_sink (config);
+    }
     ibus_m17n_init_common ();
 }
Comment 7 Daiki Ueno 2010-12-21 20:52:23 EST
(In reply to comment #6)
> Regarding to the CRITICAL message, I think it's good to file a new bug for
> ibus-m17n instead of ibus.

Thanks for noticing this.

> Probably I think it's not good to access gconf during parsing the compose-xml
> files.

Yes, and this was fixed in F-14 and Rawhide, with the patch:
http://codereview.appspot.com/2235043

I'll repackage it for F-13 soon.
Comment 8 Daiki Ueno 2010-12-21 22:01:07 EST
Corey, could you try:
https://admin.fedoraproject.org/updates/ibus-m17n-1.3.1-8.fc13
and add karma if it works?

Note You need to log in before you can comment on or make changes to this bug.