Firefox shouldn't crash when playing videos.
Firefox crashes when playing videos.
Open youtube, play a video.
Exiting due to channel error.
Exiting due to channel error.
[Child 23829, Chrome_ChildThread] WARNING: pipe error (3): Die Verbindung wurde
vom Kommunikationspartner zurückgesetzt: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
Exiting due to channel error.
https://bugzilla.mozilla.org/show_bug.cgi?id=1600899 (Needs login)
(Needs login)
More than that, e.g. I just get an Access Denied when logged in.
i can reproduce that(sway, wayland)
I get the same bug as well. To reproduce just open youtube video and try to scroll video forward or backward(with right/left keyboard arrows).
I'm running into this problem, too. Here's my output:
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: resource://gre/modules/ExtensionUtils.jsm, line 0: Error: An unexpected error occurred
console.warn: LoginManager: "searchLogins: `formActionOrigin` or `httpRealm` is recommended"
*** stack smashing detected ***: <unknown> terminated
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=42.3546) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
[Child 15041, Chrome_ChildThread] WARNING: pipe error (3): Connection reset by peer: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
Exiting due to channel error.
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=42.9628) fish: “firefox -P default --debug” terminated by signal SIGABRT (Abort)
I get the same error with videos on other sites (autoplaying news videos when I enable JS so the page loads) when I scroll in any direction.
JavaScript error: resource://services-common/kinto-offline-client.js, line 603: Error: IndexedDB clear() The operation failed for reasons unrelated to the database itself and not covered by any other error code.
JavaScript error: resource://services-common/kinto-offline-client.js, line 603: Error: IndexedDB list() The operation failed for reasons unrelated to the database itself and not covered by any other error code.
JavaScript error: resource://services-common/kinto-offline-client.js, line 603: Error: IndexedDB list() The operation failed for reasons unrelated to the database itself and not covered by any other error code.
console.error: PushService:
stateChangeProcessEnqueue: Error transitioning state
UnknownError
JavaScript error: , line 0: ConstraintError: A mutation operation in the transaction failed because a constraint was not satisfied.
JavaScript error: , line 0: uncaught exception: null
JavaScript error: resource://gre/modules/ExtensionUtils.jsm, line 0: Error: An unexpected error occurred
JavaScript error: , line 0: uncaught exception: Error 0 -
JavaScript error: , line 0: uncaught exception: Error 0 -
JavaScript error: , line 0: uncaught exception: Error 0 -
[Parent 14607, Gecko_IOThread] WARNING: pipe error: Broken pipe: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 728
JavaScript error: , line 0: uncaught exception: Error 0 -
JavaScript error: , line 0: uncaught exception: Error 0 -
JavaScript error: , line 0: uncaught exception: Error 0 -
JavaScript error: , line 0: uncaught exception: Error 0 -
JavaScript error: , line 0: uncaught exception: Error 0 -
*** stack smashing detected ***: <unknown> terminated
Void 5.3.15_1 x86_64 AuthenticAMD uptodate rrrmFFFFFFFF
I'm running Firefox with just alsa, and I see some interesting stuff.
When another program is playing audio or has accessed the sound device
firefox plays no sound but crashes far less often, though I have
not been able to reproduce these crashes.
And when no program is playing audio or has access to the sound device
firefox can play sound but crashes in the same instances as other
people are reporting.
Crash when another program had access to the sound device:
couldn't open play stream: Device or resource busy
[Child 11148, MediaDecoderStateMachine #1] WARNING: 7f2ee19c11f0 OpenCubeb() failed to init cubeb: file /builddir/firefox-71.0/dom/media/AudioStream.cpp, line 313
[Child 11148, MediaDecoderStateMachine #1] WARNING: Decoder=7f2ee6d0ec00 [OnMediaSinkAudioError]: file /builddir/firefox-71.0/dom/media/MediaDecoderStateMachine.cpp, line 3639
couldn't open play stream: Device or resource busy
[Child 11148, MediaDecoderStateMachine #1] WARNING: 7f2edf5cfbb0 OpenCubeb() failed to init cubeb: file /builddir/firefox-71.0/dom/media/AudioStream.cpp, line 313
[Child 11148, MediaDecoderStateMachine #1] WARNING: Decoder=7f2ee6d0ec00 [OnMediaSinkAudioError]: file /builddir/firefox-71.0/dom/media/MediaDecoderStateMachine.cpp, line 3639
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Crash when no other program had access to the sound device:
*** stack smashing detected ***: <unknown> terminated
Exiting due to channel error.
[Child 10144, Chrome_ChildThread] WARNING: pipe error (43): Connection reset by peer: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[Child 10144, Chrome_ChildThread] WARNING: pipe error (42): Connection reset by peer: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[Child 10144, Chrome_ChildThread] WARNING: pipe error: Broken pipe: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 728
[Child 10144, Chrome_ChildThread] WARNING: pipe error: Broken pipe: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 728
[Child 10144, Chrome_ChildThread] WARNING: pipe error (3): Connection reset by peer: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
Exiting due to channel error.
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=67.4367)
Some other things: setting the preference media.cubeb.sandbox to
false stops firefox from crashing and instead just crashes the tab,
with this output:
*** stack smashing detected ***: <unknown> terminated
[Parent 14007, Gecko_IOThread] WARNING: pipe error (124): Connection reset by peer: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[Parent 14007, Gecko_IOThread] WARNING: pipe error (129): Connection reset by peer: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
###!!! [Parent][MessageChannel] Error: (msgtype=0x580004,name=PHttpBackgroundChannel::Msg_OnProgress) Channel error: cannot send/recv
[Parent 14007, Gecko_IOThread] WARNING: pipe error (126): Connection reset by peer: file /builddir/firefox-71.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
###!!! [Parent][MessageChannel] Error: (msgtype=0x580002,name=PHttpBackgroundChannel::Msg_OnTransportAndData) Channel error: cannot send/recv
When the sound device is in use mixcloud.com in particular outputs this:
couldn't open play stream: Device or resource busy
[Child 12478, MediaDecoderStateMachine #1] WARNING: 7f38b61fd6d0 OpenCubeb() failed to init cubeb: file /builddir/firefox-71.0/dom/media/AudioStream.cpp, line 313
[Child 12478, MediaDecoderStateMachine #1] WARNING: Decoder=7f38b6211800 [OnMediaSinkAudioError]: file /builddir/firefox-71.0/dom/media/MediaDecoderStateMachine.cpp, line 3639
[Child 12478, MediaDecoderStateMachine #1] WARNING: Decoder=7f38b6211800 Decode error: NS_ERROR_DOM_MEDIA_MEDIASINK_ERR (0x806e000b) - OnMediaSinkAudioError: file /builddir/firefox-71.0/dom/media/MediaDecoderStateMachine.cpp, line 3308
JavaScript warning: https://www.mixcloud.com/media/js/www.f0f4f996c774514ca48fm.js, line 77: Error: This error message will be blank when privacy.resistFingerprinting = true. If it is really necessary, please add it to the whitelist in MediaError::GetMessage: NS_ERROR_DOM_MEDIA_MEDIASINK_ERR (0x806e000b) - OnMediaSinkAudioError
And soundcloud.com outputs this:
couldn't open play stream: Device or resource busy
[Child 14493, MediaDecoderStateMachine #1] WARNING: 7f09c91bcef0 OpenCubeb() failed to init cubeb: file /builddir/firefox-71.0/dom/media/AudioStream.cpp, line 313
[Child 14493, MediaDecoderStateMachine #1] WARNING: Decoder=7f09c904f400 [OnMediaSinkAudioError]: file /builddir/firefox-71.0/dom/media/MediaDecoderStateMachine.cpp, line 3639
[Child 14493, MediaDecoderStateMachine #1] WARNING: Decoder=7f09c904f400 Decode error: NS_ERROR_DOM_MEDIA_MEDIASINK_ERR (0x806e000b) - OnMediaSinkAudioError: file /builddir/firefox-71.0/dom/media/MediaDecoderStateMachine.cpp, line 3308
[Child 14493, MediaDecoderStateMachine #1] WARNING: Decoder=7f09c904f400 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<mozilla::MozPromise<RefPtr<mozilla::MediaTrackDemuxer::SamplesHolder>, mozilla::MediaResult, true> > mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /builddir/firefox-71.0/dom/media/MediaDecoderStateMachine.cpp, line 3308
There are a host of other bug reports that have been showing up for Firefox 71 packaged for distros. Might be related. Ones I've come across:
It appears the root of these issues at least might be https://bugzilla.mozilla.org/show_bug.cgi?id=1601707
The default configuration (enable hardening) is set to add the LLVM address sanitizer. This is the cause for the crash - but it's due to buggy code inflicting the need for a crash.
I'd argue that production/release code shouldn't have debugging features enabled... But this wouldn't have make the code correct...
But disabling LLVM sanitizers on release code does stop processes requesting 4GB or more of virtual memory (that it doesn't use); thereby allowing to more easily control memory usage of the processes using vm.overcommit_memory=2 or other means.
Thoughts on disabling them for release code?
Thanks,
-Joe
Sorry, it's stack smashing and not ASAN. For some reason I thought it was...
Issue on the extensions stuff: https://github.com/void-linux/void-packages/issues/17201
Someone on the reddit found a workaround that works for alsa users [1]:
Change media.cubeb.backend to alsa in about:config. You may need to add it first.
I also very quickly looked at the firefox 71 release notes [2] and saw these changes that looked somewhat suspect:
https://bugzilla.mozilla.org/show_bug.cgi?id=1588669
https://bugzilla.mozilla.org/show_bug.cgi?id=1575883
Edit: I've found why setting media.cubeb.backend to alsa works: due to https://github.com/kinetiknz/cubeb/commit/410c88ee40610a6605f376b637d8a3ae29fb1c0f introduced in bug 1588669, if you have libsndio installed, firefox will dlopen libsndio.so and set the output device to sndio. Removing libsndio will also cause firefox to correctly output to alsa.
Edit2: Downgrading to firefox 70 and setting media.cubeb.backend to sndio, causes the exact same issues and crashing, so it looks like the crash is a bug in firefox's sndio output when sndiod is not present.
[1] https://old.reddit.com/r/voidlinux/comments/e5x5s3/firefox_71_crash/f9zd477/
[2] https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/71#Audio.2FVideo:_cubeb:
Anyone else still having a broken firefox audio playback?
For me the issue is fixed after recent alsa patch.
No more sound issues after https://github.com/void-linux/void-packages/pull/17258/commits/150a88558f0c746512e0e107b00f6db9c209f220.
Most helpful comment
Someone on the reddit found a workaround that works for alsa users [1]:
I also very quickly looked at the firefox 71 release notes [2] and saw these changes that looked somewhat suspect:
https://bugzilla.mozilla.org/show_bug.cgi?id=1588669
https://bugzilla.mozilla.org/show_bug.cgi?id=1575883
Edit: I've found why setting media.cubeb.backend to alsa works: due to https://github.com/kinetiknz/cubeb/commit/410c88ee40610a6605f376b637d8a3ae29fb1c0f introduced in bug 1588669, if you have libsndio installed, firefox will dlopen libsndio.so and set the output device to sndio. Removing libsndio will also cause firefox to correctly output to alsa.
Edit2: Downgrading to firefox 70 and setting media.cubeb.backend to sndio, causes the exact same issues and crashing, so it looks like the crash is a bug in firefox's sndio output when sndiod is not present.
[1] https://old.reddit.com/r/voidlinux/comments/e5x5s3/firefox_71_crash/f9zd477/
[2] https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/71#Audio.2FVideo:_cubeb: