Red Hat Bugzilla – Bug 956064
[abrt] Crash on name-selector's GConf access from multiple threads
Last modified: 2014-01-02 04:06:13 EST
Description of problem: evo crashed after I hit "Reply all" to an email message Version-Release number of selected component: evolution-2.28.3-30.el6 Additional info: libreport version: 2.0.9 abrt_version: 2.0.8 backtrace_rating: 4 cmdline: evolution -c mail crash_function: g_slice_free1 kernel: 2.6.32-358.el6.x86_64 truncated backtrace: :Thread no. 1 (10 frames) : #2 g_slice_free1 at gslice.c : #3 g_slist_remove at gslist.c : #4 ltable_next_cnxn at gconf-listeners.c : #5 gconf_listeners_add at gconf-listeners.c : #6 e_source_list_new_for_gconf at e-source-list.c : #7 e_book_get_addressbooks at e-book.c : #8 e_name_selector_entry_init at e-name-selector-entry.c : #9 g_type_create_instance at gtype.c : #10 g_object_constructor at gobject.c : #12 g_object_new_valist at gobject.c
Created attachment 739332 [details] File: maps
Created attachment 739333 [details] File: var_log_messages
Created attachment 739334 [details] File: open_fds
Created attachment 739335 [details] File: environ
Created attachment 739336 [details] File: dso_list
Created attachment 739337 [details] File: limits
Created attachment 739338 [details] File: sosreport.tar.xz
Created attachment 739339 [details] File: backtrace
Created attachment 739340 [details] File: build_ids
Created attachment 739341 [details] File: cgroup
Thanks for a bug report. This is caused by a thread non-safety of GConf, as indicated here: https://bugzilla.gnome.org/show_bug.cgi?id=627358 and here, with its duplicates: https://bugzilla.gnome.org/show_bug.cgi?id=619567 Except of the first bug there was no exact fix in this, beside architecture change in evolution-data-server and evolution, basically where the place to save account information is saved, in time of 3.6.x.
Looking closely to the backtrace, your issue is the first bug. The commit Matthew mentioned is this one [1], but it changes public API, which might mean to rebuild all dependent packages in RHEL to be sure it didn't break anything. I'm not sure how much it is doable. Maybe if we'll not deprecate the old function and will use the new in ENameSelector, then it'll be fine. [1] https://git.gnome.org/browse/evolution-data-server/commit/?id=7494d975b37e250f78964b11a768dfea06c6f780
Created attachment 744779 [details] evolution-data-server-2.28.3-name-selector-load.patch for evolution-data-server; Backport of Matthew's patch, without changing existing API.
The above patch is part of the eds 2.32.3, thus I add dependency on the rebase bug.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2013-1540.html