Bug 665178

Summary: Change input method in gtk2 application -> gtk2 application crashes
Product: [Fedora] Fedora Reporter: sangu <sangu.fedora>
Component: ibusAssignee: fujiwara <tfujiwar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhideCC: dueno, i18n-bugs, shawn.p.huang, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-12-28 05:46:15 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 sangu 2010-12-23 01:07:38 UTC
Description of problem:
Change input method in xchat -> xchat crashes
$ gdb xchat
(xchat:4719): GLib-GIO-CRITICAL **: g_dbus_proxy_call_sync: assertion `error == NULL || *error == NULL' failed

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6e988c9 in vfprintf () from /lib64/libc.so.6

(gdb) bt
#0  0x00007ffff6e988c9 in vfprintf () from /lib64/libc.so.6
#1  0x00007ffff6f4e2a5 in __vasprintf_chk () from /lib64/libc.so.6
#2  0x00007ffff24b6ceb in vasprintf (__ap=<value optimized out>, 
    __fmt=<value optimized out>, __ptr=0x7fffffffd0f8)
    at /usr/include/bits/stdio2.h:199
#3  g_vasprintf (string=0x7fffffffd0f8, format=<value optimized out>, 
    args=<value optimized out>) at gprintf.c:318
#4  0x00007ffff24918c0 in g_strdup_vprintf (format=<value optimized out>, 
    args=<value optimized out>) at gstrfuncs.c:255
#5  0x00007ffff247aa76 in g_logv (log_domain=0x7fffe849c430 "IBUS", 
    log_level=<value optimized out>, format=0x7fffe849f1ea "%s.GetEngine: %s", 
    args1=0x7fffffffd5e0) at gmessages.c:524
#6  0x00007ffff247ae73 in g_log (log_domain=<value optimized out>, 
    log_level=<value optimized out>, format=<value optimized out>)
    at gmessages.c:577
#7  0x00007fffe8490e24 in ibus_input_context_get_engine (context=0x88f6f0)
    at ibusinputcontext.c:946
#8  0x00007fffe86b6ada in _negotiate_capabilities (context=0x7c6ea0)
    at ibusimcontext.c:708
#9  0x00007ffff38a2ace in g_closure_invoke (closure=0x8d6f90, return_value=
    0x0, n_param_values=1, param_values=0x35ec820, invocation_hint=
    0x7fffffffd870) at gclosure.c:766
#10 0x00007ffff38b54ab in signal_emit_unlocked_R (node=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    detail=0, instance=0x88f6f0, emission_return=0x0, instance_and_params=
    0x35ec820) at gsignal.c:3252
#11 0x00007ffff38bf3aa in g_signal_emit_valist (
    instance=<value optimized out>, signal_id=<value optimized out>, 
    detail=<value optimized out>, var_args=0x7fffffffda60) at gsignal.c:2983
#12 0x00007ffff38bf563 in g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>)
    at gsignal.c:3040
#13 0x00007fffe8490138 in ibus_input_context_g_signal (proxy=0x88f6f0, 
    sender_name=0x35a49f0 "org.freedesktop.DBus", signal_name=
    0x8bf500 "EngineChanged", parameters=0x729470) at ibusinputcontext.c:568
#14 0x00007ffff38a2ace in g_closure_invoke (closure=0x85c2f0, return_value=
    0x0, n_param_values=4, param_values=0x3230c00, invocation_hint=
    0x7fffffffdd00) at gclosure.c:766
#15 0x00007ffff38b52a0 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=0, instance=0x88f6f0, emission_return=0x0, instance_and_params=
    0x3230c00) at gsignal.c:3290
#16 0x00007ffff38bf3aa in g_signal_emit_valist (
    instance=<value optimized out>, signal_id=<value optimized out>, 
    detail=<value optimized out>, var_args=0x7fffffffdef0) at gsignal.c:2983
#17 0x00007ffff38bf563 in g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>)
    at gsignal.c:3040
---Type <return> to continue, or q <return> to quit---
#18 0x00007ffff59a3362 in emit_signal_instance_in_idle_cb (data=0x7fffe0002f70)
    at gdbusconnection.c:3399
#19 0x00007ffff2471b5f in g_main_dispatch (context=0x6e02d0) at gmain.c:2436
#20 g_main_context_dispatch (context=0x6e02d0) at gmain.c:3009
#21 0x00007ffff2472370 in g_main_context_iterate (context=0x6e02d0, block=1, 
    dispatch=1, self=<value optimized out>) at gmain.c:3087
#22 0x00007ffff2472a42 in g_main_loop_run (loop=0x822250) at gmain.c:3295
#23 0x00007ffff625d3d7 in IA__gtk_main () at gtkmain.c:1238
#24 0x000000000041b389 in fe_main () at fe-gtk.c:290
#25 0x00000000004652e5 in main (argc=1, argv=0x7fffffffe2c8) at xchat.c:1049


Version-Release number of selected component (if applicable):
1.3.99.20101202-2.fc15.x86_64

How reproducible:
always

Steps to Reproduce:
1. En -> Hangul in xchat.
2.
3.
  
Actual results:


Expected results:


Additional info:
xchat-2.8.8-6.fc15.x86_64

Comment 1 sangu 2010-12-23 01:27:08 UTC
The same problem happens in another gtk2 applications( gftp. chromium-browser).
$ dmesg
[ 1768.014998] xchat[4037]: segfault at 100000001 ip 00007f0ad24468c9 sp 00007ffff4f728d0 error 4 in libc-2.12.90.so[7f0ad23fd000+19b000]
[ 2049.499422] xchat[4305]: segfault at 100000001 ip 00007ff87cd4d8c9 sp 00007fff3a58f6a0 error 4 in libc-2.12.90.so[7ff87cd04000+19b000]
[ 2096.277156] CE: hpet increased min_delta_ns to 11250 nsec
[ 2771.829817] chromium-browse[2457]: segfault at 100000001 ip 00007f1fa9ecb8c9 sp 00007ffff04e3de0 error 4 in libc-2.12.90.so[7f1fa9e82000+19b000]
[ 2871.656986] lo: Disabled Privacy Extensions
[ 2871.657034] SELinux: initialized (dev proc, type proc), uses genfs_contexts
[ 3057.896727] chromium-browse[5415]: segfault at 100000001 ip 00007f160064c8c9 sp 00007fff8a1e6880 error 4 in libc-2.12.90.so[7f1600603000+19b000]
[ 3091.315247] lo: Disabled Privacy Extensions
[ 3091.315324] SELinux: initialized (dev proc, type proc), uses genfs_contexts
[ 3485.548683] gftp-gtk[5833]: segfault at 100000001 ip 00007f96a97968c9 sp 00007fffe612c330 error 4 in libc-2.12.90.so[7f96a974d000+19b000]

After downgrading ibus-1.3.99.20101202-1.fc15.x86_64, this issue was fixed.

Comment 2 Daiki Ueno 2010-12-24 01:04:36 UTC
Most likely this is because the patch below is not integrated yet:
http://codereview.appspot.com/3669041/

Could you try this scratch build?
http://koji.fedoraproject.org/koji/taskinfo?taskID=2687521

Comment 3 fujiwara 2010-12-28 04:03:42 UTC
Thanks for the report.
It's a known issue but I forgot to update rawhide.

Comment 5 Daiki Ueno 2010-12-28 09:51:54 UTC
Thanks for updating despite the holidays :)  I confirmed that the assertion failure is fixed.  However, I noticed another issue: in tarball, client/gtk3/ibusimcontext.[ch] are not a symbolic link to client/gtk2/ibusimcontext.[ch].  Probably we need to copy client/gtk2/* to client/gtk3/* after applying a patch.