Closed
Bug 1295146
Opened 9 years ago
Closed 9 years ago
Crash in <T>::operator() in MediaFormatReader::EnsureDecoderInitialized()
Categories
(Core :: Audio/Video: Playback, defect, P1)
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
firefox51 | --- | fixed |
People
(Reporter: mccr8, Assigned: jwwang)
References
Details
(Keywords: crash, regression, topcrash)
Crash Data
Attachments
(1 file)
This bug was filed from the Socorro interface and is
report bp-c77c1309-3ff8-4f80-901a-59fb92160814.
=============================================================
This is a crash inside MediaFormatReader::EnsureDecoderInitialized(). It is only happening in great quantity in Firefox 51. I'm not sure when it regressed.
I'll get this added to the skip list so it is easier to separate out.
Reporter | ||
Comment 1•9 years ago
|
||
Could you take a look, Jean-Yves? Thanks.
Flags: needinfo?(jyavenard)
Reporter | ||
Comment 2•9 years ago
|
||
This is the number 8 crash on Windows Nightly on 8-10.
Keywords: topcrash
Assignee | ||
Comment 3•9 years ago
|
||
https://crash-stats.mozilla.com/report/index/c77c1309-3ff8-4f80-901a-59fb92160814
https://hg.mozilla.org/mozilla-unified/annotate/6cf0089510fa/dom/media/MediaFormatReader.cpp#l483
Looks like a null deref (decoder.mDecoder). Let's add some assertions to confirm it.
Comment hidden (mozreview-request) |
Assignee | ||
Updated•9 years ago
|
Attachment #8781327 -
Flags: review?(jyavenard)
Comment 5•9 years ago
|
||
mozreview-review |
Comment on attachment 8781327 [details]
Bug 1295146 - add assertions to debug null-deref.
https://reviewboard.mozilla.org/r/71744/#review69288
::: dom/media/MediaFormatReader.cpp:483
(Diff revision 1)
> decoder.mInitPromise.Begin(decoder.mDecoder->Init()
> ->Then(OwnerThread(), __func__,
> [self] (TrackType aTrack) {
> - MOZ_ASSERT(!self->IsSuspended());
> + MOZ_DIAGNOSTIC_ASSERT(!self->IsSuspended());
> auto& decoder = self->GetDecoderData(aTrack);
> + MOZ_DIAGNOSTIC_ASSERT(decoder.mDecoder);
I don't see how decoder.mDecoder could be null here, however, if it is, it means that somehow the decoder was destroyed between the time it's been created and initialised. In which case I believe we should simply exit early rather than asserting.
Attachment #8781327 -
Flags: review?(jyavenard) → review+
Assignee | ||
Comment 6•9 years ago
|
||
I would like to debug the root cause of null |decoder.mDecoder| instead of wallpapering it with a null-check which somewhat adds complexity with a new call path.
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → jwwang
Priority: -- → P1
Assignee | ||
Updated•9 years ago
|
Assignee: jwwang → nobody
Keywords: leave-open
Pushed by jwwang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b63dfece689a
add assertions to debug null-deref. r=jya
Comment 9•9 years ago
|
||
bugherder |
Reporter | ||
Updated•9 years ago
|
Crash Signature: [@ <T>::operator()] → [@ <T>::operator()] [@ mozilla::MediaFormatReader::EnsureDecoderInitialized::$_1::operator() const]
Assignee: nobody → jwwang
Updated•9 years ago
|
Summary: Crash in <T>::operator() → Crash in <T>::operator() in MediaFormatReader::EnsureDecoderInitialized()
Updated•9 years ago
|
Flags: needinfo?(jyavenard)
Updated•9 years ago
|
Reporter | ||
Updated•9 years ago
|
Crash Signature: [@ <T>::operator()] [@ mozilla::MediaFormatReader::EnsureDecoderInitialized::$_1::operator() const] → [@ <T>::operator()] [@ mozilla::MediaFormatReader::EnsureDecoderInitialized::$_1::operator() const] [@ <T>::operator() | mozilla::MozPromise<T>::FunctionThenValue<T>::DoResolveOrRejectInternal]
Reporter | ||
Comment 11•9 years ago
|
||
The last build this signature appears in is 08-17, so I think bug 1295541 fixed it.
Reporter | ||
Updated•9 years ago
|
Comment 12•9 years ago
|
||
Crash volume for signature '<T>::operator() | mozilla::MozPromise<T>::FunctionThenValue<T>::DoResolveOrRejectInternal':
- nightly (version 51): 49 crashes from 2016-08-01.
- aurora (version 50): 0 crashes from 2016-08-01.
- beta (version 49): 0 crashes from 2016-08-02.
- release (version 48): 2 crashes from 2016-07-25.
- esr (version 45): 0 crashes from 2016-05-02.
Crash volume on the last weeks (Week N is from 08-22 to 08-28):
W. N-1 W. N-2 W. N-3
- nightly 39 0 0
- aurora 0 0 0
- beta 0 0 0
- release 0 0 0
- esr 0 0 0
Affected platform: Windows
Crash rank on the last 7 days:
Browser Content Plugin
- nightly #253 #25
- aurora
- beta
- release #5969
- esr
status-firefox48:
--- → affected
Updated•9 years ago
|
status-firefox48:
affected → ---
Assignee | ||
Comment 13•9 years ago
|
||
Per comment 11.
You need to log in
before you can comment on or make changes to this bug.
Description
•