Closed
Bug 1129877
Opened 8 years ago
Closed 8 years ago
Crash can occur if request for decode not completed while shutting down
Categories
(Core :: Audio/Video, defect, P1)
Tracking
()
RESOLVED
FIXED
mozilla38
Tracking | Status | |
---|---|---|
firefox36 | --- | unaffected |
firefox37 | + | fixed |
firefox38 | --- | fixed |
People
(Reporter: jya, Assigned: bholley)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
59.86 KB,
application/zip
|
Details | |
824 bytes,
patch
|
froydnj
:
review+
lmandel
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
2.12 KB,
patch
|
mattwoodrow
:
review+
cpearce
:
feedback+
lmandel
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
986 bytes,
patch
|
mattwoodrow
:
review+
lmandel
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
9.18 KB,
patch
|
mattwoodrow
:
review+
lmandel
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
Was playing with the YouTube test. At some stage it crashed with Assertion failure: !mPromise, at ../../dist/include/MediaPromise.h:419 It seems that if a shutdown appear when a decoding MediaPromise hasn't completed, it will cause an assert.
Assignee | ||
Comment 1•8 years ago
|
||
(In reply to Jean-Yves Avenard [:jya] from comment #0) > Was playing with the YouTube test. > > At some stage it crashed with Assertion failure: !mPromise, at > ../../dist/include/MediaPromise.h:419 > > It seems that if a shutdown appear when a decoding MediaPromise hasn't > completed, it will cause an assert. Which MediaPromiseHolder was asserting? Are you implying that it was MediaSourceReader::m{Audio,Video}Promise? Can you post a stack?
Flags: needinfo?(jyavenard)
Updated•8 years ago
|
Priority: -- → P1
Assignee | ||
Comment 3•8 years ago
|
||
Looks like Chris introduced this bug in bug 1112822 - That patch does .Ensure() on a MediaPromiseHolder, but then Rejects the promise without informing the holder. I think this is a bad footgun - I'm going to see if I can prevent this from compiling somehow.
Assignee: nobody → bobbyholley
Blocks: 1112822
Assignee | ||
Comment 4•8 years ago
|
||
Attachment #8561821 -
Flags: review?(nfroyd)
Assignee | ||
Comment 5•8 years ago
|
||
We could also fix this by invoking .Reject() on the holder instead of on the raw promise. But there's actually no reason to involve the holder at all here.
Attachment #8561822 -
Flags: review?(matt.woodrow)
Attachment #8561822 -
Flags: review?(cpearce)
Assignee | ||
Comment 6•8 years ago
|
||
Attachment #8561823 -
Flags: review?(matt.woodrow)
Attachment #8561823 -
Flags: review?(cpearce)
Assignee | ||
Comment 7•8 years ago
|
||
This causes the buggy code that caused the crash to fail to compile.
Attachment #8561824 -
Flags: review?(matt.woodrow)
Attachment #8561824 -
Flags: feedback?(cpearce)
Assignee | ||
Comment 8•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=642976c04c24
Updated•8 years ago
|
Attachment #8561822 -
Flags: review?(matt.woodrow) → review+
Updated•8 years ago
|
Attachment #8561823 -
Flags: review?(matt.woodrow) → review+
Updated•8 years ago
|
Attachment #8561824 -
Flags: review?(matt.woodrow) → review+
![]() |
||
Updated•8 years ago
|
Attachment #8561821 -
Flags: review?(nfroyd) → review+
Assignee | ||
Comment 9•8 years ago
|
||
Builds everywhere but ICS. Let's see if we can fix that: https://treeherder.mozilla.org/#/jobs?repo=try&revision=acd6ab713764
Assignee | ||
Comment 10•8 years ago
|
||
Comment on attachment 8561822 [details] [diff] [review] Part 2 - Fix the crash. v1 In reality this is more of an f?
Attachment #8561822 -
Flags: review?(cpearce) → feedback?(cpearce)
Assignee | ||
Updated•8 years ago
|
Attachment #8561823 -
Flags: review?(cpearce)
Assignee | ||
Comment 11•8 years ago
|
||
(In reply to Bobby Holley (Busy with media, don't ask for DOM/JS/XPConnect things) from comment #9) > Builds everywhere but ICS. Let's see if we can fix that: > > https://treeherder.mozilla.org/#/jobs?repo=try&revision=acd6ab713764 ICS build bustage fixed. Pushing to inbound. remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/d30eb154f8fa remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/e64148dcc6d7 remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/a812298c5d98 remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/2d8dde5faef9
Comment 12•8 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/d30eb154f8fa https://hg.mozilla.org/mozilla-central/rev/e64148dcc6d7 https://hg.mozilla.org/mozilla-central/rev/a812298c5d98 https://hg.mozilla.org/mozilla-central/rev/2d8dde5faef9
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox38:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Updated•8 years ago
|
Attachment #8561822 -
Flags: feedback?(cpearce) → feedback+
Updated•8 years ago
|
status-firefox36:
--- → unaffected
status-firefox37:
--- → affected
Comment 13•8 years ago
|
||
Comment on attachment 8561821 [details] [diff] [review] Part 1 - Add a templatized move constructor for nsRefPtr. v1 Requesting 37 uplift of all patches on this bug. Approval Request Comment [Feature/regressing bug #]: MSE [User impact if declined]: Crashes playing youtube video. Less consistent testing and harder to port later changes. [Describe test coverage new/current, TreeHerder]: Landed on m-c. [Risks and why]: This touches non-MSE code, but has been fine on nightly. Risk should be low at this point. [String/UUID change made/needed]: None
Attachment #8561821 -
Flags: approval-mozilla-aurora?
Updated•8 years ago
|
tracking-firefox37:
--- → +
Comment 14•8 years ago
|
||
Comment on attachment 8561821 [details] [diff] [review] Part 1 - Add a templatized move constructor for nsRefPtr. v1 MSE prereq. Aurora+
Attachment #8561821 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Updated•8 years ago
|
Attachment #8561822 -
Flags: approval-mozilla-aurora+
Updated•8 years ago
|
Attachment #8561823 -
Flags: approval-mozilla-aurora+
Updated•8 years ago
|
Attachment #8561824 -
Flags: approval-mozilla-aurora+
Updated•8 years ago
|
Updated•8 years ago
|
Attachment #8561824 -
Flags: feedback?(cpearce)
You need to log in
before you can comment on or make changes to this bug.
Description
•