GNOME Bugzilla – Bug 785472
Composer crashes when right clicking a word for spell check
Last modified: 2017-07-27 18:28:42 UTC
If you compose a message and spell a word wrong it will turn red. If you right click the word to get the suggested word it crashes the composer (but not the whole app) You have to close the composer and start over.
Thanks for a bug report. I'm not able to reproduce it. What I did: a) File->New->Mail Message b) change the format either to Plain Text or to HTML, I tried both c) click into the body and type: abab<space> d) after pressing the <space> button the "abab" is underlined e) grab the mouse, place cursor in the middle of the word and right-click A popup menu with the spelling suggestions is offered, plus some other context options as well. I had been able to reproduce something like that, it looks like frozen composer message body, but it recovers after several seconds (it's bad and should not happen, but it at least doesn't crash). It involves html_editor_context_menu_requested_cb(), html_editor_update_actions(), webkit_editor_get_caret_word(), which blocks WebKit's IPC code in the main thread, thus the WebKitWebProcess side is waiting in the IPC code under markAllMisspellingsAndBadGrammarInRanges(). This is filled as bug #777086. Could you run evolution from a terminal and reproduce the issue, then wait for several seconds (can be even 30 seconds or a minute, it depends on the D-Bus timeout you've configured), whether it'll recover or not, please? The evolution terminal might have there something like this after it recovers: > evolution-util-WARNING **: Failed to call a DBus Proxy method > org.gnome.Evolution.WebExtension.EWebKitEditor.WC0x558176b25d40:: > DOMGetCaretWord: Timeout was reached
Wow, you are exactly right on all counts. I just didn't wait long enough before I assumed it wasn't going to recover. The error I got in the terminal is (evolution:18655): evolution-util-WARNING **: Failed to call a DBus Proxy method org.gnome.Evolution.WebExtension.EWebKitEditor.WC0x55a10ebf4a50::DOMGetCaretWord: Timeout was reached. Also, when this happens the spell correct doesn't work.
I see this was fixed already and is the same as the bug report you mentioned. I will mark this as resolved. *** This bug has been marked as a duplicate of bug 777086 ***