Bug 564268

Summary: ibus-anthy crash with enabled global input method
Product: [Fedora] Fedora Reporter: fujiwara <tfujiwar>
Component: ibus-anthyAssignee: fujiwara <tfujiwar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: i18n-bugs, phuang, tagoh, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ibus-anthy-1.2.0.20100313-1.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-03-16 23:22:12 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:

Description fujiwara 2010-02-12 07:30:21 UTC
ibus-anthy crashes with rawhide ibus.

To reproduce:
1. Invoke ibus-setup.
2. Enable "Share the same input method among all applications" in [Advanced] tab.
3. Invoke ibus-setup-anthy.
4. Choose [Clear] in "Behavior on Focus Out" pull down menu in [General] tab.
5. Enable IM with Control + Space on a focused text window.
6. Switch the fucus to another window.

Then ibus-anthy crashes:

Traceback (most recent call last):
  File "/usr/share/ibus-anthy/engine/engine.py", line 760, in __update
    self.__update_input_chars()
  File "/usr/share/ibus-anthy/engine/engine.py", line 676, in __update_input_chars
    attrs, cursor, not self.__preedit_ja_string.is_empty())
  File "/usr/share/ibus-anthy/engine/engine.py", line 298, in update_preedit
    self.update_preedit_text(ibus.Text(string, attrs), cursor_pos, visible)
  File "/usr/lib/python2.6/site-packages/ibus/engine.py", line 90, in update_preedit_text
    return self.__proxy.UpdatePreeditText(text, cursor_pos, visible)
AttributeError: 'NoneType' object has no attribute 'UpdatePreeditText'

Comment 1 fujiwara 2010-02-12 07:51:55 UTC
Upstreamed the fix.
http://github.com/fujiwarat/ibus-anthy/commit/9f67c6def39759acefd5b877226a1b407685047c

The problem is, ibus.EngineProxy.Destroy() is called and the proxy == NULL when the focus is switched but ibus-anthy calls focus_out() and __invalidate() calls gobject.idle_add(). The idle function tries to access the NULL object.

Comment 2 fujiwara 2010-03-12 04:19:23 UTC
Integrated fix.
http://koji.fedoraproject.org/koji/taskinfo?taskID=2048131

Comment 3 Fedora Update System 2010-03-12 04:25:21 UTC
ibus-anthy-1.2.0.20100312-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/ibus-anthy-1.2.0.20100312-1.fc13

Comment 4 Fedora Update System 2010-03-12 05:44:58 UTC
ibus-anthy-1.2.0.20100312.1-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/ibus-anthy-1.2.0.20100312.1-1.fc13

Comment 5 Fedora Update System 2010-03-13 01:57:04 UTC
ibus-anthy-1.2.0.20100313-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/ibus-anthy-1.2.0.20100313-1.fc13

Comment 6 Fedora Update System 2010-03-14 13:42:09 UTC
ibus-anthy-1.2.0.20100313-1.fc13 has been pushed to the Fedora 13 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-anthy'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/ibus-anthy-1.2.0.20100313-1.fc13

Comment 7 Fedora Update System 2010-03-16 23:22:07 UTC
ibus-anthy-1.2.0.20100313-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.