Closed Bug 1547806 Opened 6 years ago Closed 6 years ago

Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowUtils.removeSheetUsingURIString]" nsresult: "0x80004005

Categories

(Core :: General, defect)

68 Branch
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox66 --- affected
firefox67 --- affected
firefox68 --- affected

People

(Reporter: u532768, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

Watch videos at vimeo.com. Anyway, I'm watching videos at vimeo using the latest nightly (compiled locally from the updated hg repository 20190429). I'll be watching a video, and click in the timeline to move to a new time in the already downloaded part of the timeline, and I'll get this error.

Actual results:

The interface no longer responds to control for stop and start (mouse or space), and the sound goes all wonky, with buzzing and break-up. I have to return to the selection menu in order to clear the error to replay the video. The mouse works sometimes, and full screen toggle (letter f) still works.

Here's the output:

Extension error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowUtils.removeSheetUsingURIString]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: resource://gre/modules/ExtensionCommon.jsm :: runSafeSyncWithoutClone :: line 65" data: no] undefined 65
[[Exception stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionCommon.jsm:65:12
cleanup@resource://gre/modules/ExtensionContent.jsm:353:11
close@resource://gre/modules/ExtensionContent.jsm:814:14
inner-window-destroyed@resource://gre/modules/ExtensionContent.jsm:889:19
observe@resource://gre/modules/ExtensionContent.jsm:905:27
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionCommon.jsm:67:129
cleanup@resource://gre/modules/ExtensionContent.jsm:353:11
close@resource://gre/modules/ExtensionContent.jsm:814:14
inner-window-destroyed@resource://gre/modules/ExtensionContent.jsm:889:19
observe@resource://gre/modules/ExtensionContent.jsm:905:27

I didn't notice this before last Friday's build of nightly. And when I try to use the stable version of firefox (66), it has this error but it is much harder to trigger. Most of the time it works fine.

Expected results:

Position in video should move to new time, and interface still works.

Ugh..this one looks really bad and I don't understand how it got so far into Firefox versions.

Reproduced it on latest Nightly 68, Beta15 and Release 66 on Ubuntu 16.04 and Mac OS 10.13. I got a different error in the browser console but the same symptoms as described by the reporter.

I can't reproduce this on Windows 10 tho.
Mike, could you please also check if this could be some changes on Vimeo's side? I don't recall this ever happening before but suddenly it is reproducible on Release. Not reproducible on Chrome.

Browser Console error:
RemoteWebProgress failed to call onStatusChange: [Exception... "JavaScript component does not have a method named: "onStatusChange"'JavaScript component does not have a method named: "onStatusChange"' when calling method: [nsIWebProgressListener::onStatusChange]" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)" location: "JS frame :: resource://gre/modules/RemoteWebProgress.jsm :: _callProgressListeners :: line 103" data: no]

Status: UNCONFIRMED → NEW
Component: Untriaged → Audio/Video: Playback
Ever confirmed: true
Flags: needinfo?(miket)
Product: Firefox → Core

this isn't an audio/video bug.

Component: Audio/Video: Playback → General

The errors in OP seem to be from a different bug and they trigger when a tab is closed or refreshed: https://bugzilla.mozilla.org/show_bug.cgi?id=1433798#c10

Otherwise, I cannot reproduce this with https://vimeo.com/259411563 and Firefox changeset: 472458:c68ff92fe54c
tag: tip
from mozilla-central repo.

Maybe it got fixed? or something I changed in my settings, or the extensions I'm using, prevent me from reproducing...

while video is playing(not paused!) if you click to seek too many times, fast, to random timestamps in the video, as it shows lines like this in the terminal:
JavaScript error: , line 0: AbortError: The operation was aborted.
you can break something to the point where you can still seek into the video(and it's instant), but you cannot pause it(or the action to pause is delayed for a few seconds?) and it's frame dropping like crazy(audio-wise also) with 110% CPU usage in Web Content thread, and after a while the video interface is non-responsive also.

other than the above lines I also got only one like this, after a while:
JavaScript error: https://f.vimeocdn.com/p/3.11.7/js/player.js, line 2: TypeError: The expression cannot be converted to return the specified type.

stan, does this still reproduce for you?

Flags: needinfo?(miket) → needinfo?(stanl-mozilla)

Sorry for the delay. Different email address, slipped by. Anyway, the answer is no, it does not. I've been messing with different versions of firefox because of the extensions wipeout, so I didn't really notice when this stopped happening. Thanks for the fix.

Flags: needinfo?(stanl-mozilla)

The priority flag is not set for this bug.
:sdetar, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(sdetar)

(In reply to Timea Babos from comment #1)

Reproduced it on latest Nightly 68, Beta15 and Release 66 on Ubuntu 16.04 and Mac OS 10.13. I got a different error in the browser console but the same symptoms as described by the reporter.

Given comment 6, can you still reproduce, Timea?

RemoteWebProgress failed to call onStatusChange: [Exception... "JavaScript component does not have a method named: "onStatusChange"'JavaScript component does not have a method named: "onStatusChange"' when calling method: [nsIWebProgressListener::onStatusChange]" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)" location: "JS frame :: resource://gre/modules/RemoteWebProgress.jsm :: _callProgressListeners :: line 103" data: no]

Barret, you've been working on RemoteWebProgress.jsm recently; any ideas what the above means?

Flags: needinfo?(timea.babos)
Flags: needinfo?(sdetar)
Flags: needinfo?(brennie)

Just checked it on MacOS on latest Nightly, could not reproduce the stuttering anymore!
However, I still see the error thrown in the browser console but vimeo works fine.

Flags: needinfo?(timea.babos)

(In reply to Andrew Overholt [:overholt] from comment #8)

[snip]

RemoteWebProgress failed to call onStatusChange: [Exception... "JavaScript component does not have a method named: "onStatusChange"'JavaScript component does not have a method named: "onStatusChange"' when calling method: [nsIWebProgressListener::onStatusChange]" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)" location: "JS frame :: resource://gre/modules/RemoteWebProgress.jsm :: _callProgressListeners :: line 103" data: no]

Barret, you've been working on RemoteWebProgress.jsm recently; any ideas what the above means?

Hey Andrew,
This is due to a JS object being registered on the RemoteWebProgressManager with flags that says it wants onStateChange events without implementing the onStateChange method. This error is handled gracefully and shouldn't interfere with other progress listeners. It also isn't new since the patch that added that handling is from 2013.

My best guess is that this error is a coincidence and unrelated to the video stuttering issue. A separate bug should be filed to clean up JS-implemented nsIWebProgressListeners that are registered with incorrect flags and missing the relevant methods.

Flags: needinfo?(brennie)
See Also: → 1553200

Thanks for verifying, TImea, and for the further analysis, Barret!

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.