If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Plugging in or unplugging headphones crashes YouTube tab

ASSIGNED
Assigned to

Status

()

Core
Audio/Video: cubeb
P1
normal
ASSIGNED
7 days ago
2 days ago

People

(Reporter: tchevalier, Assigned: achronop)

Tracking

(4 keywords)

57 Branch
crash, nightly-community, regression, reproducible
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox55 unaffected, firefox56 unaffected, firefox57+ affected)

Details

(Reporter)

Description

7 days ago
Noticed this today, hopefully it’s a quite recent regression.

STR:

- Play a video on YouTube
- Plug in your headphones (or unplug them)

→ Tab crashes

I can reproduce with a fresh profile.

Here’s a report from one of my crashes:
https://crash-stats.mozilla.com/report/index/673298c6-58e9-45ac-8b5a-14af90170916
Keywords: regression
Hm, empty signature. Similar to bug 1385531.
See Also: → bug 1385531
This Reddit user appears to be experiencing something very similar: https://www.reddit.com/r/firefox/comments/70bb15/plugging_in_headphones_with_microphone_crashes/

Interestingly, they write:

"This only happens if my headphones have an in-built microphone, regular headphones without the controls / microphone part do not crash the tab.

I am on macOS 10.12.6, and Nightly 57.0a1 (2017-09-15) (64-bit)"
(Reporter)

Comment 3

6 days ago
Performed further tests:

- It’s probably a macOS specific issue (I can’t reproduce on Windows)
- I can reproduce the issue with both regular headphones (Sennheiser CX 300 II) and 1MORE Triple Driver (has a microphone and remote controls)
- I can’t reproduce bug 1385531
(Reporter)

Comment 4

6 days ago
Last good revision: bad8adc4d1de2d2957740babe98d55356275e0d7
First bad revision: 29713567c35d87d08c5d755712763b15c672208f
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=bad8adc4d1de2d2957740babe98d55356275e0d7&tochange=29713567c35d87d08c5d755712763b15c672208f

Looks like it’s caused by Bug 1399905, Alex could you have a look?
Blocks: 1399905
Flags: needinfo?(achronop)
Keywords: regressionwindow-wanted
Component: Untriaged → Audio/Video: cubeb
Product: Firefox → Core
(Assignee)

Comment 5

6 days ago
Since there is no callstack can you please get logs: cubeb:4,MediaStreamGraph:4
Flags: needinfo?(achronop) → needinfo?(theo)
(Reporter)

Comment 6

6 days ago
Here’s what I get, let me know if I can do something else:


2017-09-16 18:21:19.670 plugin-container[93548:9798432] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xba37, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
[MediaPlayback #3]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:2210: (0x1227f5400) Opening output side: rate 48000, channels 2, format 2, latency in frames 512.
[MediaPlayback #3]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:2233: (0x1227f5400) Output device sampling rate: 44100,00
[MediaPlayback #3]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:2033: (0x1227f5400) No need to update output buffer size already 512 frames
[MediaPlayback #3]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:2281: (0x1227f5400) Output audiounit init successfully.
[MediaPlayback #3]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:2539: (0x1227f5400) Cubeb stream init successful.
[MediaPlayback #3]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:2628: Cubeb stream (0x1227f5400) started successfully.
[Unnamed thread 0x120fe75e0]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:706: (0x1227f5400) Audio device changed, 1 events.
[Unnamed thread 0x120fe75e0]: E/cubeb /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp:735: Event[0] - mSelector == kAudioHardwarePropertyDataSource for id=46
Assertion failed: ((flags & DEV_INPUT && stm->input_unit) || (flags & DEV_OUTPUT && stm->output_unit)), function audiounit_reinit_stream, file /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp, line 624.
[Parent 93547, Gecko_IOThread] WARNING: pipe error: Broken pipe: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 709

###!!! [Parent][MessageChannel] Error: (msgtype=0x150081,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
Flags: needinfo?(theo)
(Assignee)

Comment 7

6 days ago
That's fantastic thank you very much. The problem is here:

Assertion failed: ((flags & DEV_INPUT && stm->input_unit) || (flags & DEV_OUTPUT && stm->output_unit)), function audiounit_reinit_stream, file /builds/worker/workspace/build/src/media/libcubeb/src/cubeb_audiounit.cpp, line 624.

I know how to fix it.
(Assignee)

Comment 8

6 days ago
Fix pushed for review https://github.com/kinetiknz/cubeb/pull/357
Duplicate of this bug: 1400619
(Reporter)

Updated

6 days ago
Assignee: nobody → achronop
Status: NEW → ASSIGNED

Updated

5 days ago
Priority: -- → P1
(Assignee)

Updated

5 days ago
Depends on: 1400671
status-firefox55: --- → unaffected
status-firefox56: --- → unaffected
tracking-firefox57: ? → +
Duplicate of this bug: 1401410
See Also: → bug 1400637
You need to log in before you can comment on or make changes to this bug.