Closed Bug 1845811 Opened 10 months ago Closed 10 months ago

Crash in [@ mozilla::AudioSinkWrapper::OnAudioEnded]

Categories

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

defect

Tracking

()

RESOLVED FIXED
117 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox-esr115 --- unaffected
firefox115 --- unaffected
firefox116 + wontfix
firefox117 --- fixed

People

(Reporter: RyanVM, Assigned: karlt)

References

(Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(6 files)

Crash report: https://crash-stats.mozilla.org/report/index/45fad15b-864c-4525-ac1c-1a9eb0230727

Reason: EXCEPTION_ACCESS_VIOLATION_READ

Top 10 frames of crashing thread:

0  xul.dll  mozilla::MozPromise<bool, nsresult, 0>::Private::Resolve<const bool&>  xpcom/threads/MozPromise.h:1229
1  xul.dll  mozilla::MozPromiseHolderBase<mozilla::MozPromise<bool, nsresult, 0>, mozilla::MozPromiseHolder<mozilla::MozPromise<bool, nsresult, 0> > >::Resolve  xpcom/threads/MozPromise.h:1388
1  xul.dll  mozilla::AudioSinkWrapper::OnAudioEnded  dom/media/mediasink/AudioSinkWrapper.cpp:537
2  xul.dll  mozilla::MozPromise<bool, nsresult, 0>::InvokeMethod  xpcom/threads/MozPromise.h:654
2  xul.dll  mozilla::MozPromise<bool, nsresult, 0>::InvokeCallbackMethod  xpcom/threads/MozPromise.h:685
2  xul.dll  mozilla::MozPromise<bool, nsresult, 0>::ThenValue<mozilla::AudioSinkWrapper*, void   xpcom/threads/MozPromise.h:801
3  xul.dll  mozilla::MozPromise<bool, nsresult, 0>::ThenValueBase::DoResolveOrReject  xpcom/threads/MozPromise.h:623
3  xul.dll  mozilla::MozPromise<bool, nsresult, 0>::ThenValueBase::ResolveOrRejectRunnable::Run  xpcom/threads/MozPromise.h:490
4  xul.dll  mozilla::TaskQueue::Runner::Run  xpcom/threads/TaskQueue.cpp:257
5  xul.dll  nsThreadPool::Run  xpcom/threads/nsThreadPool.cpp:343
Flags: needinfo?(karlt)
Assignee: nobody → karlt
Status: NEW → ASSIGNED
Flags: needinfo?(karlt)

Depends on D184792

This is consistent with skipping the initialization on mAsyncInitTaskQueue if
there is another initialization pending.

Importantly this avoids rejecting mEndedPromiseHolder when mAudioSink has
already been set synchronously to another AudioSink.

Depends on D184793

Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/28bc05b0d788
remove unused rv variable r=padenot
https://hg.mozilla.org/integration/autoland/rev/772647e88dde
add some assertions r=padenot
https://hg.mozilla.org/integration/autoland/rev/9aa988f521fe
ignore a failed AudioSink initialization if the AudioSink is no longer needed r=padenot

[Tracking Requested - why for this release]:
Wanting to consider this if there is a 116 dot release.
We may have more information about efficacy then.
I have a GTest pending, but there have been some unified build issues to sort out.

so as not to conflict with symbols of the same name used in other files such as
testing::internal::FunctionMocker::Invoke().
https://searchfox.org/mozilla-central/rev/83b6c564d257f02289a37b9f0f0c10aa8623c16c/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h#1481

Also don't risk implying that macro definitions are affected by namespace
blocks.

so as to avoid ambiguity between VideoFrame and dom::VideoFrame in subsquently
unified TestVideoFrameConverter.

Depends on D185019

Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/de6af576269d
undef macros at the end of TestAudioTrackGraph.cpp r=pehrsons,padenot
https://hg.mozilla.org/integration/autoland/rev/3dc2a537d884
remove "using namespace dom" r=pehrsons,padenot
Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5dd68da43c93
test async AudioSink init failure with sync init success r=padenot
Blocks: 1846854
Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1689b1a6b28f
test async AudioSink init failure with sync init success r=padenot

Looks like we're still seeing Nightly and Beta crashes with this signature?

Yes, I'll investigate and follow-up in bug 1846854.
At this stage, there is no evidence that the patches here are worth uplifting to 116.

Flags: needinfo?(karlt)
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: