Closed Bug 1589514 Opened 3 months ago Closed 3 months ago

Crash in [@ coreaudio_sys_utils::string::utf8_from_cfstringref]


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




Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox69 --- unaffected
firefox70 --- unaffected
firefox71 --- wontfix
firefox72 --- fixed


(Reporter: marcia, Assigned: chunmin)


(Blocks 1 open bug, Regression)


(Keywords: crash, regression)

Crash Data


(3 files)

This bug is for crash report bp-5e354aea-49b9-4c36-826b-d9c1a0191017.

Seen while looking at macOS crashes: Crashes started in 20191016095255. URLs are mostly and a bank.

Possible regression range based on Build ID:

Top 10 frames of crashing thread:

0 XUL gkrust_shared::panic_hook mfbt/Assertions.h:332
1 XUL core::ops::function::Fn::call src/libcore/ops/
2 XUL std::panicking::rust_panic_with_hook src/libstd/
3 XUL std::panicking::begin_panic src/libstd/
4 XUL coreaudio_sys_utils::string::utf8_from_cfstringref media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/
5 XUL cubeb_backend::capi::capi_enumerate_devices media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/
6 XUL cubeb_enumerate_devices media/libcubeb/src/cubeb.c:587
7 XUL mozilla::CubebDeviceEnumerator::EnumerateAudioDevices dom/media/webrtc/CubebDeviceEnumerator.cpp:227
8 XUL mozilla::CubebDeviceEnumerator::EnumerateAudioOutputDevices dom/media/webrtc/CubebDeviceEnumerator.cpp:86
9 XUL mozilla::MediaEngineWebRTC::EnumerateDevices dom/media/webrtc/MediaEngineWebRTC.cpp:277

A simple guess based on the possible regression range (thanks!) is bug 1581000.

chunmin, want to take a look?

Has Regression Range: --- → yes
Has STR: --- → no
Flags: needinfo?(cchang)
Priority: -- → P2
Regressed by: 1581000
Assignee: nobody → cchang

It hits an assertion to make sure the CFStringRef string is not empty. I can reproduce this by creating a CFStringRef whose internal string is "" and then converting it to a String/CString. It looks like some device info is an empty "" string. I will fix that.

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

Pick commits:
92e2e11 - minor style fix
5163960 - Update authors
fdb0b1d - Make utf8_from_cfstringref work with empty CFStringRef (#20)
a39bf5f - Remove a fixed issue

Keywords: checkin-needed

Pushed by
P1: Update script importing cubeb-coreaudio-rs. r=padenot
P2: Update cubeb-coreaudio-rs to 92e2e11. r=padenot

Keywords: checkin-needed
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
Regressions: 1590890

This fix appears to have reverted the fix for bug 1569003 and is causing the build to break on macOS 10.15. See bug 1590890.

Hello, in therms verification is manual testing required for this issue?
If yes, could you provide some additional information other than what's noted in comment 0?
Thank you!

Flags: qe-verify?
Flags: needinfo?(cchang)

Thanks for notice this! I think it's not necessary to manually test this problem.
I guess it would need some specific soundcards to reproduce this but I have no idea which soundcard causes this.

Flags: needinfo?(cchang)
QA Whiteboard: [qa-72b-p2]

Thanks for the quick reply!

QA Whiteboard: [qa-72b-p2]
Flags: qe-verify?
You need to log in before you can comment on or make changes to this bug.