Closed Bug 1370805 Opened 7 years ago Closed 7 years ago

Crash in mozilla::MozPromise<T>::Private::Resolve<T>

Categories

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

55 Branch
Unspecified
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox-esr52 --- unaffected
firefox53 --- unaffected
firefox54 --- unaffected
firefox55 --- fixed

People

(Reporter: calixte, Assigned: jya)

References

(Blocks 1 open bug)

Details

(Keywords: crash, regression, Whiteboard: [clouseau])

Crash Data

Attachments

(3 files)

This bug was filed from the Socorro interface and is 
report bp-c71a906c-5098-436b-9f76-280fc0170606.
=============================================================

There are 24 crashes in nightly 55 with buildid 20170606030207. In analyzing the backtrace, the regression may have been introduced by patch [1] to fix bug 1345342.

[1] https://hg.mozilla.org/mozilla-central/rev?node=8e78bd3e1e16594191f57bac69f9cd88460aa59d
Flags: needinfo?(jyavenard)
I don't believe so.

There were two issues that could cause the assertion, one is we have a pending decoding in progress (1), and the other an initialisation in progress (2).

We've definitely fixed (1). that leaves (2)

I'll add some checks to check if that's the case.
Assignee: nobody → jyavenard
Flags: needinfo?(jyavenard)
Comment on attachment 8875290 [details]
Bug 1370805: P1. Revert "Bug 1370164: Properly handle flushing during ongoing operations. "

https://reviewboard.mozilla.org/r/146690/#review151074
Attachment #8875290 - Flags: review?(jwwang) → review+
Comment on attachment 8875291 [details]
Bug 1370805: P2. Let current operation completes before continuing.

https://reviewboard.mozilla.org/r/146692/#review151078

::: dom/media/platforms/wrappers/H264Converter.cpp:310
(Diff revision 2)
>    mNeedAVCC =
>      Some(mDecoder->NeedsConversion() == ConversionRequired::kNeedAVCC);
>    mCanRecycleDecoder = Some(CanRecycleDecoder());
>  
> +  if (!mFlushPromise.IsEmpty()) {
> +    // A Flush is pending, abort the current operation.

We should also reject mDecodePromise here, right?

::: dom/media/platforms/wrappers/H264Converter.cpp:324
(Diff revision 2)
>  H264Converter::OnDecoderInitFailed(const MediaResult& aError)
>  {
>    mInitPromiseRequest.Complete();
> +
> +  if (!mFlushPromise.IsEmpty()) {
> +    // A Flush is pending, abort the current operation.

Ditto.
Comment on attachment 8875292 [details]
Bug 1370805: P3. Use whichever extradata is available when constructing the decoder.

https://reviewboard.mozilla.org/r/146694/#review151082
Attachment #8875292 - Flags: review?(jwwang) → review+
Comment on attachment 8875291 [details]
Bug 1370805: P2. Let current operation completes before continuing.

https://reviewboard.mozilla.org/r/146692/#review151078

> We should also reject mDecodePromise here, right?

the promise has already been rejected in H264converter::Flush()

Decode can't be called before the flusb promise has been resolved. i could add an assertion in Decode that the flushpromise is empty too
Comment on attachment 8875291 [details]
Bug 1370805: P2. Let current operation completes before continuing.

https://reviewboard.mozilla.org/r/146692/#review151128
Attachment #8875291 - Flags: review?(jwwang) → review+
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a8b2d76d085c
P1. Revert "Bug 1370164: Properly handle flushing during ongoing operations. r=jwwang"
https://hg.mozilla.org/integration/autoland/rev/ce819cf67a70
P2. Let current operation completes before continuing. r=jwwang
https://hg.mozilla.org/integration/autoland/rev/f661dec1797f
P3. Use whichever extradata is available when constructing the decoder. r=jwwang
This is #4 windows topcrash in the nightly of 20170608030205.
The latest report related to this crash signature is 20170608151226, so it looks this bug has been fixed.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: