Closed Bug 1809860 Opened 3 years ago Closed 3 years ago

Crash in [@ mozilla::Maybe<T>::emplace<T> | webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId]

Categories

(Core :: WebRTC: Audio/Video, defect, P1)

Desktop
macOS
defect

Tracking

()

VERIFIED FIXED
110 Branch
Tracking Status
thunderbird_esr102 --- unaffected
firefox-esr102 --- unaffected
firefox108 --- unaffected
firefox109 --- unaffected
firefox110 --- verified

People

(Reporter: aryx, Assigned: pehrsons)

References

(Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

3 crashes from 2 installations, both macOS Firefox 110.0a1 20230111215657

Crash report: https://crash-stats.mozilla.org/report/index/3e179612-82a1-40aa-9dfa-3234d0230112

MOZ_CRASH Reason: MOZ_RELEASE_ASSERT(!isSome())

Top 10 frames of crashing thread:

0  XUL  mozilla::Maybe<mozilla::TrackingId>::emplace<mozilla::TrackingId::Source, unsigned int&>  mfbt/Maybe.h:844
0  XUL  webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId  dom/media/systemservices/objc_video_capture/video_capture_avfoundation.mm:235
1  XUL  mozilla::camera::CamerasParent::RecvStartCapture const  dom/media/systemservices/CamerasParent.cpp:941
1  XUL  std::__1::__invoke<mozilla::camera::CamerasParent::RecvStartCapture  /builds/worker/fetches/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:3747
1  XUL  std::__1::__invoke_void_return_wrapper<void>::__call<mozilla::camera::CamerasParent::RecvStartCapture  /builds/worker/fetches/MacOSX11.3.sdk/usr/include/c++/v1/__functional_base:348
1  XUL  std::__1::__function::__alloc_func<mozilla::camera::CamerasParent::RecvStartCapture  /builds/worker/fetches/MacOSX11.3.sdk/usr/include/c++/v1/functional:1553
1  XUL  std::__1::__function::__func<mozilla::camera::CamerasParent::RecvStartCapture  /builds/worker/fetches/MacOSX11.3.sdk/usr/include/c++/v1/functional:1727
2  XUL  std::__1::__function::__value_func<void  const  /builds/worker/fetches/MacOSX11.3.sdk/usr/include/c++/v1/functional:1880
2  XUL  std::__1::function<void  const  /builds/worker/fetches/MacOSX11.3.sdk/usr/include/c++/v1/functional:2555
2  XUL  mozilla::camera::VideoEngine::WithEntry  dom/media/systemservices/VideoEngine.cpp:242
Flags: needinfo?(apehrson)
Severity: -- → S3
Priority: -- → P2

Firefox crashes now if you open camera from two tabs at once. I vote we back out bug 1806605 before Monday. This seems bad even for Nightly.

STR:

  1. Open https://jan-ivar.github.io/dummy/gum_video.html in two tabs, allowing camera in both.

Entire Firefox browser crashes (NOT merely a tab crash).

Severity: S3 → S2
OS: Unspecified → macOS
Priority: P2 → P1
Hardware: Unspecified → Desktop
See Also: → 1810050
Duplicate of this bug: 1810050

Copying crash signatures from duplicate bugs.

Crash Signature: [@ mozilla::Maybe<T>::emplace<T> | webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId] → [@ mozilla::Maybe<T>::emplace<T> | webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId] [@ webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId]

(In reply to Jan-Ivar Bruaroey [:jib] (needinfo? me) from comment #1)

Firefox crashes now if you open camera from two tabs at once. I vote we back out bug 1806605 before Monday. This seems bad even for Nightly.

If it helps, I experienced this by merely switching devices (camer/mic) on a WebRTC call on e.g., https://whereby.com/

Crash Signature: [@ mozilla::Maybe<T>::emplace<T> | webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId] [@ webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId] → [@ mozilla::Maybe<T>::emplace<T> | webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId] [@ webrtc::videocapturemodule::VideoCaptureAvFoundation::SetTrackingId]

That was a bad assumption. But a simple fix.

Flags: needinfo?(apehrson)

This is a stop-gap fix to handle camera backends being shared across multiple
camera requests. We'll have to follow up with some markers so that the analyzer
extension can understand which tracking ids are sharing which backend.

Assignee: nobody → apehrson
Status: NEW → ASSIGNED
Pushed by pehrsons@gmail.com: https://hg.mozilla.org/integration/autoland/rev/39508d8be196 In VideoCaptureAvFoundation account for backends being sharable. r=padenot
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 110 Branch
Flags: qe-verify+

I have reproduced this crash using the test page from comment 1, with an affected Nightly build (2023-01-12). Tested with macOS 11.

The issue is verified as fixed on latest Beta 110.0b3 under macOS 11.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: