GNOME Bugzilla – Bug 767228
Use-after-free in MessageList rebuild under clear_tree()
Last modified: 2016-12-01 17:31:24 UTC
Created attachment 329107 [details] gdb backtrace of the crash I got a random crash (SIGSEGV) in evolution. I am using evolution 3.20.2-2, evolution-data-server 3.20.2-2 and GNOME 3.20 on Debian stretch. If the below gdb backtrace summary and attached full gdb backtrace isn't useful, please close this bug. Core was generated by `evolution'. Program terminated with signal SIGSEGV, Segmentation fault.
+ Trace 236301
Thanks for taking the time to report this. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 680471 ***
My fault, the above issue is different that ithe one in the bug #680471, thus I'm reopening this.
The problem here is that the MessageList's clear_tree() frees all the GNode-s, but the associated ETreeTableAdapter still has them stored in its mapping cache. It removes them, but too late, when the MessageList is unfrozen. Created commit 26537ec in evo master (3.23.3+) Created commit a62f99a in evo gnome-3-22 (3.22.3+)
Err, and I missed some changes, thus: Created commit 402b24d in evo master (3.23.3+) Created commit 1b512d9 in evo gnome-3-22 (3.22.3+)
*** Bug 774692 has been marked as a duplicate of this bug. ***