Closed Bug 1412231 Opened 7 years ago Closed 5 years ago

Intermittent Assertion failure: mAudioContextOperation == AudioContextOperation::Close (We should be reviving the graph?), at /builds/worker/workspace/build/src/dom/media/MediaStreamGraph.cpp:4051

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox-esr60 --- wontfix
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: padenot)

References

Details

(Keywords: assertion, intermittent-failure)

Attachments

(2 files)

Filed by: archaeopteryx [at] coole-files.de

https://treeherder.mozilla.org/logviewer.html#?job_id=139860182&repo=mozilla-inbound

https://queue.taskcluster.net/v1/task/V9kMB5NCRpuet5d3r_2LPw/runs/0/artifacts/public/logs/live_backing.log

This is how it fails on Linux. On OS X and Windows, the failure is bug 1412229.

[task 2017-10-26T13:45:40.354Z] 13:45:40     INFO - REFTEST SUITE-START | Running 1 tests
[task 2017-10-26T13:45:40.355Z] 13:45:40     INFO - REFTEST TEST-START | file:///builds/worker/workspace/build/tests/reftest/tests/dom/media/tests/crashtests/1185191.html
[task 2017-10-26T13:45:40.357Z] 13:45:40     INFO - REFTEST INFO | SET PREFERENCE pref(media.navigator.permission.disabled,true)
[task 2017-10-26T13:45:40.358Z] 13:45:40     INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/dom/media/tests/crashtests/1185191.html | 0 / 1 (0%)
[task 2017-10-26T13:45:40.360Z] 13:45:40     INFO - ++DOMWINDOW == 3 (0x7fb38ad54800) [pid = 1261] [serial = 3] [outer = 0x7fb38c5e0800]
[task 2017-10-26T13:45:40.588Z] 13:45:40     INFO - REFTEST TEST-PASS | file:///builds/worker/workspace/build/tests/reftest/tests/dom/media/tests/crashtests/1185191.html | (LOAD ONLY)
[task 2017-10-26T13:45:40.588Z] 13:45:40     INFO - REFTEST TEST-END | file:///builds/worker/workspace/build/tests/reftest/tests/dom/media/tests/crashtests/1185191.html
[task 2017-10-26T13:45:40.599Z] 13:45:40     INFO - ++DOMWINDOW == 4 (0x7fb38ad47800) [pid = 1261] [serial = 4] [outer = 0x7fb38c5e0800]
[task 2017-10-26T13:45:40.667Z] 13:45:40     INFO - REFTEST INFO | RESTORE PREFERENCE pref(media.navigator.permission.disabled,false)
[task 2017-10-26T13:45:40.669Z] 13:45:40     INFO - REFTEST INFO | Result summary:
[task 2017-10-26T13:45:40.671Z] 13:45:40     INFO - REFTEST INFO | Successful: 1 (0 pass, 1 load only)
[task 2017-10-26T13:45:40.672Z] 13:45:40     INFO - REFTEST INFO | Unexpected: 0 (0 unexpected fail, 0 unexpected pass, 0 unexpected asserts, 0 failed load, 0 exception)
[task 2017-10-26T13:45:40.673Z] 13:45:40     INFO - REFTEST INFO | Known problems: 0 (0 known fail, 0 known asserts, 0 random, 0 skipped, 0 slow)
[task 2017-10-26T13:45:40.674Z] 13:45:40     INFO - REFTEST SUITE-END | Shutdown
[task 2017-10-26T13:45:40.675Z] 13:45:40     INFO - REFTEST INFO | Slowest test took 188ms (file:///builds/worker/workspace/build/tests/reftest/tests/dom/media/tests/crashtests/1185191.html)
[task 2017-10-26T13:45:40.676Z] 13:45:40     INFO - REFTEST INFO | Total canvas count = 0
[task 2017-10-26T13:45:41.009Z] 13:45:41     INFO - JavaScript error: chrome://reftest/content/reftest.jsm, line 1502: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIPropertyBag2.getPropertyAsAString]
[task 2017-10-26T13:45:41.206Z] 13:45:41     INFO - ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpjD2du0.mozrunner/runreftest_leaks_tab_pid1313.log
[task 2017-10-26T13:45:41.951Z] 13:45:41     INFO - --DOCSHELL 0x7f1feb19d000 == 7 [pid = 1180] [id = {795737a9-4b3e-4308-8882-753efa59215e}]
[task 2017-10-26T13:45:42.462Z] 13:45:42     INFO - --DOCSHELL 0x7f2004a53000 == 6 [pid = 1180] [id = {1610f396-c1ee-4e8e-837c-13dcaf4845ac}]
[task 2017-10-26T13:45:42.462Z] 13:45:42     INFO - --DOCSHELL 0x7f2001f98000 == 5 [pid = 1180] [id = {c3d0e888-ca34-43a2-a2f1-557894ee1fe3}]
[task 2017-10-26T13:45:42.463Z] 13:45:42     INFO - --DOCSHELL 0x7f1fefa40000 == 4 [pid = 1180] [id = {cc0b244f-3ef5-4c73-8327-f43d7aca7965}]
[task 2017-10-26T13:45:42.463Z] 13:45:42     INFO - --DOCSHELL 0x7f2002422000 == 3 [pid = 1180] [id = {ccce95d5-fcb9-4f4d-a317-c553deea5f01}]
[task 2017-10-26T13:45:42.463Z] 13:45:42     INFO - --DOCSHELL 0x7f20099ae000 == 2 [pid = 1180] [id = {c5f2aa3a-2d25-4408-867a-c7231c946ffa}]
[task 2017-10-26T13:45:42.498Z] 13:45:42     INFO - JavaScript error: chrome://reftest/content/reftest.jsm, line 1502: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIPropertyBag2.getPropertyAsAString]
[task 2017-10-26T13:45:42.499Z] 13:45:42     INFO - [Child 1313, Main Thread] WARNING: NS_ENSURE_TRUE(maybeContext) failed: file /builds/worker/workspace/build/src/xpcom/threads/nsThread.cpp, line 795
[task 2017-10-26T13:45:42.501Z] 13:45:42     INFO - [Child 1313, Main Thread] WARNING: '!gThread', file /builds/worker/workspace/build/src/xpcom/threads/nsTimerImpl.cpp, line 399
[task 2017-10-26T13:45:42.623Z] 13:45:42     INFO - [Child 1313, Main Thread] WARNING: '!gThread', file /builds/worker/workspace/build/src/xpcom/threads/nsTimerImpl.cpp, line 399
[task 2017-10-26T13:45:42.623Z] 13:45:42     INFO - [Child 1313, Main Thread] WARNING: '!gThread', file /builds/worker/workspace/build/src/xpcom/threads/nsTimerImpl.cpp, line 399
[task 2017-10-26T13:45:42.659Z] 13:45:42     INFO - [Child 1313, Main Thread] WARNING: '!gThread', file /builds/worker/workspace/build/src/xpcom/threads/nsTimerImpl.cpp, line 399
[task 2017-10-26T13:45:42.667Z] 13:45:42     INFO - Assertion failure: mAudioContextOperation == AudioContextOperation::Close (We should be reviving the graph?), at /builds/worker/workspace/build/src/dom/media/MediaStreamGraph.cpp:4051
[task 2017-10-26T13:46:03.099Z] 13:46:03     INFO - #01: mozilla::MediaStreamGraphImpl::RunInStableState [dom/media/MediaStreamGraph.cpp:1820]
[task 2017-10-26T13:46:03.101Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.102Z] 13:46:03     INFO - #02: MediaStreamGraphStableStateRunnable::Run [dom/media/MediaStreamGraph.cpp:1643]
[task 2017-10-26T13:46:03.104Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.105Z] 13:46:03     INFO - #03: mozilla::EventTargetWrapper::Runner::Run [xpcom/threads/AbstractThread.cpp:156]
[task 2017-10-26T13:46:03.107Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.108Z] 13:46:03     INFO - #04: mozilla::SchedulerGroup::Runnable::Run [xpcom/threads/SchedulerGroup.cpp:396]
[task 2017-10-26T13:46:03.109Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.111Z] 13:46:03     INFO - #05: nsThread::ProcessNextEvent [mfbt/Maybe.h:445]
[task 2017-10-26T13:46:03.112Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.113Z] 13:46:03     INFO - #06: NS_InvokeByIndex
[task 2017-10-26T13:46:03.114Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.116Z] 13:46:03     INFO - #07: CallMethodHelper::Call [js/xpconnect/src/xpcprivate.h:766]
[task 2017-10-26T13:46:03.117Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.118Z] 13:46:03     INFO - #08: XPCWrappedNative::CallMethod [js/xpconnect/src/XPCWrappedNative.cpp:1282]
[task 2017-10-26T13:46:03.119Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.120Z] 13:46:03     INFO - #09: XPC_WN_CallMethod [js/xpconnect/src/XPCWrappedNativeJSOps.cpp:929]
[task 2017-10-26T13:46:03.121Z] 13:46:03     INFO - 
[task 2017-10-26T13:46:03.122Z] 13:46:03     INFO - #10: ??? (???:???)
We probably just want to relax this assert to allow this during force-shutdown (i.e. browser shutdown or tab close or whatnot).
(In reply to Paul Adenot (:padenot) from comment #2)
> We probably just want to relax this assert to allow this during
> force-shutdown (i.e. browser shutdown or tab close or whatnot).

Not tab close, just browser shutdown.
Comment on attachment 8923323 [details]
Bug 1412231 - Don't crash when running AudioContext operation messages that are not Closed during a force-shutdown.

https://reviewboard.mozilla.org/r/194528/#review199812

::: dom/media/MediaStreamGraph.cpp:4048
(Diff revision 1)
>      void RunDuringShutdown() override
>      {
> -      MOZ_ASSERT(mAudioContextOperation == AudioContextOperation::Close,
> +      MOZ_ASSERT(mAudioContextOperation == AudioContextOperation::Close ||
> +                 mStream->GraphImpl()->mForceShutDown,
>                   "We should be reviving the graph?");

I'm not clear what the purpose of this assert is.
What is it ensuring that doesn't happen?
Is there value in keeping the RunDuringShutdown() method?
If so, could you add a comment to explain, please?

RunDuringShutdown() is called on controlMessagesToRunDuringShutdown which
contains messages only when (mForceShutDown || !mRealtime).

ApplyAudioContextOperation() is called only for realtime contexts.

So this assert would also be satisfied even if it merely asserted
mStream->GraphImpl()->mForceShutDown.

If there were a Close operation when !mForceShutDown, then RunDuringShutdown()
would not be called.

If this is for the sake of future offline operations, then I'd guess that all
current operations (not just Close) would be possible at the completion of processing.

I don't see anything that an operation must do even when the graph is shutting
down.
Attachment #8923323 - Flags: review?(karlt) → review+
Rank: 45
Component: Audio/Video → Web Audio
https://wiki.mozilla.org/Bugmasters#Intermittent_Test_Failure_Cleanup
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Paul, could you follow through with this? See bug 1468949 for info on reproducing.
Assignee: nobody → padenot
Status: RESOLVED → REOPENED
Rank: 45 → 25
Component: Web Audio → Audio/Video: MediaStreamGraph
Priority: P5 → P3
Resolution: INCOMPLETE → ---
https://wiki.mozilla.org/Bug_Triage#Intermittent_Test_Failure_Cleanup
Status: REOPENED → RESOLVED
Closed: 7 years ago6 years ago
Resolution: --- → INCOMPLETE

Alastor, this happened again on your push.

Flags: needinfo?(alwu)

OK, will take a look later, keep NI.

Flags: needinfo?(alwu)
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a3e58d6c6488
do not suspend/resume the AudioContext after the shutdown. r=padenot
Status: REOPENED → RESOLVED
Closed: 6 years ago5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: