After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 757348 - Endless loop in webkit_dom_node_append_child(): assertion 'WEBKIT_DOM_IS_NODE(self)' failed
Endless loop in webkit_dom_node_append_child(): assertion 'WEBKIT_DOM_IS_NODE...
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Composer
3.18.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Tomas Popela
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2015-10-30 10:34 UTC by freggy1
Modified: 2015-11-02 13:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
draft message triggering the bug (7.63 KB, text/plain)
2015-11-02 13:15 UTC, Ansgar Burchardt
Details

Description freggy1 2015-10-30 10:34:04 UTC
I can reproducibly make Evolution hang, while on the console I see constantly this message being printed:

** (evolution:27577): CRITICAL **: WebKitDOMNode* webkit_dom_node_append_child(WebKitDOMNode*, WebKitDOMNode*, GError**): assertion 'WEBKIT_DOM_IS_NODE(self)' failed


It happens when replying to an e-mail in plain text format.

I write my response under the quoted mail, and then wanted to remove some empty lines just above my signature.

One of these lines, just contains the quote character >. I put my cursor to the right of the quote character and press Backspace so the > disappears. Then when I press Backspace a second time in order to remove the now empty line, Evolution starts hanging.

If I recover the mail at the next Evolution start, and try to do the same, Evolution hangs again.
Comment 1 Tomas Popela 2015-11-02 09:19:03 UTC
Thank you for your bug report. As I already asked you on irc, do you have some test message on which you can reproduce it and share it with me? As I was not able to reproduce this bug :/.
Comment 2 Ansgar Burchardt 2015-11-02 13:14:13 UTC
I experienced this bug as well and filed a bug report in Debian[1].

I've also a test message which triggeres the problem for me, see attachment. The problem is triggered after placing the cursor at the end of the message and removing the whitespace (so that the cursor would move from the line below "Darum" to behind the "Darum").

The Debian bug report also has a backtrace if that helps.

  [1] <https://bugs.debian.org/803765>
Comment 3 Ansgar Burchardt 2015-11-02 13:15:11 UTC
Created attachment 314635 [details]
draft message triggering the bug
Comment 4 Tomas Popela 2015-11-02 13:54:23 UTC
Thank you Ansgar for reproducer!

Fixed with following commits:

    Bug 757348 - Endless loop in webkit_dom_node_append_child(): assertion
    'WEBKIT_DOM_IS_NODE(self)' failedgnome-3-18

    The main cause was that after modifying/deleting an original quoted content
    there were some empty blockquote elements left and they caused the Evolution
    to misbehave. It showed up that we are not removing the empty blockquotes
    after deleting/modifying a quoted content, but only empty blocks inside
    them. Correct the remove_empty_blocks to remove the empty blockquotes as
    well.

    The loop took a place in the remove_wrapping_from_element function. To
    avoid it return early if we pass an empty element to it and apply the same to
    remove_quoting_from_element.

commit 772b57efac36e192b14d2c1deeb7132426cd6b03 in the master branch for Evolution 3.19.2+

commit d967f4ef7662022ed7a1608b0288c17bd478fdfb in the gnome-3-18 branch for Evolution 3.18.2+