Bug 1182813 - ibus-chewing crashes gedit in search box while window out of focus
Summary: ibus-chewing crashes gedit in search box while window out of focus
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: ibus-chewing
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Ding-Yi Chen
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/definite/ibus-chew...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-16 00:53 UTC by Ding-Yi Chen
Modified: 2016-05-18 12:06 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-18 12:06:13 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ding-Yi Chen 2015-01-16 00:53:02 UTC
Description of problem:

See https://github.com/definite/ibus-chewing/issues/28 for details



How to reproduce:
Always

Version-Release number of selected component (if applicable):
ibus-chewing 1.4


How reproducible:
Always

Steps to Reproduce:
1. Open gedit
2. Press Ctl+F to open the search box
3. Switch input method to ibus-chewing
4. Enter any chinese character, for example "找" without actuall commit it
5. Press Alt+Tab or Hover the mouse to Hot Corner of GNOME Shell
 
Actual results:
gedit crashed


Expected results:
After Alt+Tab, the string is committed.
Not crash

Additional info:

Comment 1 Fedora End Of Life 2015-11-04 12:13:09 UTC
This message is a reminder that Fedora 21 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 21. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '21'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 21 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 2 Pravin Satpute 2015-11-25 11:57:48 UTC
Hi Dchen :)

Is this bug still reproducible in Fedora 23?  If not lets close else move to Fedora 23.

Comment 3 Ting-Wei Lan 2015-11-25 12:09:49 UTC
I reproduced it on Fedora 23:

#0  0x00007fda1d765190 in _gtk_text_btree_get_chars_changed_stamp (tree=0x1) at gtktextbtree.c:543
#1  0x00007fda1d77e424 in gtk_text_iter_make_surreal (_iter=0x7ffcb8640610) at gtktextiter.c:173
#2  0x00007fda1d780743 in gtk_text_iter_is_end (iter=iter@entry=0x7ffcb8640610) at gtktextiter.c:1604
#3  0x00007fda1e019f3b in smart_forward_search_async (wrapped_around=<synthetic pointer>, start_at=0x7ffcb8640610, search=0x555f25eef660 [GtkSourceSearchContext])
    at gtksourcesearchcontext.c:1016
#4  0x00007fda1e019f3b in smart_forward_search_async (search=search@entry=0x555f25eef660 [GtkSourceSearchContext], start_at=start_at@entry=0x7ffcb8640840, wrapped_around=wrapped_around@entry=0) at gtksourcesearchcontext.c:1133
#5  0x00007fda1e01e87b in gtk_source_search_context_forward_async (search=search@entry=0x555f25eef660 [GtkSourceSearchContext], iter=iter@entry=0x7ffcb8640840, cancellable=cancellable@entry=0x0, callback=callback@entry=0x7fda1e93c300 <start_search_finished>, user_data=user_data@entry=0x555f25ce7130) at gtksourcesearchcontext.c:3364
#6  0x00007fda1e93be5f in start_search (frame=frame@entry=0x555f25ce7130 [GeditViewFrame]) at gedit/gedit-view-frame.c:359
#7  0x00007fda1e93d181 in search_entry_changed_cb (entry=<optimized out>, frame=0x555f25ce7130 [GeditViewFrame]) at gedit/gedit-view-frame.c:1129
#11 0x00007fda1b4cedc5 in <emit signal 0x7fda1d8861b8 "changed" on instance 0x555f25a964c0 [GdTaggedEntry]> (instance=instance@entry=0x555f25a964c0, detailed_signal=detailed_signal@entry=0x7fda1d8861b8 "changed") at gsignal.c:3479
    #8  0x00007fda1b4b37a5 in g_closure_invoke (closure=0x555f25d3d6e0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffcb8640b20, invocation_hint=invocation_hint@entry=0x7ffcb8640aa0) at gclosure.c:801
    #9  0x00007fda1b4c5851 in signal_emit_unlocked_R (node=node@entry=0x555f2572da60, detail=detail@entry=0, instance=instance@entry=0x555f25a964c0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffcb8640b20) at gsignal.c:3627
    #10 0x00007fda1b4ce530 in g_signal_emit_valist (instance=instance@entry=0x555f25a964c0, signal_id=signal_id@entry=254, detail=detail@entry=0, var_args=var_args@entry=0x7ffcb8640d28) at gsignal.c:3383
#12 0x00007fda1d62fb01 in end_change (entry=0x555f25a964c0 [GdTaggedEntry]) at gtkentry.c:2872
#13 0x00007fda1d633664 in gtk_entry_real_insert_text (editable=0x555f25a964c0, new_text=<optimized out>, new_text_length=<optimized out>, position=0x7ffcb8641424)
    at gtkentry.c:5317
#17 0x00007fda1b4cedc5 in <emit signal 0x7fda1d840eee "insert-text" on instance 0x555f25a964c0 [GdTaggedEntry]> (instance=instance@entry=0x555f25a964c0, detailed_signal=detailed_signal@entry=0x7fda1d840eee "insert-text") at gsignal.c:3479
    #14 0x00007fda1b4b37a5 in g_closure_invoke (closure=closure@entry=0x555f2584bc30, return_value=return_value@entry=0x0, n_param_values=4, param_values=param_values@entry=0x7ffcb8641070, invocation_hint=invocation_hint@entry=0x7ffcb8640ff0) at gclosure.c:801
    #15 0x00007fda1b4c5dfe in signal_emit_unlocked_R (node=node@entry=0x555f2572d8a0, detail=detail@entry=0, instance=instance@entry=0x555f25a964c0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffcb8641070) at gsignal.c:3665
    #16 0x00007fda1b4ce530 in g_signal_emit_valist (instance=instance@entry=0x555f25a964c0, signal_id=signal_id@entry=252, detail=detail@entry=0, var_args=var_args@entry=0x7ffcb86412b8) at gsignal.c:3383
#18 0x00007fda1d62dba5 in gtk_entry_insert_text (editable=0x555f25a964c0, new_text=0x555f2582a110 "找", new_text_length=3, position=0x7ffcb8641424) at gtkentry.c:5068
#19 0x00007fda1d637842 in gtk_entry_commit_cb (str=0x555f2582a110 "找", entry=0x555f25a964c0 [GdTaggedEntry]) at gtkentry.c:6046
#20 0x00007fda1d637842 in gtk_entry_commit_cb (context=<optimized out>, str=0x555f2582a110 "找", entry=0x555f25a964c0 [GdTaggedEntry]) at gtkentry.c:5962
#21 0x00007fda1b4b625a in g_cclosure_marshal_VOID__STRINGv (closure=0x555f25d52860, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555f25857d80) at gmarshal.c:1794
#22 0x00007fda1b4b39d4 in _g_closure_invoke_va (closure=closure@entry=0x555f25d52860, return_value=return_value@entry=0x0, instance=instance@entry=0x555f25d3b960, args=args@entry=0x7ffcb8641728, n_params=<optimized out>, param_types=0x555f25857d80) at gclosure.c:864
#23 0x00007fda1b4ce2bd in g_signal_emit_valist (instance=instance@entry=0x555f25d3b960, signal_id=signal_id@entry=277, detail=detail@entry=0, var_args=var_args@entry=0x7ffcb8641728) at gsignal.c:3292
#24 0x00007fda1b4cedc5 in g_signal_emit_by_name (instance=0x555f25d3b960, detailed_signal=0x7fda1d867638 "commit") at gsignal.c:3479
#25 0x00007fda1b4b625a in g_cclosure_marshal_VOID__STRINGv (closure=0x555f25d7e4c0, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555f25857d80) at gmarshal.c:1794
#26 0x00007fda1b4b39d4 in _g_closure_invoke_va (closure=closure@entry=0x555f25d7e4c0, return_value=return_value@entry=0x0, instance=instance@entry=0x555f25d49c70, args=args@entry=0x7ffcb8641ae0, n_params=<optimized out>, param_types=0x555f25857d80) at gclosure.c:864
#27 0x00007fda1b4ce2bd in g_signal_emit_valist (instance=0x555f25d49c70, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffcb8641ae0) at gsignal.c:3292
#28 0x00007fda1b4ce8ff in g_signal_emit (instance=instance@entry=0x555f25d49c70, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3439
#29 0x00007fda021bfeaa in _ibus_context_commit_text_cb (ibuscontext=<optimized out>, text=<optimized out>, ibusimcontext=0x555f25d49c70 [IBusIMContext])
    at ibusimcontext.c:1193
#30 0x00007fda1b4b68a7 in g_cclosure_marshal_VOID__OBJECTv (closure=0x555f25dc94c0, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=0x0, n_params=<optimized out>, param_types=0x555f25da5a80) at gmarshal.c:2102
#31 0x00007fda1b4b39d4 in _g_closure_invoke_va (closure=closure@entry=0x555f25dc94c0, return_value=return_value@entry=0x0, instance=instance@entry=0x555f25c97f50, args=args@entry=0x7ffcb8641e40, n_params=<optimized out>, param_types=0x555f25da5a80) at gclosure.c:864
#32 0x00007fda1b4ce2bd in g_signal_emit_valist (instance=0x555f25c97f50, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffcb8641e40) at gsignal.c:3292
#33 0x00007fda1b4ce8ff in g_signal_emit (instance=instance@entry=0x555f25c97f50, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3439
#34 0x00007fda01f6e8b4 in ibus_input_context_g_signal (proxy=0x555f25c97f50 [IBusInputContext], sender_name=0x555f260c8be0 "org.freedesktop.IBus", signal_name=0x555f255ad250 "CommitText", parameters=0x7fd9fc021460) at ibusinputcontext.c:616
#35 0x00007fda15ff0d30 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#36 0x00007fda15ff079b in ffi_call (cif=cif@entry=0x7ffcb86421a0, fn=<optimized out>, rvalue=0x7ffcb8642100, avalue=avalue@entry=0x7ffcb8642080)
    at ../src/x86/ffi64.c:525
#41 0x00007fda1b4ce8ff in <emit signal ??? on instance 0x555f25c97f50 [IBusInputContext]> (instance=instance@entry=0x555f25c97f50, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3439
    #37 0x00007fda1b4b3fc9 in g_cclosure_marshal_generic (closure=0x555f2556bde0, return_gvalue=0x0, n_param_values=<optimized out>, param_values=0x7ffcb86423d0, invocation_hint=<optimized out>, marshal_data=0x7fda01f6e6c0 <ibus_input_context_g_signal>) at gclosure.c:1487
    #38 0x00007fda1b4b37a5 in g_closure_invoke (closure=closure@entry=0x555f2556bde0, return_value=return_value@entry=0x0, n_param_values=4, param_values=param_values@entry=0x7ffcb86423d0, invocation_hint=invocation_hint@entry=0x7ffcb8642350) at gclosure.c:801
    #39 0x00007fda1b4c5dfe in signal_emit_unlocked_R (node=node@entry=0x555f2556be10, detail=detail@entry=0, instance=instance@entry=0x555f25c97f50, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffcb86423d0) at gsignal.c:3665
    #40 0x00007fda1b4ce530 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffcb86425d0) at gsignal.c:3383
#42 0x00007fda1bd46b2c in on_signal_received (connection=<optimized out>, sender_name=0x7fd9fc02ef90 "org.freedesktop.IBus", object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7fd9fc050190 "CommitText", parameters=0x7fd9fc021460, user_data=0x555f25b2f770) at gdbusproxy.c:917
#43 0x00007fda1bd36554 in emit_signal_instance_in_idle_cb (data=0x7fd9fc0079a0) at gdbusconnection.c:3701
#44 0x00007fda1b1b4e3a in g_main_context_dispatch (context=0x555f2556a430) at gmain.c:3154
#45 0x00007fda1b1b4e3a in g_main_context_dispatch (context=context@entry=0x555f2556a430) at gmain.c:3769
#46 0x00007fda1b1b51d0 in g_main_context_iterate (context=context@entry=0x555f2556a430, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at gmain.c:3840
#47 0x00007fda1b1b527c in g_main_context_iteration (context=0x555f2556a430, context@entry=0x0, may_block=may_block@entry=1) at gmain.c:3901
#48 0x00007fda1bd13a0c in g_application_run (application=0x555f25565190 [GeditAppX11], argc=1, argv=0x7ffcb8642998) at gapplication.c:2311
#49 0x0000555f23f32f1a in main (argc=1, argv=0x7ffcb8642998) at gedit/gedit.c:146


ibus-libzhuyin doesn't have this problem.

Comment 4 Ting-Wei Lan 2015-11-25 12:10:58 UTC
(gedit:9216): Gtk-CRITICAL **: gtk_text_buffer_get_iter_at_mark: assertion 'GTK_IS_TEXT_MARK (mark)' failed

Program received signal SIGSEGV, Segmentation fault.
_gtk_text_btree_get_chars_changed_stamp (tree=0x1) at gtktextbtree.c:543
543	  return tree->chars_changed_stamp;

Comment 5 Pravin Satpute 2015-11-25 13:39:35 UTC
Is this bug still exist in F23? Is not please close else move to F23. 
We don't want to loose any valuable bug :)

Comment 6 Pravin Satpute 2015-11-26 04:19:34 UTC
Thanks Ting-Wei Lan. Moving to F23.

Comment 7 Ding-Yi Chen 2016-01-14 08:25:01 UTC
Mitigated with commit c51ad13292f739790494b8b22a23b35a04e2cd9e
Note that you need to turn on "Clean pre-edit buffer when focus out" to mitigate this issue.

Comment 8 Fedora Update System 2016-05-05 15:14:43 UTC
ibus-chewing-1.5.0-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-3fa61a9a2a

Comment 9 Fedora Update System 2016-05-06 20:55:38 UTC
ibus-chewing-1.5.0-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-3fa61a9a2a

Comment 10 Fedora Update System 2016-05-16 22:27:34 UTC
ibus-chewing-1.5.0-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.


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