Closed Bug 1400465 Opened 7 years ago Closed 7 years ago

Plugging in or unplugging headphones crashes YouTube tab

Categories

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

57 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 + verified

People

(Reporter: theo, Assigned: achronop)

References

Details

(4 keywords)

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
Hm, empty signature. Similar to bug 1385531.
See Also: → 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)"
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
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)
Component: Untriaged → Audio/Video: cubeb
Product: Firefox → Core
Since there is no callstack can you please get logs: cubeb:4,MediaStreamGraph:4
Flags: needinfo?(achronop) → needinfo?(theo)
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)
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: nobody → achronop
Status: NEW → ASSIGNED
Priority: -- → P1
Depends on: 1400671
See Also: → 1400637
Théo, It looks the patch has been landed in 57. Can you help verify if this problem is gone in the latest Firefox 57?
Flags: needinfo?(theo)
Can’t reproduce on Nightly nor DevEdition 57.0b2
Flags: needinfo?(theo)
Also can't reproduce with 57.0b2 nor 58.0a1 on https://irlpodcast.org/ (see bug 1401410) anymore
Théo and Albert, Thanks for your verification!
Sounds like this is fixed by bug 1400671.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.