GNOME Bugzilla – Bug 688660
[abrt] Crash on webdav contact cache update
Last modified: 2012-11-20 15:38:00 UTC
Moving this from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=878099 Version-Release number of selected component: evolution-data-server-3.6.2-1.fc18 Additional info: libreport version: 2.0.18 abrt_version: 2.0.18 backtrace_rating: 4 cmdline: /usr/libexec/evolution-addressbook-factory crash_function: e_xmlhash_remove kernel: 3.6.6-3.fc18.x86_64
+ Trace 231194
Thread 2 (Thread 0x7fc2f9ffb700 (LWP 6681))
Thread 1 (Thread 0x7fc2e7fff700 (LWP 6682))
Two threads are doing the same thing, which leads to a crash - double free.
Created attachment 229480 [details] [review] eds patch for evolution-data-server; The EBookBackendCache has no internal locking, thus it could interleave in operations, same as the webdav backend doesn't use locking during its update cache (download_contacts function), thus, like in this backtrace, two book views could do the same thing in once.
Created commit 4170376 in eds master (3.7.3+) Created commit 52e4fb0 in eds gnome-3-6 (3.6.3+)