After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 336958 - spell checking arabic crashes evolution
spell checking arabic crashes evolution
Status: RESOLVED WONTFIX
Product: GtkHtml
Classification: Other
Component: Editing
4.0.x
Other All
: High critical
: ---
Assigned To: gtkhtml-maintainers
gtkhtml-maintainers
gnome[unmaintained]
: 441202 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-04-02 19:59 UTC by Islam Amer
Modified: 2017-02-09 13:39 UTC
See Also:
GNOME target: ---
GNOME version: 2.91/3.0



Description Islam Amer 2006-04-02 19:59:46 UTC
Steps to reproduce:
1. Install arabic dictionary in aspell
2. type arabic in new email in evolution
3. try to spellcheck


Stack trace:
Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 24241)

  • #0 html_object_get_length
    from /usr/lib/libgtkhtml-3.8.so.15
  • #1 html_engine_spell_word_is_valid
    from /usr/lib/libgtkhtml-3.8.so.15
  • #2 spell_check_dialog
    from /usr/lib/gtkhtml/libgnome-gtkhtml-editor-3.8.so
  • #3 insert_table
    from /usr/lib/gtkhtml/libgnome-gtkhtml-editor-3.8.so
  • #4 bonobo_socket_add_id
    from /usr/lib/libbonoboui-2.so.0
  • #5 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #6 bonobo_closure_invoke_va_list
    from /usr/lib/libbonobo-2.so.0
  • #7 bonobo_closure_invoke
    from /usr/lib/libbonobo-2.so.0
  • #8 bonobo_ui_component_get_type
    from /usr/lib/libbonoboui-2.so.0
  • #9 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #10 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #11 Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #12 bonobo_ui_engine_dump
    from /usr/lib/libbonoboui-2.so.0
  • #13 g_cclosure_marshal_VOID__POINTER
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #19 bonobo_ui_engine_emit_verb_on_w
    from /usr/lib/libbonoboui-2.so.0
  • #20 bonobo_ui_sync_wrap_widget
    from /usr/lib/libbonoboui-2.so.0
  • #21 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #26 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #27 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_menu_reorder_child
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #36 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #37 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #38 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #39 gdk_event_get_graphics_expose
    from /usr/lib/libgdk-x11-2.0.so.0
  • #40 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #41 g_main_context_acquire
    from /usr/lib/libglib-2.0.so.0
  • #42 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #43 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #44 main


Other information:
Is this supposed to go to evolution? Wouldn't it be easier if it used
gnome-spell or gtkspell directly ?
Comment 1 Islam Amer 2006-04-02 20:16:49 UTC
The dictionary is available here :

http://www.eglug.org/node/1976
Comment 2 Christian Kirbach 2006-04-03 08:48:22 UTC
unique stack trace

Thanks for the bug report. Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
Comment 3 Islam Amer 2006-04-06 05:38:34 UTC
I am on gentoo and these are my cflags : CFLAGS="-Os -march=i686 -pipe"
But I strip all binaries.

It will be a pain to recompile all these packages with debugging symbols, but I will try.
Comment 4 Islam Amer 2006-04-06 06:16:07 UTC
I recompiled libgtkhtml-3.10.0 with -g -O2 and nostrip feature.

Here's the backtrace :

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 392)

  • #0 html_object_get_length
    at htmlobject.c line 1469
  • #1 html_engine_spell_word_is_valid
    at htmlengine.c line 5856
  • #2 spell_check_dialog
    at spellchecker.c line 293
  • #3 spell_check_cb
    at menubar.c line 369
  • #4 bonobo_socket_add_id
    from /usr/lib/libbonoboui-2.so.0
  • #5 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #6 bonobo_closure_invoke_va_list
    from /usr/lib/libbonobo-2.so.0
  • #7 bonobo_closure_invoke
    from /usr/lib/libbonobo-2.so.0
  • #8 bonobo_ui_component_get_type
    from /usr/lib/libbonoboui-2.so.0
  • #9 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #10 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #11 Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #12 bonobo_ui_engine_dump
    from /usr/lib/libbonoboui-2.so.0
  • #13 g_cclosure_marshal_VOID__POINTER
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #19 bonobo_ui_engine_emit_verb_on_w
    from /usr/lib/libbonoboui-2.so.0
  • #20 bonobo_ui_sync_wrap_widget
    from /usr/lib/libbonoboui-2.so.0
  • #21 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #26 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #27 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_menu_reorder_child
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #36 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #37 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #38 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #39 gdk_event_get_graphics_expose
    from /usr/lib/libgdk-x11-2.0.so.0
  • #40 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #41 g_main_context_acquire
    from /usr/lib/libglib-2.0.so.0
  • #42 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #43 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #44 main

Comment 5 Christian Kirbach 2006-04-06 08:54:20 UTC
excellent.

please run "bt full" at the gdb prompt and paste the output.
confirming report.
Comment 6 Islam Amer 2006-04-07 03:22:21 UTC


  • #0 html_object_get_length
    at htmlobject.c line 1469
  • #1 html_engine_spell_word_is_valid
    at htmlengine.c line 5856
  • #2 spell_check_dialog
    at spellchecker.c line 293
  • #3 spell_check_cb
    at menubar.c line 369
  • #4 bonobo_socket_add_id
    from /usr/lib/libbonoboui-2.so.0
  • #5 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #6 bonobo_closure_invoke_va_list
    from /usr/lib/libbonobo-2.so.0
  • #7 bonobo_closure_invoke
    from /usr/lib/libbonobo-2.so.0
  • #8 bonobo_ui_component_get_type
    from /usr/lib/libbonoboui-2.so.0
  • #9 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #10 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #11 Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #12 bonobo_ui_engine_dump
    from /usr/lib/libbonoboui-2.so.0
  • #13 g_cclosure_marshal_VOID__POINTER
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #19 bonobo_ui_engine_emit_verb_on_w
    from /usr/lib/libbonoboui-2.so.0
  • #20 bonobo_ui_sync_wrap_widget
    from /usr/lib/libbonoboui-2.so.0
  • #21 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #26 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #27 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_menu_reorder_child
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_signal_has_handler_pending
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #36 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #37 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #38 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #39 gdk_event_get_graphics_expose
    from /usr/lib/libgdk-x11-2.0.so.0
  • #40 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #41 g_main_context_acquire
    from /usr/lib/libglib-2.0.so.0
  • #42 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #43 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #44 main

Comment 7 André Klapper 2006-04-07 13:04:41 UTC
hi islam,
evolution uses gtkhtml which uses gnome-spell, and gnome-spell's bug tracking system is http://bugzilla.ximian.com. just for your interest. :-)

which gnome-spell version is this, 1.0.7 or older?
Comment 8 Islam Amer 2006-04-07 22:32:48 UTC
I am on gentoo and this is gnome-spell-1.0.7 with latest enchant patch from abisource's website.

Would it be better if I opened a bug there?
Comment 9 André Klapper 2006-04-07 23:39:11 UTC
no, it really seems that this is a gtkhtml bug.
targetting to 2.6.

islam, this is 100% reproducible? does it depend on some special letters, or does this also happen if you only write one word or one letter?
Comment 10 Islam Amer 2006-04-12 01:37:16 UTC
Hi sorry for being late. I can trigger the bug with one word, which is my name in arabic. Ironic eh ?  "اسلام" and spell check should crash it.
Comment 11 André Klapper 2006-04-19 14:44:53 UTC
i finally succeeded in forcing my gnome to update to gnome-spell-1.0.7 (cough...) and i can reproduce this now.
i already have problems to mark the word correctly when viewing it in evolution, could be the same reason.
evolution does not crash if i write that word without the first (in the sense of Right-To-Left) letter.

i'm going to rpovide the same stacktrace, but with line numbers:

Backtrace was generated from '/opt/gnome/libexec/evolution-2.6'

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 1099571680 (LWP 16616)]
[New Thread 1124588464 (LWP 16720)]
[Thread debugging using libthread_db enabled]
[New Thread 1099571680 (LWP 16616)]
[New Thread 1124588464 (LWP 16720)]
[Thread debugging using libthread_db enabled]
[New Thread 1099571680 (LWP 16616)]
[New Thread 1124588464 (LWP 16720)]
[New Thread 1121803184 (LWP 16690)]
[New Thread 1121532848 (LWP 16689)]
[New Thread 1116552112 (LWP 16631)]
[New Thread 1114295216 (LWP 16629)]
[New Thread 1112193968 (LWP 16628)]
[New Thread 1110092720 (LWP 16627)]
0xffffe410 in ?? ()
  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 __waitpid_nocancel
    from /lib/tls/libpthread.so.0
  • #5 libgnomeui_segv_handle
    at gnome-ui-init.c line 792
  • #6 segv_redirect
    at main.c line 422
  • #7 <signal handler called>
  • #8 html_object_get_length
    at htmlobject.c line 1469
  • #9 html_engine_spell_word_is_valid
    at htmlengine.c line 5856
  • #10 spell_check_dialog
    at spellchecker.c line 293
  • #11 spell_check_cb
    at menubar.c line 369
  • #12 marshal_VOID__USER_DATA_STRING
    at bonobo-ui-component.c line 221
  • #13 IA__g_closure_invoke
    at gclosure.c line 490
  • #14 bonobo_closure_invoke_va_list
    at bonobo-types.c line 404
  • #15 bonobo_closure_invoke
    at bonobo-types.c line 467
  • #16 impl_Bonobo_UIComponent_execVerb
    at bonobo-ui-component.c line 158
  • #17 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    at Bonobo-common.c line 332
  • #18 ORBit_c_stub_invoke
    at poa.c line 2631
  • #19 Bonobo_UIComponent_execVerb
    at Bonobo-stubs.c line 544
  • #20 real_exec_verb
    at bonobo-ui-engine.c line 1533
  • #21 impl_emit_verb_on
    at bonobo-ui-engine.c line 1591
  • #22 IA__g_cclosure_marshal_VOID__POINTER
    at gmarshal.c line 601
  • #23 g_type_class_meta_marshal
    at gclosure.c line 567
  • #24 IA__g_closure_invoke
    at gclosure.c line 490
  • #25 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #26 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #27 IA__g_signal_emit
    at gsignal.c line 2241
  • #28 bonobo_ui_engine_emit_verb_on_w
    at bonobo-ui-engine.c line 3040
  • #29 exec_verb_cb
    at bonobo-ui-sync-menu.c line 445
  • #30 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #31 IA__g_closure_invoke
    at gclosure.c line 490
  • #32 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #33 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #34 IA__g_signal_emit
    at gsignal.c line 2241
  • #35 IA__gtk_widget_activate
    at gtkwidget.c line 3813
  • #36 IA__gtk_menu_shell_activate_item
    at gtkmenushell.c line 1057
  • #37 gtk_menu_shell_button_release
    at gtkmenushell.c line 663
  • #38 gtk_menu_button_release
    at gtkmenu.c line 2640
  • #39 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #40 g_type_class_meta_marshal
    at gclosure.c line 567
  • #41 IA__g_closure_invoke
    at gclosure.c line 490
  • #42 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #43 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #44 IA__g_signal_emit
    at gsignal.c line 2241
  • #45 gtk_widget_event_internal
    at gtkwidget.c line 3782
  • #46 IA__gtk_widget_event
    at gtkwidget.c line 3588
  • #47 IA__gtk_propagate_event
    at gtkmain.c line 2179
  • #48 IA__gtk_main_do_event
    at gtkmain.c line 1423
  • #49 gdk_event_dispatch
    at gdkevents-x11.c line 2311
  • #50 g_main_dispatch
    at gmain.c line 1916
  • #51 IA__g_main_context_dispatch
    at gmain.c line 2466
  • #52 g_main_context_iterate
    at gmain.c line 2547
  • #53 IA__g_main_loop_run
    at gmain.c line 2751
  • #54 bonobo_main
    at bonobo-main.c line 311
  • #55 main
    at main.c line 610


as i had already written a few months ago, evolution should be ported to use enchant instead of gnome-spell, i think.
Comment 12 Islam Amer 2006-11-15 01:37:13 UTC
I am still seeing this issue in evolution-2.9.2
what's the story ?
Comment 13 Christian Kirbach 2006-11-15 23:12:19 UTC
problem is known and confirmed. as soon as some developer has time it will be fixed.
Comment 14 Karsten Bräckelmann 2007-06-30 01:32:51 UTC
*** Bug 441202 has been marked as a duplicate of this bug. ***
Comment 15 Islam Amer 2009-08-26 10:03:01 UTC
I think this is no longer an issue , since evolution uses enchant now ?
Comment 16 Milan Crha 2012-02-03 11:55:21 UTC
Downstream bug report about the same from 4.0.x:
https://bugzilla.redhat.com/show_bug.cgi?id=787102

Thread 1 (Thread 0x7f7ce028e9a0 (LWP 2187))

  • #0 html_object_get_length
    at htmlobject.c line 1485
  • #1 html_engine_spell_word_is_valid
    at htmlengine.c line 6203
  • #2 gtkhtml_editor_update_context
    at gtkhtml-editor-private.c line 981
  • #3 editor_show_popup_menu
    at gtkhtml-editor.c line 85
  • #4 editor_button_press_event_cb
    at gtkhtml-editor.c line 116
  • #5 editor_button_press_event_cb
    at gtkhtml-editor.c line 98
  • #6 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 85
  • #7 g_closure_invoke
    at gclosure.c line 767
  • #8 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #9 g_signal_emit_valist
    at gsignal.c line 2993
  • #10 g_signal_emit
    at gsignal.c line 3040
  • #11 gtk_widget_event_internal
    at gtkwidget.c line 6116
  • #12 gtk_propagate_event
    at gtkmain.c line 2597
  • #13 gtk_main_do_event
    at gtkmain.c line 1872
  • #14 gdk_event_source_dispatch
    at gdkeventsource.c line 318
  • #15 g_main_dispatch
    at gmain.c line 2441
  • #16 g_main_context_dispatch
    at gmain.c line 3014
  • #17 g_main_context_iterate
    at gmain.c line 3092
  • #18 g_main_loop_run
    at gmain.c line 3300
  • #19 gtk_main
    at gtkmain.c line 1358
  • #20 main
    at main.c line 734

Comment 17 André Klapper 2017-02-09 13:39:00 UTC
GtkHtml is not under active development anymore. 
Evolution (its main consumer) switched to a WebKit backend a while ago. 
It is currently unlikely that there will be any further GtkHtml development.

Closing this report as WONTFIX as part of Bugzilla Housekeeping (bug 778387) to reflect reality. Please feel free to reopen this bug report in the future if anyone takes the responsibility for active development again.