Closed Bug 1708718 Opened 2 years ago Closed 1 year ago

Crash in [@ cubeb_coreaudio::backend::CoreStreamData::setup]

Categories

(Core :: Audio/Video: cubeb, defect, P3)

Unspecified
macOS
defect

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox-esr91 --- wontfix
firefox92 --- wontfix
firefox93 --- wontfix
firefox94 --- wontfix
firefox95 --- fixed

People

(Reporter: sefeng, Assigned: chunmin)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Crash Data

Attachments

(3 files)

Crash report: https://crash-stats.mozilla.org/report/index/3d4e0949-1102-4f66-9a10-223ac0210316

MOZ_CRASH Reason: register default_output_listener without unregistering the one in use

Top 10 frames of crashing thread:

0 XUL RustMozCrash mozglue/static/rust/wrappers.cpp:17
1 XUL core::ops::function::Fn::call /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:70
2 XUL std::panicking::rust_panic_with_hook library/std/src/panicking.rs:581
3 XUL std::panicking::begin_panic::{{closure}} /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:506
4 XUL std::sys_common::backtrace::__rust_end_short_backtrace /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:153
5 XUL std::panicking::begin_panic /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:505
6 XUL cubeb_coreaudio::backend::CoreStreamData::setup third_party/rust/cubeb-coreaudio/src/backend/mod.rs:2867
7 XUL coreaudio_sys_utils::dispatch::Queue::create_closure_and_executor::closure_executer third_party/rust/coreaudio-sys-utils/src/dispatch.rs:120
8 libdispatch.dylib _dispatch_client_callout 
9 libdispatch.dylib _dispatch_lane_serial_drain 

Chun-min, fyi.

Flags: needinfo?(cchang)

I'll take a look. The crash rate is low so I set this to P3 for now.

Assignee: nobody → cchang
Severity: -- → S3
Priority: -- → P3
Blocks: 1530713
Flags: needinfo?(cchang)

Keep NI

Flags: needinfo?(cchang)

Finally get some time to revisit this. I guess the problem is here. We will call the CoreStreamData::setup / install_system_changed_callback without calling CoreStreamData::close / uninstall_system_changed_callback so we hit the assertion in install_system_changed_callback.

I managed to reproduce this by forcing an error here how and when the first setup is called. As a result, the CoreStreamData::default_output_listener is Some when the second setup is called. I am not sure when this can happen. I need to hard code an error to reproduce this.

Attached file GitHub Pull Request
Flags: needinfo?(cchang)

Depends on D127832

Pushed by cchang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5e4a38415ad9
Update cubeb-coreaudio to 5ada876. r=cubeb-reviewers,padenot
https://hg.mozilla.org/integration/autoland/rev/85499c5834c7
mach vendor rust. r=cubeb-reviewers,padenot
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch

The patch landed in nightly and beta is affected.
:chunmin, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(cchang)

The crash rate is low and I don't think there is a security issue with this crash since it just hits an assertion. I am going to make this wontfix in beta.

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