Bug 860135

Summary: ibus-anthy SIGABRT by the candidate length
Product: [Fedora] Fedora Reporter: Mamoru TASAKA <mtasaka>
Component: ibus-anthyAssignee: fujiwara <tfujiwar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: bkabrda, dmalcolm, i18n-bugs, ivazqueznet, jonathansteffan, shawn.p.huang, tagoh, tfujiwar, tomspur
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Unspecified   
Whiteboard: abrt_hash:66c7abc4b25e6da8b0aba986d999e8d939a2cede
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-20 16:23:40 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: core_backtrace
none
File: environ
none
File: backtrace
none
File: limits
none
File: cgroup
none
File: maps
none
File: dso_list
none
File: var_log_messages
none
File: open_fds none

Description Mamoru TASAKA 2012-09-25 04:55:44 UTC
Description of problem:
I guess I was trying to change input method by ctrl-space and so on. Not sure how to reproduce this in detail.

Version-Release number of selected component:
python-2.7.3-7.2.fc17

Additional info:
libreport version: 2.0.13
abrt_version:   2.0.12
backtrace_rating: 4
cmdline:        /usr/bin/python /usr/share/ibus-anthy/engine/main.py --ibus
crash_function: ibus_lookup_table_set_cursor_pos
kernel:         3.5.4-1.fc17.i686

truncated backtrace:
:Thread no. 1 (10 frames)
: #5 ibus_lookup_table_set_cursor_pos at ibuslookuptable.c
: #6 ffi_call_SYSV at ../src/x86/sysv.S
: #7 ffi_call at ../src/x86/ffi.c
: #8 g_callable_info_invoke at girepository/gicallableinfo.c
: #9 g_function_info_invoke at girepository/gifunctioninfo.c
: #10 _invoke_callable at pygi-invoke.c
: #11 _wrap_g_callable_info_invoke at pygi-invoke.c
: #12 PyCFunction_Call at /usr/src/debug/Python-2.7.3/Objects/methodobject.c
: #13 ext_do_call at /usr/src/debug/Python-2.7.3/Python/ceval.c
: #14 PyEval_EvalFrameEx at /usr/src/debug/Python-2.7.3/Python/ceval.c

Comment 1 Mamoru TASAKA 2012-09-25 04:55:48 UTC
Created attachment 616846 [details]
File: core_backtrace

Comment 2 Mamoru TASAKA 2012-09-25 04:55:50 UTC
Created attachment 616847 [details]
File: environ

Comment 3 Mamoru TASAKA 2012-09-25 04:55:52 UTC
Created attachment 616848 [details]
File: backtrace

Comment 4 Mamoru TASAKA 2012-09-25 04:55:54 UTC
Created attachment 616849 [details]
File: limits

Comment 5 Mamoru TASAKA 2012-09-25 04:55:56 UTC
Created attachment 616850 [details]
File: cgroup

Comment 6 Mamoru TASAKA 2012-09-25 04:55:58 UTC
Created attachment 616851 [details]
File: maps

Comment 7 Mamoru TASAKA 2012-09-25 04:56:00 UTC
Created attachment 616852 [details]
File: dso_list

Comment 8 Mamoru TASAKA 2012-09-25 04:56:02 UTC
Created attachment 616853 [details]
File: var_log_messages

Comment 9 Mamoru TASAKA 2012-09-25 04:56:04 UTC
Created attachment 616854 [details]
File: open_fds

Comment 10 Mamoru TASAKA 2012-09-25 05:46:21 UTC
Once switching to ibus.

Comment 11 Mamoru TASAKA 2012-09-25 05:53:21 UTC
Not sure what is going on (and not sure how to reproduce this), however:

(gdb) up
#1  0x4fc3b93f in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) up
#2  0x4fc3d359 in __GI_abort () at abort.c:120
120	      raise (SIGABRT);
(gdb) up
#3  0x4fec28d9 in g_assertion_message (domain=domain@entry=0x41459c54 "IBUS", file=file@entry=
    0x4145d3c1 "ibuslookuptable.c", line=line@entry=323, func=func@entry=
    0x4145d680 "ibus_lookup_table_set_cursor_pos", message=
    0x9f15040 "assertion failed: (cursor_pos < table->candidates->len)") at gtestutils.c:1861
1861	  abort();
(gdb) up
#4  0x4fec2ee0 in g_assertion_message_expr (domain=domain@entry=0x41459c54 "IBUS", file=file@entry=
    0x4145d3c1 "ibuslookuptable.c", line=323, func=0x4145d680 "ibus_lookup_table_set_cursor_pos", expr=
    0x4145d41c "cursor_pos < table->candidates->len") at gtestutils.c:1872
1872	  g_assertion_message (domain, file, line, func, s);
(gdb) up
#5  0x414438cc in ibus_lookup_table_set_cursor_pos (table=0x9f2bef8 [IBusLookupTable], cursor_pos=0)
    at ibuslookuptable.c:323
323	    g_assert (cursor_pos < table->candidates->len);
(gdb) p cursor_pos
$1 = 0
(gdb) p *table
$2 = {parent = {parent = {parent = {g_type_instance = {g_class = 0x9efb478}, ref_count = 1, qdata = 0x9e545c8}, 
      flags = 0, priv = 0x9f2bf30}, priv = 0x9f2bf38}, page_size = 10, cursor_pos = 1, cursor_visible = 1, round = 1, 
  orientation = 2, candidates = 0x9e52b20, labels = 0x9f48c00}
(gdb) p *(table->candidates)
$3 = {data = 0x9f10260 "", len = 0}

Comment 12 fujiwara 2012-09-26 10:48:53 UTC
(In reply to comment #3)
> Created attachment 616848 [details]
> File: backtrace

> #18 PyEval_EvalFrameEx (f=Frame 0x9f1eb14, for file /usr/share/ibus-anthy/engine/engine.py, line 1170, in __on_key_back_space (self=<Engine(_Engine__lookup_table=<LookupTable at remote 0x9e87f2c>, _Engine__ibus_version=<float at remote 0x9a02194>, _RSS=0, _Engine__dict_mode=0, _Engine__cursor_pos=0, _Engine__preedit_ja_string=<JaString(_JaString__cursor=1, _JaString__mode=0, _JaString__segments=[<RomajiSegment(_jachars=u'\u3059', _enchars=u'su') at remote 0x9e0d5cc>], _JaString__shift=False) at remote 0x9e0d4ec>, _RMM=0, _Engine__input_mode=0, _H=0, _Engine__convert_chars=u'', _Engine__segment_mode=0, _Engine__is_utf8=True, _Engine__segments=[(0, u'\u6570\u5b66')], _Engine__lookup_table_visible=True, _Engine__idle_id=0, _Engine__context=<GContext at remote 0x9e87e8c>, _SS=0, _Engine__convert_mode=13, _Engine__prop_dict={'InputMode.Hiragana': <Property at remote 0x9e87f7c>, 'InputMode.HalfWidthKatakana': <Property at remote 0x9e8a02c>, 'TypingMode.Kana': <Property at remote 0x9e8a16c>, 'DictMode.anthy_zipcode': <Property at remote 0x9e...(truncated), throwflag=throwflag@entry=0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740


From your log, you got the problem when you pressed BackSpace key.
The candidate list is cleared when press Esc and Ctrl+comma and etc.
I tried some tests but I could not reproduce your problem.

Since you give the table->candidates->len is 0, I can avoid the problem but it would be great if you could find the reproducing steps to fix the root cause.

Comment 14 Fedora Update System 2012-10-06 14:16:33 UTC
ibus-anthy-1.4.99.20121006-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/ibus-anthy-1.4.99.20121006-1.fc18

Comment 15 Fedora Update System 2012-10-06 14:17:02 UTC
ibus-anthy-1.4.99.20121006-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/ibus-anthy-1.4.99.20121006-1.fc17

Comment 16 Fedora Update System 2012-10-06 18:41:53 UTC
Package ibus-anthy-1.4.99.20121006-1.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ibus-anthy-1.4.99.20121006-1.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-15532/ibus-anthy-1.4.99.20121006-1.fc18
then log in and leave karma (feedback).

Comment 17 Fedora Update System 2012-12-20 16:23:43 UTC
ibus-anthy-1.4.99.20121006-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.