Closed
Bug 1256510
Opened 9 years ago
Closed 9 years ago
Async shutdown timeout/crash "MediaStreamGraph shutdown: blocking on msg thread" from fuzzing
Categories
(Core :: Audio/Video: MediaStreamGraph, defect, P1)
Core
Audio/Video: MediaStreamGraph
Tracking
()
RESOLVED
FIXED
mozilla48
People
(Reporter: jruderman, Assigned: jesup)
References
Details
(Keywords: crash, hang, testcase)
Attachments
(4 files)
373 bytes,
text/html
|
Details | |
28.83 KB,
text/plain
|
Details | |
15.86 KB,
text/plain
|
Details | |
58 bytes,
text/x-review-board-request
|
padenot
:
review+
ritu
:
approval-mozilla-aurora+
ritu
:
approval-mozilla-beta+
|
Details |
(I tested without e10s on Mac)
1. Load the testcase
2. Quit
WARNING: Audio Buffer is not full by the end of the callback.: 'Available() == 0 || mSampleWriteOffset == 0', file dom/media/AudioBufferUtils.h, line 87
WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"MediaStreamGraph shutdown: blocking on msg thread","state":"(none)","filename":"dom/media/MediaStreamGraph.cpp","lineNumber":2934,"stack":"MediaStreamGraph shutdown"}] Barrier: profile-before-change
FATAL ERROR: AsyncShutdown timeout in profile-before-change Conditions: [{"name":"MediaStreamGraph shutdown: blocking on msg thread","state":"(none)","filename":"dom/media/MediaStreamGraph.cpp","lineNumber":2934,"stack":"MediaStreamGraph shutdown"}] At least one completion condition failed to complete within a reasonable amount of time. Causing a crash to ensure that we do not leave the user with an unresponsive process draining resources.
###!!! ABORT: file dom/media/MediaStreamGraph.cpp, line 2934
Reporter | ||
Comment 1•9 years ago
|
||
Reporter | ||
Comment 2•9 years ago
|
||
Assignee | ||
Comment 3•9 years ago
|
||
Ok, the stakcs don't help (they're from the crash-when-you-take-too-long code). I have reproed this locally (linux64 inbound) easily (Thanks Jesse!)
We have two MediaStreamGraphs in gGraphs. Both are realtime. One has 3 ports in mPortCount (the first, 0x...04d80). The second has 0 ports (0x...04f40). Only the first (04d80) gets shut down; the second never does.
Noteworthy: the first has this:
mFirstCycleBreaker = 3,
mStateComputedTime = 216704,
mProcessedTime = 216704,
mLastMainThreadUpdate = {
mValue = 2805456806066054
},
the second has this:
mFirstCycleBreaker = 3857049061, // 0xe5e5e5e5 aka uninitialized
mStateComputedTime = 0,
mProcessedTime = 0,
mLastMainThreadUpdate = {
mValue = 2805456806212637
},
It appears the second has never run, and that would explain why it never processes the shutdown message. Looking at it in rr...
Assignee | ||
Comment 4•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/39971/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/39971/
Attachment #8730527 -
Flags: review?(padenot)
Assignee | ||
Comment 5•9 years ago
|
||
Setting tracking flags (presumed since jib's code landed in 44)
status-firefox45:
--- → wontfix
status-firefox46:
--- → affected
status-firefox47:
--- → affected
status-firefox-esr45:
--- → affected
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → rjesup
Rank: 15
Priority: -- → P1
Comment 6•9 years ago
|
||
Comment on attachment 8730527 [details]
MozReview Request: Bug 1256510: When shutting down MediaStreamGraphs, if the graph hasn't started, let it start and shut down r?padenot
https://reviewboard.mozilla.org/r/39971/#review36621
Attachment #8730527 -
Flags: review?(padenot) → review+
Comment 10•9 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Assignee | ||
Comment 11•9 years ago
|
||
Comment on attachment 8730527 [details]
MozReview Request: Bug 1256510: When shutting down MediaStreamGraphs, if the graph hasn't started, let it start and shut down r?padenot
Approval Request Comment
[Feature/regressing bug #]: regressed in 44
[User impact if declined]: Shutdown hangs if you use certain sequences in WebAudio
[Describe test coverage new/current, TreeHerder]: a crashtest hits this (which caused the orange/backout initially), though crashtests apparently don't flag shutdown hangs that resolve.
[Risks and why]: quite low risk - a stopped MSG won't ever process the shutdown request, and starting it is a safe way to get it to do so (and avoids any races caused by trying to shut it down without starting it).
[String/UUID change made/needed]: none
Attachment #8730527 -
Flags: approval-mozilla-beta?
Attachment #8730527 -
Flags: approval-mozilla-aurora?
Comment on attachment 8730527 [details]
MozReview Request: Bug 1256510: When shutting down MediaStreamGraphs, if the graph hasn't started, let it start and shut down r?padenot
I confirmed with Jesup that he tested with Jesse's test case to ensure the shutdown hang is fixed. Aurora46+, Beta45+
Attachment #8730527 -
Flags: approval-mozilla-beta?
Attachment #8730527 -
Flags: approval-mozilla-beta+
Attachment #8730527 -
Flags: approval-mozilla-aurora?
Attachment #8730527 -
Flags: approval-mozilla-aurora+
Comment 13•9 years ago
|
||
bugherder uplift |
Comment 14•9 years ago
|
||
bugherder uplift |
Comment 15•9 years ago
|
||
This didn't make it into beta 2. but it should be in beta 4 to ship tomorrow.
Here's hoping it will fix the topcrash in 1255737!
You need to log in
before you can comment on or make changes to this bug.
Description
•