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 619716 - crash on reply-to-mail ... [ gconf thread safety foo ]
crash on reply-to-mail ... [ gconf thread safety foo ]
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Mailer
2.28.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 618234 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-05-26 13:38 UTC by Michael Meeks
Modified: 2012-08-12 13:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michael Meeks 2010-05-26 13:38:46 UTC
I see this, but only really rather rarely. I suspect that there is some hideous threading problem. Sadly under valgrind (which really does no threading - using only one thread) - it doesn't show up. With export MALLOC_CHECK_=2 I can at least catch something here:

Here you see the race [ amazingly captured for your viewing pleasure ].

Two threads, concurrently in load_from_gconf.

Gconf (last I checked) however - is not thread safe [ at all ]. Looks like we need lots of extra locking around that bad boy :-)

Thread 1 (Thread 0xb5cda760 (LWP 31488))

  • #0 type_node_check_conformities_UorL
    at gtype.c line 3194
  • #1 type_node_conforms_to_U
    at gtype.c line 3228
  • #2 IA__g_type_is_a
    at gtype.c line 3251
  • #3 IA__g_signal_emit_valist
    at gsignal.c line 2917
  • #4 IA__g_signal_emit
    at gsignal.c line 3037
  • #5 e_source_group_set_name
    at e-source-group.c line 557
  • #6 e_source_group_new_from_xmldoc
    at e-source-group.c line 296
  • #7 load_from_gconf
    at e-source-list.c line 104
  • #8 e_source_list_new_for_gconf
    at e-source-list.c line 382
  • #9 e_book_get_addressbooks
    at e-book.c line 3772
  • #10 e_name_selector_entry_init
    at e-name-selector-entry.c line 2662
  • #11 IA__g_type_create_instance
    at gtype.c line 1666
  • #12 g_object_constructor
    at gobject.c line 1383
  • #13 IA__g_object_newv
    at gobject.c line 1252
  • #14 IA__g_object_new_valist
    at gobject.c line 1323
  • #15 IA__g_object_new
    at gobject.c line 1086
  • #16 e_name_selector_list_new
    at e-name-selector-list.c line 650
  • #17 e_name_selector_peek_section_list
    at e-name-selector.c line 392
  • #18 composer_name_header_constructor
    at e-composer-name-header.c line 118
  • #19 IA__g_object_newv
    at gobject.c line 1252
  • #20 IA__g_object_new_valist
    at gobject.c line 1364
  • #21 IA__g_object_new
    at gobject.c line 1086
  • #22 e_composer_name_header_new_with_label
    at e-composer-name-header.c line 271
  • #23 composer_header_table_init
    at e-composer-header-table.c line 958
  • #24 IA__g_type_create_instance
    at gtype.c line 1674
  • #25 g_object_constructor
    at gobject.c line 1383
  • #26 composer_header_table_constructor
    at e-composer-header-table.c line 496
  • #27 IA__g_object_newv
    at gobject.c line 1171
  • #28 IA__g_object_new_valist
    at gobject.c line 1323
  • #29 IA__g_object_new
    at gobject.c line 1086
  • #30 e_composer_header_table_new
    at e-composer-header-table.c line 1040
  • #31 e_composer_private_init
    at e-composer-private.c line 161
  • #32 msg_composer_init
    at e-msg-composer.c line 2144
  • #33 IA__g_type_create_instance
    at gtype.c line 1674
  • #34 g_object_constructor
    at gobject.c line 1383
  • #35 editor_constructor
    at gtkhtml-editor.c line 509
  • #36 msg_composer_constructor
    at e-msg-composer.c line 1545
  • #37 IA__g_object_newv
    at gobject.c line 1252
  • #38 IA__g_object_new_valist
    at gobject.c line 1323
  • #39 IA__g_object_new
    at gobject.c line 1086
  • #40 e_msg_composer_new
    at e-msg-composer.c line 2270
  • #41 reply_get_composer
    at em-composer-utils.c line 1754
  • #42 em_utils_reply_to_message
    at em-composer-utils.c line 2389
  • #43 reply_to_message
    at em-composer-utils.c line 2313
  • #44 get_message_done
    at mail-ops.c line 1838
  • #45 mail_msg_idle_cb
    at mail-mt.c line 502
  • #46 g_idle_dispatch
    at gmain.c line 4065
  • #47 g_main_dispatch
    at gmain.c line 1960
  • #48 IA__g_main_context_dispatch
    at gmain.c line 2513
  • #49 g_main_context_iterate
    at gmain.c line 2591
  • #50 IA__g_main_loop_run
    at gmain.c line 2799
  • #51 bonobo_main
    at bonobo-main.c line 311
  • #52 main
    at main.c line 732

Comment 1 Michael Meeks 2010-05-26 13:39:23 UTC
This is also: https://bugzilla.novell.com/show_bug.cgi?id=608563
Comment 2 Matthew Barnes 2010-05-26 13:56:21 UTC
Sounds like yet more reason to get ESource information out of GConf...
Comment 3 Akhil Laddha 2010-11-12 05:17:42 UTC
*** Bug 618234 has been marked as a duplicate of this bug. ***
Comment 4 Matthew Barnes 2012-08-12 13:34:34 UTC
Closing this as OBSOLETE since we no longer use GConf.