GNOME Bugzilla – Bug 773420
Prevent crash when e_content_editor_get_content() returns NULL
Last modified: 2017-05-30 09:02:32 UTC
Created attachment 338343 [details] complete backtrace Evolution crashed after I tried to send an email. I was in another workspace at the time so I don't know exactly how far it got through the process. Log messages: Oct 24 13:19:51 wintermute evolution[6807]: Event already in progress. Oct 24 13:19:52 wintermute evolution[6807]: Event already in progress. Oct 24 13:19:52 wintermute evolution[6807]: Event already in progress. Oct 24 13:20:11 wintermute evolution[6807]: Event already in progress. Oct 24 13:20:12 wintermute evolution[6807]: Event already in progress. Oct 24 13:20:12 wintermute evolution[6807]: Event already in progress. Oct 24 13:20:14 wintermute evolution[6807]: Failed to call a DBus Proxy method org.gnome.Evolution.WebExtension.EWebKitEditor::DOMGetContent: Timeout was reached Oct 24 13:20:39 wintermute evolution[6807]: Failed to call a DBus Proxy method org.gnome.Evolution.WebExtension.EWebKitEditor::DOMGetContent: Timeout was reached Oct 24 13:20:39 wintermute evolution[6807]: e_html_editor_get_content_editor: assertion 'E_IS_HTML_EDITOR (editor)' failed Oct 24 13:20:39 wintermute evolution[6807]: e_content_editor_get_content: assertion 'E_IS_CONTENT_EDITOR (editor)' failed Backtrace:
+ Trace 236763
Thanks for a bug report. That "Event already in progress" is new to me, I do not recall seeing it any time recently. I see it in the code, thus it comes from the evolution itself. The rest of the runtime warnings basically mean that the corresponding WebKitWebProcess process got stuck on something and didn't respond on time. It would be nice to know what it got stuck on, if you can reproduce this crash anyhow. The composer_build_message() can be fixed to not call strlen() on a NULL text, but it'll only fix the consequence of the issue, not the root cause of it.
I've not had any luck reproducing the problem. IIRC I was replying to a particular email, and noticed evolution was rather slow to respond to inputs. While that email was an HTML one, it isn't a particularly big one, and composing a reply to the same message today doesn't cause evolution to exhibit the same sluggish behaviour.
Created attachment 338399 [details] evolution message log Here's everything logged by evolution. I notice there's a bunch of messages complaining about timeouts from webkit.
(In reply to Sam Morris from comment #3) > Here's everything logged by evolution. I notice there's a bunch of messages > complaining about timeouts from webkit. Thanks for the update. There happened something quite bad. It can be the WebKitWebProcess thing, all the timeouts are about it. Please, once you'll notice it again, get a backtrace of the WebKitWebProcess, to see what it does. There should be shown two of them, one for the message display, the other for the composer. I do not know which of the two is exhibiting the issue, neither how to recognize from `ps ax | grep WebProcess` which it is, thus get a backtrace for both and we'll see. Thanks in advance.
No response provided so I'm closing this bug. If you hit the problem again, feel free to reopen it.
*** Bug 782747 has been marked as a duplicate of this bug. ***
According to the place of the crash it looks like e_content_editor_get_content() returned NULL for whatever reason. I think we can add at least a workaround to use an empty string instead of NULL in such cases, thus the code will not crash. Such workaround can hide the real issue and its cause, but it will be better than crashing the whole application.
The below change avoids the crash and claims on the console when it happened. Other usages of the function did check for non-NULL values already. Created commit a2dfd08 in evo master (3.25.2+) Created commit da122f2 in evo gnome-3-24 (3.24.3+)
*** Bug 783022 has been marked as a duplicate of this bug. ***