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)

Unspecified
Windows 10
defect

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.
Could you take a look, Jean-Yves? Thanks.
Flags: needinfo?(jyavenard)
This is the number 8 crash on Windows Nightly on 8-10.
Keywords: topcrash
Depends on: 1295362
Attachment #8781327 - Flags: review?(jyavenard)
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+
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: nobody → jwwang
Priority: -- → P1
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
Depends on: 1295541
Crash Signature: [@ <T>::operator()] → [@ <T>::operator()] [@ mozilla::MediaFormatReader::EnsureDecoderInitialized::$_1::operator() const]
Assignee: nobody → jwwang
Summary: Crash in <T>::operator() → Crash in <T>::operator() in MediaFormatReader::EnsureDecoderInitialized()
Flags: needinfo?(jyavenard)
Blocks: 1295541
No longer depends on: 1295541
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]
The last build this signature appears in is 08-17, so I think bug 1295541 fixed it.
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: NEW → RESOLVED
Closed: 9 years ago
Keywords: leave-open
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: