Closed Bug 1535888 Opened 5 years ago Closed 6 months ago

Assertion failure: rv.Failed(), at src/dom/html/HTMLMediaElement.cpp:1027

Categories

(Core :: Audio/Video: Playback, defect, P3)

defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox67 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file testcase.html

Using a fuzzing build and setting the following prefs can help speed up repro:
dom.disable_open_during_load=false
fuzzing.enabled=true

Otherwise open multiple instances of the test case in separate tabs.

Assertion failure: rv.Failed(), at src/dom/html/HTMLMediaElement.cpp:1027

#0 mozilla::dom::HTMLMediaElement::AudioChannelAgentCallback::Resume() src/dom/html/HTMLMediaElement.cpp:1025:5
#1 mozilla::dom::HTMLMediaElement::AudioChannelAgentCallback::WindowSuspendChanged(unsigned int) src/dom/html/HTMLMediaElement.cpp:864:9
#2 mozilla::dom::AudioChannelAgent::WindowSuspendChanged(unsigned int) src/dom/audiochannel/AudioChannelAgent.cpp:263:13
#3 std::function<void (mozilla::dom::AudioChannelAgent*)>::operator()(mozilla::dom::AudioChannelAgent*) const src/clang/bin/../lib/gcc/x86_64-unknown-linux-gnu/6.4.0/../../../../include/c++/6.4.0/functional:2127:14
#4 mozilla::dom::AudioChannelService::RefreshAgents(nsPIDOMWindowOuter*, std::function<void (mozilla::dom::AudioChannelAgent*)> const&) src/dom/audiochannel/AudioChannelService.cpp:434:5
#5 mozilla::dom::AudioChannelService::RefreshAgentsSuspend(nsPIDOMWindowOuter*, unsigned int) src/dom/audiochannel/AudioChannelService.cpp:445:3
#6 nsPIDOMWindowOuter::RefreshMediaElementsSuspend(unsigned int) src/dom/base/nsGlobalWindowOuter.cpp:2884:14
#7 mozilla::dom::Document::UpdateVisibilityState() src/dom/base/Document.cpp:10953:5
#8 mozilla::dom::Document::OnPageShow(bool, mozilla::dom::EventTarget*, bool) src/dom/base/Document.cpp:7833:3
#9 nsDocumentViewer::LoadComplete(nsresult) src/layout/base/nsDocumentViewer.cpp:1128:20
#10 nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, nsresult) src/docshell/base/nsDocShell.cpp:6588:21
#11 nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) src/docshell/base/nsDocShell.cpp:6389:7
#12 non-virtual thunk to nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) src/docshell/base/nsDocShell.cpp
#13 nsDocLoader::DoFireOnStateChange(nsIWebProgress*, nsIRequest*, int&, nsresult) src/uriloader/base/nsDocLoader.cpp:1312:3
#14 nsDocLoader::doStopDocumentLoad(nsIRequest*, nsresult) src/uriloader/base/nsDocLoader.cpp:871:14
#15 nsDocLoader::DocLoaderIsEmpty(bool) src/uriloader/base/nsDocLoader.cpp:709:9
#16 nsDocLoader::OnStopRequest(nsIRequest*, nsresult) src/uriloader/base/nsDocLoader.cpp:597:5
#17 non-virtual thunk to nsDocLoader::OnStopRequest(nsIRequest*, nsresult) src/uriloader/base/nsDocLoader.cpp
#18 mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) src/netwerk/base/nsLoadGroup.cpp:568:22
#19 mozilla::dom::Document::DoUnblockOnload() src/dom/base/Document.cpp:7743:18
#20 mozilla::dom::nsUnblockOnloadEvent::Run() src/dom/base/Document.cpp:7699:11
#21 mozilla::SchedulerGroup::Runnable::Run() src/xpcom/threads/SchedulerGroup.cpp:295:32
#22 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1179:14
#23 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:482:10
#24 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:88:21
#25 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:315:10
#26 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
#27 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:137:27
#28 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:933:20
#29 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:238:9
#30 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:315:10
#31 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
#32 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:771:34
#33 content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
#34 main src/browser/app/nsBrowserApp.cpp:265:18
Flags: in-testsuite?

Looks like it is probably a faulty assertion. To me, it looks like rv will never be a failure if a promise is returned.

Rank: 25
Priority: -- → P3
Severity: normal → S3

The attached test case no longer reproduces the issue. It was last reported by fuzzers targeting 20190823-9f96b6821f1d.

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

Attachment

General

Created:
Updated:
Size: