GNOME Bugzilla – Bug 662568
[regression] Use-after-free in Templates plugin signal handlers
Last modified: 2013-03-25 13:15:25 UTC
I'd just finished building/installing/rstarting the git/master of evo and friends. I'd deleted an entry in my templates folder and was trying to copy the contents of another template to an e-mail I was composing. Core was generated by `evolution'. Program terminated with signal 11, Segmentation fault.
+ Trace 228898
Thread 1 (Thread 29357)
Could you provide steps with what you click & press, please? I tried to reproduce by the description steps, but no luck. The best if you can do it with fresh evolution. Thanks in advance.
David can you reply the comment 1 ? thank
I thought that I'd done the following: In the mailer press New The go back to the mail UI and select one of my templates. Highlight the portion of the template you want in the new message, and press copy. Go back to the new message and press paste. I just tried this and it worked as expected. (maybe this is a consequence of some other bug that was fixed). I guess you should close this.
Donwstream bug report about the same from 3.2.2: https://bugzilla.redhat.com/show_bug.cgi?id=771371
Downstream bug report about the same from 3.4.1: https://bugzilla.redhat.com/show_bug.cgi?id=828590 comment: Sending a mail with large attachments, and attempted to save as template because sending stalled for minutes Core was generated by `evolution'. Program terminated with signal 11, Segmentation fault.
+ Trace 230310
Thread 1 (Thread 0x7f67aeebc9c0 (LWP 1408))
I noticed in the Templates plugin, the signal handlers we connect to the Templates folder and local store in response to a new mail shell view are never disconnected. So if the shell window gets destroyed and Evolution keeps running, the signal handlers for the destroyed window will continue to run. Need to make sure the signal handlers get cleaned up.
Created attachment 231726 [details] [review] evo patch for evolution; This fixes it. It's like Matthew wrote, the signals are not disconnected when the ShellWindow dies, thus the callbacks operate on a freed memory. I'm postponing the patch for time when 3.7.3.1 is out.
Oops, I completely forgot of this bug report :-/ Created commit 7bd4880 in evo master (3.9.1+) Created commit 6dc98a0 in evo gnome-3-8 (3.8.1+)