Closed Bug 1589854 Opened Last month Closed 28 days ago

Crash in [@ mozilla::MozPromise<T>::ThenValue<T>::DoResolveOrRejectInternal]


(Core :: WebRTC: Audio/Video, defect, P2, critical)




Tracking Status
firefox-esr68 --- unaffected
firefox70 --- unaffected
firefox71 + fixed
firefox72 --- fixed


(Reporter: pascalc, Assigned: pehrsons)


(Depends on 1 open bug, Regression)


(Keywords: crash, regression)

Crash Data


(1 file)

This bug is for crash report bp-d0643524-ac33-4b00-ace0-7b02b0191018.

Top 10 frames of crashing thread:

0 xul.dll void mozilla::MozPromise<RefPtr<mozilla::media::Refcountable<nsTArray<RefPtr<mozilla::MediaDevice> > > >, RefPtr<mozilla::MediaMgrError>, 1>::ThenValue<`lambda at z:/task_1571393270/build/src/dom/media/MediaDevices.cpp:137:11', `lambda at z:/task_1571393270/build/src/dom/media/MediaDevices.cpp:166:11'>::DoResolveOrRejectInternal xpcom/threads/MozPromise.h
1 xul.dll nsresult mozilla::MozPromise<RefPtr<AudioDeviceInfo>, nsresult, 1>::ThenValueBase::ResolveOrRejectRunnable::Run xpcom/threads/MozPromise.h:402
2 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1225
3 xul.dll NS_ProcessNextEvent xpcom/threads/nsThreadUtils.cpp:486
4 xul.dll mozilla::ipc::MessagePump::Run ipc/glue/MessagePump.cpp:88
5 xul.dll MessageLoop::RunHandler ipc/chromium/src/base/
6 xul.dll MessageLoop::Run ipc/chromium/src/base/
7 xul.dll nsBaseAppShell::Run widget/nsBaseAppShell.cpp:137
8 xul.dll nsAppShell::Run widget/windows/nsAppShell.cpp:406
9 xul.dll XRE_RunAppShell toolkit/xre/nsEmbedFunctions.cpp:934

Tracking, this is a significant spike in crashes that happened in the last days and we will most likely want to uplift a fix to 71 beta. Crashes started in buildid 20191017215425, here is the changelog for this build:

I think this is the same as bug 1589686, failing a diagnostic assert added in bug 1397528

Flags: needinfo?(apehrson)
Duplicate of this bug: 1589686
Regressed by: 1397528

Thanks for filing. This reveals a latent bug in our enumeration code, because by spec we're not supposed to reject in that path; except we've decided it's fine to reject if we have navigated away and the window is gone. For these failed assertions the window is not gone yet, so it's unclear why we're hitting them.

Bug 1397528 didn't cause this so I'll be removing the assert and file a followup for looking into this.

Flags: needinfo?(apehrson)
Assignee: nobody → apehrson
Component: General → WebRTC: Audio/Video
OS: Windows 10 → All
Priority: -- → P2
Depends on: 1590092
Pushed by
Remove recent assert that gets triggered by latent bug. r=jib
Crash Signature: [@ mozilla::MozPromise<T>::ThenValue<T>::DoResolveOrRejectInternal] → [@ mozilla::MozPromise<T>::ThenValue<T>::DoResolveOrRejectInternal] [@ static void mozilla::dom::MediaDevices::EnumerateDevices::<T>::operator()]

Comment on attachment 9102967 [details]
Bug 1589854 - Remove recent assert that gets triggered by latent bug. r?jib

Beta/Release Uplift Approval Request

  • User impact if declined: A diagnostic assert may fail, this is not affecting beta directly, but dev edition will appear to crash. We haven't seen this happen in automation, but it does in the wild. No STR is known. Crash-stats can be used to verify this.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Trivial.
  • String changes made/needed:
Attachment #9102967 - Flags: approval-mozilla-beta?

Comment on attachment 9102967 [details]
Bug 1589854 - Remove recent assert that gets triggered by latent bug. r?jib

Aproved for 71 beta, thanks

Attachment #9102967 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Closed: 28 days ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
You need to log in before you can comment on or make changes to this bug.