GNOME Bugzilla – Bug 740297
[abrt] [SMTP] Crash when sending two messages at once
Last modified: 2015-02-26 10:53:03 UTC
Moving this from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1164795 Version-Release number of selected component: evolution-3.12.8-1.fc21 Additional info: reporter: libreport-2.3.0 backtrace_rating: 4 cmdline: evolution mailto:?attach=file:///home/gajendra/Desktop/Software%20Testing%20File.pdf crash_function: camel_stream_buffer_gets executable: /usr/bin/evolution kernel: 3.17.3-300.fc21.x86_64 Core was generated by `evolution mailto:?attach=file:///home/gajendra/Desktop/Software%20Testing%20Fil'. Program terminated with signal SIGSEGV, Segmentation fault.
+ Trace 234338
Thread 1 (Thread 0x7fe249df5700 (LWP 9052))
This looks like a memory corruption, the function doesn't check for a pointer validity, thus it accessed a private member which is out of range (the other is, the one where it crashed was a deference of NULL). I do not know what to look at, unless a reproducer would be found. A similar bug, in a sense of "after sending a message" is described at: https://bugzilla.redhat.com/show_bug.cgi?id=1158055
Created attachment 292406 [details] Valgrind log I got this crash twice in a row (i.e. right after restarting Evo, when trying to send the same two messages again). It might have something to do with trying to send two messages at the same time. The second time I restarted Evo, I run it in Valgrind. Unfortunately the crash did not happen, maybe because it's very hard to send two messages at the same time under the slow Valgrind. Anyway I'm attaching the log, in case there's something useful.
Thanks for the update. The valgrind log doesn't show anything related, but the detail of sending two messages at the same time might be it. I'll test it here and get back to you when I know more.
I can confirm the crash, when sending two messages at once. The SMTP provider is not meant to be used this way. It'll require some nontrivial changes, either on the evolution side (in the composer), or on the SMTP provider side. The thing is that the send in composer doesn't use a global queue, while with the old behaviour of sending messages through Outbox created the queue as a side effect.
Dealing with this on the evolution-data-server side would be too complicated, especially when evolution itself is driving the connection state of the transport service, thus I made the change on the evolution side, by "locking" the service usage to have a serialized queue, rather than the parallel. Created commit ab45f3f in evo master (3.13.9+) [1] Created commit f2a6072 in evo evolution-3-12 (3.12.10+) [1] https://git.gnome.org/browse/evolution/commit/?id=ab45f3f The 3.12 patch doesn't have the new localized string.
*** Bug 744710 has been marked as a duplicate of this bug. ***