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 587359 - evolution crashes when spell-checking a mail
evolution crashes when spell-checking a mail
Status: RESOLVED DUPLICATE of bug 584243
Product: GtkHtml
Classification: Other
Component: Editing
3.27.x
Other Linux
: Normal critical
: ---
Assigned To: Srinivasa Ragavan
Srinivasa Ragavan
: 586569 587455 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-06-29 20:21 UTC by Baptiste Mille-Mathias
Modified: 2009-07-01 19:32 UTC
See Also:
GNOME target: ---
GNOME version: 2.27/2.28



Description Baptiste Mille-Mathias 2009-06-29 20:21:06 UTC
I have a 100% reproducible crash with evo, when I want to replace a miss-spelled word by a suggestion.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7f75b00 (LWP 20325)]
0x08a006d2 in free () from /lib/tls/i686/cmov/libc.so.6
(gdb) thread apply all bt

Thread 1 (Thread 0xb7f75b00 (LWP 20325))

  • #0 free
    from /lib/tls/i686/cmov/libc.so.6
  • #1 IA__g_free
    at /build/buildd/glib2.0-2.21.2/glib/gmem.c line 190
  • #2 html_text_set_font_face
    at htmltext.c line 3030
  • #3 html_engine_replace_spell_word_with
    at htmlengine.c line 6239
  • #4 editor_replace_cb
    at gtkhtml-editor-private.c line 121
  • #5 IA__g_cclosure_marshal_VOID__STRING
    at /build/buildd/glib2.0-2.21.2/gobject/gmarshal.c line 496
  • #6 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 767
  • #7 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3247
  • #8 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 2980
  • #9 IA__g_signal_emit
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3037
  • #10 spell_dialog_replace_cb
    at gtkhtml-spell-dialog.c line 223
  • #11 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.21.2/gobject/gmarshal.c line 77
  • #12 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 767
  • #13 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3247
  • #14 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 2980
  • #15 IA__g_signal_emit
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3037
  • #16 IA__gtk_button_clicked
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkbutton.c line 1106
  • #17 gtk_real_button_released
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkbutton.c line 1702
  • #18 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.21.2/gobject/gmarshal.c line 77
  • #19 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 878
  • #20 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 767
  • #21 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3177
  • #22 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 2980
  • #23 IA__g_signal_emit
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3037
  • #24 IA__gtk_button_released
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkbutton.c line 1098
  • #25 gtk_button_button_release
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkbutton.c line 1594
  • #26 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmarshalers.c line 84
  • #27 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 878
  • #28 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 767
  • #29 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3285
  • #30 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 2990
  • #31 IA__g_signal_emit
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3037
  • #32 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkwidget.c line 4761
  • #33 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c line 2396
  • #34 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c line 1601
  • #35 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.17.2/gdk/x11/gdkevents-x11.c line 2367
  • #36 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.21.2/glib/gmain.c line 1814
  • #37 g_main_context_iterate
    at /build/buildd/glib2.0-2.21.2/glib/gmain.c line 2445
  • #38 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.21.2/glib/gmain.c line 2653
  • #39 IA__gtk_dialog_run
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkdialog.c line 1090
  • #40 gtkhtml_editor_spell_check
    at gtkhtml-editor-private.c line 681
  • #41 action_spell_check_cb
    at gtkhtml-editor-actions.c line 1092
  • #42 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.21.2/gobject/gmarshal.c line 77
  • #43 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 767
  • #44 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3247
  • #45 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 2980
  • #46 IA__g_signal_emit
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3037
  • #47 _gtk_action_emit_activate
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkaction.c line 727
  • #48 IA__gtk_action_activate
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkaction.c line 757
  • #49 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.21.2/gobject/gmarshal.c line 77
  • #50 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 878
  • #51 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 767
  • #52 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3177
  • #53 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 2980
  • #54 IA__g_signal_emit
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3037
  • #55 IA__gtk_widget_activate
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkwidget.c line 4792
  • #56 IA__gtk_menu_shell_activate_item
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmenushell.c line 1139
  • #57 gtk_menu_shell_button_release
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmenushell.c line 678
  • #58 gtk_menu_button_release
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmenu.c line 2950
  • #59 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmarshalers.c line 84
  • #60 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 878
  • #61 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c line 767
  • #62 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3285
  • #63 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 2990
  • #64 IA__g_signal_emit
    at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c line 3037
  • #65 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkwidget.c line 4761
  • #66 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c line 2396
  • #67 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c line 1601
  • #68 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.17.2/gdk/x11/gdkevents-x11.c line 2367
  • #69 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.21.2/glib/gmain.c line 1814
  • #70 g_main_context_iterate
    at /build/buildd/glib2.0-2.21.2/glib/gmain.c line 2445
  • #71 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.21.2/glib/gmain.c line 2653
  • #72 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #73 main
    at main.c line 706

evolution version is 2.27.3
libgtkspell is 2.0.13-2 if it matters
Comment 1 Matthew Barnes 2009-06-29 21:12:36 UTC
Can you provide some steps to reproduce?

For example, I see from the stack trace you were using the spell check dialog as opposed to inline spell checking.  That may be important.

Were you in HTML or text mode?  Font face?  Enabled dictionaries?  Does it happen for all spell check corrections or just "committed"?
Comment 2 Baptiste Mille-Mathias 2009-06-30 07:25:14 UTC
(In reply to comment #1)
> Can you provide some steps to reproduce?
> 
> For example, I see from the stack trace you were using the spell check dialog
> as opposed to inline spell checking.  That may be important.
> 
> Were you in HTML or text mode?  Font face?  Enabled dictionaries?  Does it
> happen for all spell check corrections or just "committed"?
> 

Hello Matthew,

Actually the crash happens with the in-line and with the spell-check dialog, my mail was in text mode. The complete mail I sent is http://mail.gnome.org/archives/gnome-doc-list/2009-June/msg00032.html

To reproduce the crash (I was able to reproduce it 5 or 6 times) this is rather simple:
- I had my mail all written with the typo on "commited" (instead of committed) and "bluetooth" was also marked as an error.
- I opened the menu for spell-checking (don't remember the menu path and name)
- the first correction proposed was for "commited", the spell check dialog proposed me several corrections, "committed" was the third.
- I selected "committed", and pressed the button "Replace"
- Kaboom.

for the other questions, I'll answer tonight.
Comment 3 Akhil Laddha 2009-07-01 04:26:58 UTC
*** Bug 587455 has been marked as a duplicate of this bug. ***
Comment 4 Akhil Laddha 2009-07-01 04:27:11 UTC
*** Bug 586569 has been marked as a duplicate of this bug. ***
Comment 5 Götz Waschk 2009-07-01 19:32:49 UTC

*** This bug has been marked as a duplicate of 584243 ***