rrweb icon indicating copy to clipboard operation
rrweb copied to clipboard

Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

Open xavierh81 opened this issue 5 years ago • 17 comments

Hi !

I got the following exception while replaying a session recorded on one of my website.

issue

During the session, it crashed when the user was interacting with some dynamic selects / dropdowns.

Have you already seen this kind of errors?

PS: I can't post the events log due to privacy rules

xavierh81 avatar Jul 10 '19 10:07 xavierh81

If this happens with version 0.7.16, then it may be a new bug.

Could you tell me which select component is this project using? Maybe I can try to reproduce it.

Yuyz0112 avatar Jul 10 '19 10:07 Yuyz0112

There is no custom component for the selects.

They are just dynamic dropdowns with live changes handled by AngularJS (1.6.10)

xavierh81 avatar Jul 10 '19 11:07 xavierh81

@Yuyz0112 i have the same problem. It is only happening on one specific page and only with the safari browser (mobile and desktop). I think there is maybe an DOM change which the recorder didn't detect. I send you a recording via e-mail with the bug.

s-jakob avatar Jul 16 '19 10:07 s-jakob

Copied from #306.

In some cases when applyMutation removes a node, the parent of that node is not attached to the document. This triggers the following error Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

Expected behaviour

No error should happen

To reproduce

  1. git clone [email protected]:juice10/rrweb-player-1.git
  2. npm install
  3. npm start
  4. Open http://localhost:1234
  5. Seek to around the 23 second or 26 second mark and let it play for a couple seconds, error will trigger: image

Additional information

image image

The error isn't triggered when seeking (isSync == true) past the event. The error also isn't triggered if playing from the very start.

Based off of https://github.com/rrweb-io/rrweb/issues/285#issuecomment-678808349 & https://github.com/rrweb-io/rrweb/issues/285#issue-679841740

Example event triggering failure

{"source":0,"texts":[{"id":3033,"value":"\n/* sc-component-id: sc-global-2139370859 */\n.intercom-messenger-frame{left:0.5rem !important;bottom:4.25rem !important;}"}],"attributes":[],"removes":[{"parentId":99,"id":2635}],"adds":[{"parentId":99,"nextId":107,"node":{"type":3,"textContent":"\n/* sc-component-id: sc-global-2139370859 */\n.intercom-messenger-frame{left:0.5rem !important;bottom:4.25rem !important;}","isStyle":true,"id":3033}}]}

View all events.

Juice10 avatar Sep 04 '20 12:09 Juice10

@Yuyz0112 Hi, I've been having the same problem recently.Can you help me out?

codetiantian avatar Sep 28 '20 08:09 codetiantian

More related issues: https://github.com/rrweb-io/rrweb/issues/376 https://github.com/rrweb-io/rrweb/issues/337

Juice10 avatar Sep 28 '20 10:09 Juice10

We're also hitting this in #365

Kimmax avatar Sep 28 '20 22:09 Kimmax

... And still no response. I don't get that. People have opened issues regarding these problems before. @Yuyz0112 requested event data - they never replied. Now there's a bunch of event data and the issues are just being ignored. ¯_(ツ)_/¯ (#337 #365 #376)

NulSEO avatar Oct 04 '20 10:10 NulSEO

Hi @NulSEO

Actually, this error message is very general and most of the events are causing by different reasons. @Juice10 pointed out a way to reproduce it which is technically right, but I believe are not related to the problems you are facing.

I've done some debug on #337, #365, and #376, most of them are causing by some un-confirmed usage of rrweb, like merging different sessions into one.

So please upload your events or reproducible link for debugging. The other one's report may not help fix your problem.

Yuyz0112 avatar Oct 04 '20 15:10 Yuyz0112

I am having error while replaying events DOMException: Failed to execute 'insertBefore' on 'Node': This node type does not support this method. at appendNode (http://localhost:3000/static/js/0.chunk.js:150183:76) at http://localhost:3000/static/js/0.chunk.js:150194:7 at Array.forEach () at Replayer.applyMutation (http://localhost:3000/static/js/0.chunk.js:150193:12) at Replayer.applyIncremental (http://localhost:3000/static/js/0.chunk.js:149790:16) at castFn (http://localhost:3000/static/js/0.chunk.js:149494:17) at wrappedCastFn (http://localhost:3000/static/js/0.chunk.js:149556:9) at _loop_1 (http://localhost:3000/static/js/0.chunk.js:150796:13) at play (http://localhost:3000/static/js/0.chunk.js:150812:13) at http://localhost:3000/static/js/0.chunk.js:144542:17

goldy-13 avatar Apr 13 '21 12:04 goldy-13

@Juice10 I am getting DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method. while seeking video in some recordings. Could you please help me out

goldy-13 avatar Apr 15 '21 06:04 goldy-13

@goldy-13 I was not able to fix my own issue but I’m happy to help if I can. What version of rrweb or rrweb-player are you using? Could you create a gist of your events?

Juice10 avatar Apr 15 '21 08:04 Juice10

@goldy-13 I was not able to fix my own issue but I’m happy to help if I can. What version of rrweb or rrweb-player are you using? Could you create a gist of your events?

I am using rrweb 0.9.14, here is link to my events: https://gist.github.com/goldy-13/56bfe6d533eb7917a96fb6f4a5c7b483

goldy-13 avatar Apr 16 '21 05:04 goldy-13

mark

Tang-jianchao avatar May 08 '21 08:05 Tang-jianchao

Same issues goes to me. any updates regarding this one?

heyitsnovi avatar Jun 24 '21 04:06 heyitsnovi

@heyitsnovi Like Yuyz0112 said, this error message is very general and most of the events are causing by different reasons. If you are facing the same errors, please upload your events to help us figure out the root cause.

YunFeng0817 avatar Jun 24 '21 06:06 YunFeng0817

@Mark-Fenng here's the sample event json link: https://gist.github.com/heyitsnovi/c31fc044fb7c85945fc4bae79433ec4b

heyitsnovi avatar Jun 30 '21 01:06 heyitsnovi