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 592618 - crash: segmentation fault in gstring.c:g_str_hash()
crash: segmentation fault in gstring.c:g_str_hash()
Status: RESOLVED INCOMPLETE
Product: evolution-data-server
Classification: Platform
Component: Mailer
2.26.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2009-08-21 19:20 UTC by Paul Bolle
Modified: 2011-12-02 04:49 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Paul Bolle 2009-08-21 19:20:51 UTC
0) No noteworthy user action led to this crash.

1) Stderr (and/or stdout) was:
$ env GNOME_DISABLE_CRASH_DIALOG=1 evolution
** (evolution:2518): DEBUG: mailto URL command: evolution --component=mail %s
** (evolution:2518): DEBUG: mailto URL program: evolution
camel-Message: --
camel-Message: --

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): gtkhtml-CRITICAL **: html_cursor_get_position: assertion `cursor != NULL' failed

(evolution:2518): gtkhtml-CRITICAL **: html_engine_set_mark: assertion `e->editable || e->caret_mode' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): Gdk-CRITICAL **: gdk_x11_xatom_to_atom_for_display: assertion `xatom != None' failed

(evolution:2518): libglade-WARNING **: could not find widget creation function

(evolution:2518): GLib-GObject-WARNING **: invalid cast from `GtkLabel' to `GtkImage'

(evolution:2518): Gtk-CRITICAL **: gtk_image_set_from_icon_name: assertion `GTK_IS_IMAGE (image)' failed

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): gtkhtml-WARNING **: oo

(evolution:2518): gtkhtml-WARNING **: oo

(evolution:2518): gtkhtml-CRITICAL **: html_cursor_get_position: assertion `cursor != NULL' failed

(evolution:2518): gtkhtml-CRITICAL **: html_engine_set_mark: assertion `e->editable || e->caret_mode' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): camel-WARNING **: camel_exception_get_id called with NULL parameter.

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): evolution-mail-CRITICAL **: ml_getselected_cb: assertion `uid != NULL' failed

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
camel-Message: --

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(evolution:2518): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
Segmentation fault (core dumped)

1) backtrace:
  • #0 IA__g_str_hash
    at gstring.c line 95
  • #1 g_hash_table_lookup_node
    at ghash.c line 195
  • #2 IA__g_hash_table_lookup
    at ghash.c line 783
  • #3 message_info_from_uid
    at camel-folder-summary.c line 557
  • #4 set_message_flags
    at camel-folder.c line 804
  • #5 on_click
    at message-list.c line 3539
  • #6 e_util_marshal_INT__INT_POINTER_INT_BOXED
    at e-util-marshal.c line 610
  • #7 IA__g_closure_invoke
    at gclosure.c line 767
  • #8 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #9 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #10 IA__g_signal_emit
    at gsignal.c line 3037
  • #11 item_click
    at e-tree.c line 852
  • #12 e_util_marshal_INT__INT_INT_BOXED
    at e-util-marshal.c line 566
  • #13 IA__g_closure_invoke
    at gclosure.c line 767
  • #14 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #15 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #16 IA__g_signal_emit
    at gsignal.c line 3037
  • #17 eti_event
    at e-table-item.c line 2380
  • #18 gnome_canvas_marshal_BOOLEAN__BOXED
    from /usr/lib64/libgnomecanvas-2.so.0
  • #19 IA__g_closure_invoke
    at gclosure.c line 767
  • #20 signal_emit_unlocked_R
    at gsignal.c line 3285
  • #21 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #22 IA__g_signal_emit_by_name
    at gsignal.c line 3074
  • #23 emit_event
    at e-canvas.c line 253
  • #24 ??
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #25 IA__g_closure_invoke
    at gclosure.c line 767
  • #26 signal_emit_unlocked_R
    at gsignal.c line 3285
  • #27 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #28 IA__g_signal_emit
    at gsignal.c line 3037
  • #29 ??
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #30 gtk_propagate_event
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #31 gtk_main_do_event
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #32 ??
    from /usr/lib64/libgdk-x11-2.0.so.0
  • #33 g_main_dispatch
    at gmain.c line 1824
  • #34 IA__g_main_context_dispatch
    at gmain.c line 2377
  • #35 g_main_context_iterate
    at gmain.c line 2455
  • #36 IA__g_main_loop_run
    at gmain.c line 2663
  • #37 bonobo_main
    from /usr/lib64/libbonobo-2.so.0
  • #38 main
    at main.c line 704

Comment 1 Paul Bolle 2009-08-21 19:29:53 UTC
0) Very similar to bug #555284 and bug #558081.

1) There seem to be more segmentation faults reported at the location o this crash. So this could be a glib2 bug. I had a quick look at the GHashTable documentation. That didn't made it clear whether one is allowed to pass NULL as the key to g_hash_table_lookup() (see: http://library.gnome.org/devel/glib/2.15/glib-Hash-Tables.html#g-hash-table-lookup ). After that I gave up trying to understand this crash.
Comment 2 Matthew Barnes 2009-08-21 19:55:56 UTC
(In reply to comment #1)
> That didn't made it clear whether one is allowed to pass NULL as
> the key to g_hash_table_lookup()

You're not.
Comment 3 Paul Bolle 2009-08-21 20:16:53 UTC
(In reply to comment #2)
> You're not.

So:
0) e-d-s should (somehow) check for a NULL (haven't looked at the code to see whether that's feasible); and/or
1) the GHashTable docs could use some clarification; and/or
2) glibc could use some NULL check here (again, haven't looked at the code)?
Comment 4 Matthew Barnes 2009-08-21 21:45:37 UTC
s/glibc/glib/, but yes I agree.
Comment 5 Claudio Saavedra 2010-04-26 11:32:34 UTC
Did you notice my patch in bug 616318 ?
Comment 6 Akhil Laddha 2011-10-11 10:05:38 UTC
Can you please check again whether this issue still happens in Evolution 3.0.3 or 3.2.0 and update this report by adding a comment and changing the "Version"
field? Thanks a lot.
Comment 7 Fabio Durán Verdugo 2011-12-02 04:49:01 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!