Closed Bug 1336356 Opened 4 years ago Closed 4 years ago

Ensure MediaDecode::Shutdown() is called by MediaShutdownManager::BlockShutdown()

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox52 --- wontfix
firefox-esr52 --- fixed
firefox53 --- fixed
firefox54 --- fixed

People

(Reporter: jwwang, Assigned: jwwang)

Details

Attachments

(2 files)

http://searchfox.org/mozilla-central/rev/d20e4431d0cf40311afa797868bc5c58c54790a2/dom/media/MediaShutdownManager.cpp#148

We assume |owner| is null only after MediaDecoder::Shutdown() is called. If this assumption is broken (it is actually broken and fixed by bug 1333576), MediaDecoder::Shutdown() will never be called and we will encounter a shutdown hang.

To make MediaShutdownManager more robust, we want to assert MediaDecoder::IsShutdown() is true to ensure Shutdown() is called on each registered MediaDecoder.
Assignee: nobody → jwwang
Priority: -- → P1
Attachment #8834233 - Flags: review?(gsquelart)
Comment on attachment 8834233 [details]
Bug 1336356 - Ensure MediaDecode::Shutdown() is called by MediaShutdownManager::BlockShutdown().

https://reviewboard.mozilla.org/r/110240/#review111360
Attachment #8834233 - Flags: review?(gsquelart) → review+
Thanks!
Pushed by jwwang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b2d14d738d2c
Ensure MediaDecode::Shutdown() is called by MediaShutdownManager::BlockShutdown(). r=gerald
https://hg.mozilla.org/mozilla-central/rev/b2d14d738d2c
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Comment on attachment 8834233 [details]
Bug 1336356 - Ensure MediaDecode::Shutdown() is called by MediaShutdownManager::BlockShutdown().

Approval Request Comment
[Feature/Bug causing the regression]:unknown
[User impact if declined]:This patch reduces the chance of shutdown hang.
[Is this code covered by automated tests?]:yes
[Has the fix been verified in Nightly?]:yes
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]:1336345 must be uplifted first.
[Is the change risky?]:low risk.
[Why is the change risky/not risky?]:the change is simple and has been exercised in Central for 1 month without causing obvious regression.
[String changes made/needed]:none
Attachment #8834233 - Flags: approval-mozilla-aurora?
Attachment #8834233 - Flags: approval-mozilla-aurora? → approval-mozilla-beta?
Comment on attachment 8834233 [details]
Bug 1336356 - Ensure MediaDecode::Shutdown() is called by MediaShutdownManager::BlockShutdown().

This should be uplifted after the fix for bug 1336345. Crash fix.
Attachment #8834233 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Setting qe-verify- based on JW Wang's assessment on manual testing needs (see Comment 6) and the fact that this fix has automated coverage.
Flags: qe-verify-
Comment on attachment 8847916 [details] [diff] [review]
1336356_esr52_fix.patch

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration:
User impact if declined: crash
Fix Landed on Version:54
Risk to taking this patch (and alternatives if risky): The change is simple and has been landed to 54 and 53.
String or UUID changes made by this patch: none
Attachment #8847916 - Flags: approval-mozilla-esr52?
Comment on attachment 8847916 [details] [diff] [review]
1336356_esr52_fix.patch

crash fix, esr52+
Attachment #8847916 - Flags: approval-mozilla-esr52? → approval-mozilla-esr52+
You need to log in before you can comment on or make changes to this bug.