abrt 1.0.9 detected a crash. architecture: i686 cmdline: python /usr/share/ibus-anthy/engine/main.py --ibus component: ibus-anthy executable: /usr/share/ibus-anthy/engine/main.py kernel: 2.6.32.9-70.fc12.i686 package: ibus-anthy-1.2.0.20100115-1.fc12 reason: engine.py:691:__update_anthy_convert_chars:IndexError: list index out of range release: Fedora release 12 (Constantine) backtrace ----- engine.py:691:__update_anthy_convert_chars:IndexError: list index out of range Traceback (most recent call last): File "/usr/share/ibus-anthy/engine/engine.py", line 706, in __update self.__update_convert_chars() File "/usr/share/ibus-anthy/engine/engine.py", line 628, in __update_convert_chars self.__update_anthy_convert_chars() File "/usr/share/ibus-anthy/engine/engine.py", line 691, in __update_anthy_convert_chars pos, pos + len(self.__segments[self.__cursor_pos][1]))) IndexError: list index out of range Local variables in innermost frame: i: 0 text: u'\u5148\u751f\u3092' self: <Engine object at 0xb5e5bc5c (PYIBusObject at 0x977c2a0)> pos: 3 attrs: <AttrList object at 0xb5e6cf04 (PYIBusAttrList at 0x977c300)> seg_index: 0
Created attachment 412785 [details] File: backtrace
How do you reproduce your problem? I cannot reproduce it. From your stack, I created the following test case: % cat test.py #!/usr/bin/python # -*- coding: utf-8 -*- def __update_anthy_convert_chars(__cursor_pos): __convert_chars = u"" pos = 0 __segments = list() __segments.append((0, u"\u5148\u751f\u3092")) __segments.append((0, u"\u5148\u751f\u3092")) for i, (seg_index, text) in enumerate(__segments): __convert_chars += text if i < __cursor_pos: pos + len(text) print "i =", i print "text =", text print "pos =", pos print "seg_index =", seg_index print "__cursor_pos =", __cursor_pos print "len =", len(__segments) print __segments[__cursor_pos] def main(): print "#### possible situation" __update_anthy_convert_chars(0) #print "#### impossible situation" #__update_anthy_convert_chars(2) main() % python test.py If I commented out the two lines of impossible situation in the script, I could see the same error. But I think the '__cursor_pos' value is always within __segments[]. So I need to know how to reproduce your problem. Maybe you typed something, something, "senseino", something..., moved the cursor with a special way and typed space key. I tested several ways but the cursor position is always within the preedit segments and cannot reproduce your problem. If I will add 'if self.__cursor_pos >= len(__segments):', the main problem will be fixed but I think the root cause should be fixed instead.
Also your version ibus-anthy-1.2.0.20100115-1.fc12 is slightly old. I'd ask if you can reproduce your problem with the latest ibus-anthy. # yum install ibus-anthy
tk01: Do you have any responses? I'd like to close this as WORKSFORME.