Bug 170396 - Evolution composer crashes with IM on html mode
Summary: Evolution composer crashes with IM on html mode
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gtkhtml3
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Matthew Barnes
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-10-11 10:45 UTC by Akira TAGOH
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version: evolution-2.7.3-9
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-07-10 12:37:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
evolution crashing (106.35 KB, image/png)
2006-03-07 11:01 UTC, Mayank Jain
no flags Details

Description Akira TAGOH 2005-10-11 10:45:11 UTC
Description of problem:
When I input something with IM on the composer window with the html mode, it
crashes after commiting it.

Version-Release number of selected component (if applicable):
evolution-2.4.0-2
gtkhtml3-3.8.1-1

How reproducible:
always

Steps to Reproduce:
1.run evolution with LANG=ja_JP.UTF-8 and open the composer window
2.turn on the html mode from Format menu -> HTML and change the font size to +4
3.press ctrl+space and type n i h o n n g o enter
  
Actual results:
crashes

Expected results:
commit the string like ã«ã»ãã

Additional info:
I can see this problem on the debian box too, so this is introduced from
upstream I suppose.

Comment 1 Akira TAGOH 2005-10-11 10:54:08 UTC
Here is the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208948288 (LWP 20067)]
---Type <return> to continue, or q <return> to quit---
0x00e3f634 in html_object_cursor_backward (self=0x9a30d98, cursor=0x9a31058,
    engine=0x9875ee8) at htmlobject.c:1568
1568            return (* HO_CLASS (self)->cursor_backward) (self, cursor, engine);
(gdb) thread apply all bt

Thread 4 (Thread -1369572432 (LWP 20107)):
#0  0x00ca09b6 in poll () from /lib/libc.so.6
#1  0x006808b8 in g_main_context_iterate (context=0x9844758, block=1,
    dispatch=1, self=0x9844510) at gmain.c:2867
#2  0x00680d53 in IA__g_main_loop_run (loop=0x9844aa8) at gmain.c:2769
#3  0x0020c71e in link_thread_io_context () from /usr/lib/libORBit-2.so.0
#4  0x0069a1ba in g_thread_create_proxy (data=0x9844510) at gthread.c:564
#5  0x00a4c97f in start_thread () from /lib/libpthread.so.0
#6  0x00ca9cce in clone () from /lib/libc.so.6

Thread 3 (Thread -1359086672 (LWP 20106)):
#0  0x00ca09b6 in poll () from /lib/libc.so.6
#1  0x006808b8 in g_main_context_iterate (context=0x97f77e8, block=1,
    dispatch=1, self=0x97f7688) at gmain.c:2867
#2  0x00680d53 in IA__g_main_loop_run (loop=0x98453e8) at gmain.c:2769
#3  0x008ac71d in e_book_set_default_source () from /usr/lib/libebook-1.2.so.5
#4  0x0069a1ba in g_thread_create_proxy (data=0x97f7688) at gthread.c:564
#5  0x00a4c97f in start_thread () from /lib/libpthread.so.0
#6  0x00ca9cce in clone () from /lib/libc.so.6

Thread 2 (Thread -1271120976 (LWP 20072)):
#0  0x00a4e4f1 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#1  0x028799b7 in e_msgport_wait () from /usr/lib/libedataserver-1.2.so.4
#2  0x0287a0ad in e_thread_busy () from /usr/lib/libedataserver-1.2.so.4
#3  0x00a4c97f in start_thread () from /lib/libpthread.so.0
#4  0x00ca9cce in clone () from /lib/libc.so.6

Thread 1 (Thread -1208948288 (LWP 20067)):
#0  0x00e3f634 in html_object_cursor_backward (self=0x9a30d98,
    cursor=0x9a31058, engine=0x9875ee8) at htmlobject.c:1568
#1  0x00e15821 in backward (cursor=0x9a31058, engine=Variable "engine" is not
available.
) at htmlcursor.c:253
#2  0x00e15ff9 in html_cursor_jump_to_position (cursor=0x9a31058,
    engine=0x9875ee8, position=0) at htmlcursor.c:654
#3  0x00e160a3 in html_cursor_jump_to_position_no_spell (cursor=0x9a31058,
    engine=0x9875ee8, position=0) at htmlcursor.c:632
#4  0x00dfc7cc in gtk_html_im_commit_cb (context=0x9875b60,
    str=0x9a28e38
"\uffff\201\uffff\uffff\201\uffff\uffff\202\223\uffff\201\224", html=0x9875888)
    at gtkhtml.c:3156
#5  0x0034ea33 in IA__g_cclosure_marshal_VOID__STRING (closure=0x9875728,
    return_value=0x0, n_param_values=2, param_values=0xbff32cbc,
    invocation_hint=0xbff32bbc, marshal_data=0xdfc76e) at gmarshal.c:496
#6  0x00342bd8 in IA__g_closure_invoke (closure=0x9875728, return_value=0x0,
    n_param_values=2, param_values=0xbff32cbc, invocation_hint=0xbff32bbc)
    at gclosure.c:492
#7  0x00351213 in signal_emit_unlocked_R (node=0x92afa48, detail=0,
---Type <return> to continue, or q <return> to quit---
    instance=0x9875b60, emission_return=0x0, instance_and_params=0xbff32cbc)
    at gsignal.c:2485
#8  0x00352850 in IA__g_signal_emit_valist (instance=0x9875b60, signal_id=278,
    detail=0, var_args=0xbff32ecc "(W7") at gsignal.c:2244
#9  0x0035547f in IA__g_signal_emit_by_name (instance=0x9875b60,
    detailed_signal=0x11c52b4 "commit") at gsignal.c:2312
#10 0x0109d101 in gtk_im_multicontext_new () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x0034ea33 in IA__g_cclosure_marshal_VOID__STRING (closure=0x9876eb8,
    return_value=0x0, n_param_values=2, param_values=0xbff3314c,
    invocation_hint=0xbff3304c, marshal_data=0x109d0d3) at gmarshal.c:496
#12 0x00342bd8 in IA__g_closure_invoke (closure=0x9876eb8, return_value=0x0,
    n_param_values=2, param_values=0xbff3314c, invocation_hint=0xbff3304c)
    at gclosure.c:492
#13 0x00351213 in signal_emit_unlocked_R (node=0x92afa48, detail=0,
    instance=0x9876cc8, emission_return=0x0, instance_and_params=0xbff3314c)
    at gsignal.c:2485
#14 0x00352850 in IA__g_signal_emit_valist (instance=0x9876cc8, signal_id=278,
    detail=0,
    var_args=0xbff3335c
"\uffff\uffff>\001\uffff\uffff|\t\uffff\uffff>\001X=1\005|3\uffff\uffff\uffff\uffffw\t\004\uffffw\t
\225?\006\bhN\001\030\uffffw\t\uffff\uffff|\t\2303\uffff\uffff?\">\0018\uffff|\t\uffff4\uffff\uffff\uffff3\uffff\uffff\uffff\uffffE\001\uffff\uffff|\t8\uffff|\t\uffff4\uffff\uffff")
    at gsignal.c:2244
#15 0x0035547f in IA__g_signal_emit_by_name (instance=0x9876cc8,
    detailed_signal=0x13e73ef "commit") at gsignal.c:2312
---Type <return> to continue, or q <return> to quit---
#16 0x013dda0e in gtk_im_context_scim_new ()
   from /usr/lib/gtk-2.0/immodules/im-scim.so
#17 0x013e223f in scim::FunctionSlot2<void, scim::IMEngineInstanceBase*,
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
const&>::call () from /usr/lib/gtk-2.0/immodules/im-scim.so
#18 0x0145a2f9 in scim::IMEngineInstanceBase::commit_string ()
   from /usr/lib/libscim-1.0.so.8
#19 0x06405275 in scim::SocketInstance::do_transaction ()
   from /usr/lib/scim-1.0/1.4.0/IMEngine/socket.so
#20 0x06406a9a in scim::SocketInstance::commit_transaction ()
   from /usr/lib/scim-1.0/1.4.0/IMEngine/socket.so
#21 0x064074ee in scim::SocketInstance::process_key_event ()
   from /usr/lib/scim-1.0/1.4.0/IMEngine/socket.so
#22 0x013d7ff6 in gtk_im_context_scim_new ()
   from /usr/lib/gtk-2.0/immodules/im-scim.so
#23 0x010b5bb9 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#24 0x00af66d3 in gdk_screen_get_setting () from /usr/lib/libgdk-x11-2.0.so.0
#25 0x0067da50 in IA__g_main_context_dispatch (context=0x91574d0)
    at gmain.c:1934
#26 0x00680a66 in g_main_context_iterate (context=0x91574d0, block=1,
    dispatch=1, self=0x913f2d0) at gmain.c:2565
#27 0x00680d53 in IA__g_main_loop_run (loop=0x9219970) at gmain.c:2769
#28 0x00495600 in bonobo_main () from /usr/lib/libbonobo-2.so.0
---Type <return> to continue, or q <return> to quit---
#29 0x0805e3dd in main ()
(gdb) p ((HTMLObjectClass *)(((HTMLObject *)self)->klass))
$1 = (struct _HTMLObjectClass *) 0x0


Comment 2 Mayank Jain 2006-03-07 10:58:39 UTC
The bug gets reproduced perfectly when the above steps are followed "exactly"

Steps to Reproduce:
1.run evolution with LANG=ja_JP.UTF-8 and open the composer window
2.turn on the html mode from Format menu -> HTML and change the font size to +4
3.press ctrl+space and type n i h o n n g o enter

However if following steps are followed, bug is NOT reproduced...
1. run evolution with LANG=ja_JP.UTF-8 and open the composer window
2. select html mode, select scim as input text method & then change size to +4
3. press ctrl+space and type n i h o n n g o enter

Notice that here i first changed IM to scim & then changed font -> bug is NOT
reproduced.

Note - crashed screenshot attached.

Comment 3 Mayank Jain 2006-03-07 11:01:57 UTC
Created attachment 125748 [details]
evolution crashing

Can someone please translate this message to english
:-)
Thanks

Comment 4 Mayank Jain 2006-03-07 11:06:56 UTC
Ok, confirmed, the bug crashes evolution always, no matter which of the above
ways are followed. Sorry for not rechecking before posting comment.

Comment 5 Mayank Jain 2006-03-13 11:24:14 UTC
This patch -> http://bugzilla.gnome.org/attachment.cgi?id=55974 found on
http://bugzilla.gnome.org/show_bug.cgi?id=321310 fixes this bug. 
After patching gtkhtml-3.9.92 sources with this patch & compiling, removed the bug.

1) Download gtkhtml-3.9.92 from
http://ftp.gnome.org/pub/GNOME/desktop/2.13/2.13.92/sources/gtkhtml-3.9.92.tar.bz2
2) Apply the mentioned patch with
% patch -p0 < patch
3) Build gtkhtml3
% ./configure --prefix=/usr
# make && make install
4) Try reproducing the bug.

:)
Mayank

Comment 6 Mayank Jain 2006-07-10 09:20:31 UTC
Matt, kindly have a look at this.

Thanks,
Mayank

Comment 7 Matthew Barnes 2006-07-10 10:54:43 UTC
Looks like this has been fixed in the latest upstream release.
Changing status to MODIFIED, can someone please verify?

Comment 8 A S Alam 2006-07-10 12:37:09 UTC
Bug is fixed,
able to input H4 in HTML format in following envirnment
--------
ja_JP.UTF-8 with Anthy input
evolution-2.7.3-9
--------

thanks

Comment 9 Mayank Jain 2006-07-10 12:39:18 UTC
Thanks Aalam :)


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