GNOME Bugzilla – Bug 665123
Incorrect unref of ESource in pine-importer
Last modified: 2011-11-29 12:12:23 UTC
Moving this from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=757805 libreport version: 2.0.7 abrt_version: 2.0.6 backtrace_rating: 4 cmdline: evolution comment: I was configuring my gmail account. When everything was configured, I clicked finish and crashed crash_function: g_type_check_instance_is_a executable: /usr/bin/evolution kernel: 3.1.2-1.fc16.x86_64 pid: 11739 pwd: /home/juan reason: Process /usr/bin/evolution was killed by signal 11 (SIGSEGV) time: lun 28 nov 2011 16:28:17 CET Core was generated by `evolution'. Program terminated with signal 11, Segmentation fault.
+ Trace 229166
Thread 4 (Thread 0x7f5bdce5e700 (LWP 11742))
Thread 2 (Thread 0x7f5be59ad980 (LWP 11739))
And it doesn't show the crashing thread:
+ Trace 229171
Thread 1 (Thread 0x7f5bc6b8f700 (LWP 11829))
Created attachment 202365 [details] [review] evo patch for evolution; I think I got it. This is crashing when EClient unrefs ESource it has with itself. Looking closely into evolution's code the pine-importer.c obtains ESource from the ESourceList with e_source_list_peek_source_any(), which returns an ESource owned by the ESourceList, but pine-importer later unrefs it, which it should not do. This patch is fixing it.
Created commit b16c246 in evo master (3.3.3+) Created commit 64968a8 in evo gnome-3-2 (3.2.3+)