Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to execute 'replaceChild' on 'Node': The node to be replaced is not a child of this node. #6699

Closed
travisbader opened this issue Jun 9, 2020 · 15 comments

Comments

@travisbader
Copy link
Contributor

Description

Briefly describe the issue.
Include a reduced test case, we have a starter template on JSBin you can use.

Steps to reproduce

Explain in detail the exact steps necessary to reproduce the issue.

  1. I am not sure the exact steps to repro, but I theorize this crash is surrounding disposing of the video player and the updating of the remaining time

Results

Expected

Don't throw errors

Actual

The error is thrown

Error output

Screen Shot 2020-06-09 at 1 58 57 PM

Additional Information

Please include any additional information necessary here. Including the following:

versions

videojs

7.7.6

browsers

Chrome for sure, haven't seen in other browsers yet

OSes

unknown

plugins

"@silvermine/videojs-airplay": "^1.0.0",
"@silvermine/videojs-chromecast": "^1.2.1",
"videojs-contrib-quality-levels": "^2.0.9",
"videojs-hotkeys": "^0.2.25",
"videojs-vtt.js": "^0.12.6"
@welcome
Copy link

welcome bot commented Jun 9, 2020

👋 Thanks for opening your first issue here! 👋

If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.
To help make it easier for us to investigate your issue, please follow the contributing guidelines.

@travisbader
Copy link
Contributor Author

PR submitted

@gkatsev
Copy link
Member

gkatsev commented Jun 24, 2020

Like #5706, it would be good to figure out the root cause. Often times these issues and fixes with null checks just hide a worse problem that would be better if it were fixed.

@dansgithub
Copy link

Hey everyone, is there any update on this issue? Currently we have many error logs coming from this one and there seems to be no fix!

@JustinMGaiam
Copy link

JustinMGaiam commented Sep 29, 2020

This is also the highest error rate in our NewRelic Browser monitoring (we use VideoJS through the Brightcove player specifically via the npm brightcove/react-player-loader npm package) so anything that moves towards fixing this error would be very helpful.

@travisbader
Copy link
Contributor Author

Now three users all reporting high quantity of errors. Im ok if you don't merge my naive fix for reasons of wanting to find the root cause, but can you please find the root cause! We still have an enormous number of errors emitting out of this and would appreciate any attention you can give it

@gkatsev
Copy link
Member

gkatsev commented Sep 29, 2020

Are all of you using newrlic for error tracking?

Also, can you give me some more info about your environments? I've tried to reproduce it a bit but I've been unable to.

@travisbader
Copy link
Contributor Author

We are using raygun as our error reporting tool. We use video.js in a react app similar to a netflix like product. I suspect that this issue comes up when the video.js player is disposed when swapping to a new video

@gkatsev
Copy link
Member

gkatsev commented Sep 29, 2020

Wonder if it's a react? Have a sample of how the player is disposed and a new source used?

@Darkein
Copy link

Darkein commented Nov 10, 2020

Hi there, we have exactly the same problem.

Our app use Angular 8, not react. We can't reproduce it, but some of our users have it (about 1%) whatever the browser or the OS.
We contacted a user who has exactly the same computer than me (macbook pro 13"2017). He has the problem everytime, with the latest version of Chrome.

Could we just suppress the error while we try to find why it crash? Because we can't catch the error ourselves, it crash the entire application. And like @JustinMGaiam we have homemade log/error tracking, filled by this error.

@sebastien-f
Copy link

sebastien-f commented Nov 26, 2020

We also have the issue on an angular 8+ application. We upgraded to the latest version of videojs and pushed to production on November 9. We got so many errors that we exceeded our Sentry quota due to it. You can see the grap of errors from the month :
error

Here it is compared to other issues so you can have an idea of what volume difference we are talking.
error2

We are investigating the issue on our side (as we saw that our implementation was different than the one in the documentation) to see if can come from that.

@kontrollanten
Copy link
Contributor

kontrollanten commented Dec 6, 2020

We're facing this as well, using PeerTube 2.4.0 (Angular 11). Our sentry quota was eaten up as well. PeerTube doesn't provide source maps so I can't dig deeper into where the actual source is (I just assume it is video.js since other people are facing the same issue here).

@sebastien-f @travisbader @JustinMGaiam @Darkein Do you have any stack traces from NewRelic/Sentry that you can provide?

PR created where the proposed change for #6700 is fixed: #6977

@sebastien-f
Copy link

@kontrollanten Sorry, can't provide any it's a project under a very strict NDA.
Also for what it's worth, we redid the integration to follow more closely one of the documentation and don't have any error or warning now. We will be reenabling Sentry at the start of next year after updating it again to be sure to include @gkatsev fix (thank you for that btw !)

@nayaaltahan
Copy link

Using Google translate to translate a page that load videos causes this error, on my case.

@chaitanyabd
Copy link

Confirmed that adding translate="no" on the DIV that encapsulates videojs prevents this issue entirely.

Ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate

gkatsev added a commit that referenced this issue Oct 14, 2021
This is another follow-up to #6699.

Potentially, it means we could get rid of #6977
gkatsev added a commit that referenced this issue Nov 9, 2021
This is another follow-up to #6699.

Potentially, it means we could get rid of #6977
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 25, 2022
edirub pushed a commit to edirub/video.js that referenced this issue Jun 8, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants