You are not logged in.

#1 2024-10-01 21:40:52

czarnoh
Member
Registered: 2024-10-01
Posts: 3

Firefox webGL crashing with nvidia driver > 550

First of all I want to make that clear I am opening this thread, because I've tried current firefox (131) and nightly (133) downloaded from the official Firefox page and I couldn't reproduce the bug, so my impression is something is wrong with the arch build.

After nvidia 555 driver has been released, Firefox keeps crashing under load, with multiple hardware accelerated webpages opened. Since that I think I've tried every arch nvidia driver release (including current 560.35.03), with corresponding kernel, to no avail. I've gone through similar threads, but didn't find an answer.

Firefox crashes only in my desktop setup (2 displays, nvidia GeForce GTX 1070 Ti). I have arch with very similar package set installed on my laptop (GeForce MX230) and I cannot reproduce the crash there recently. It used to crash on my laptop as well (I haven't debugged it thoroughly at the time though), but the issue had been fixed around firefox 130, when the mesa mess was fixed. My desktop still suffers.

Crash pops up at different sites, using GPU acceleration. I've been able to reliably reproduce the issue with following steps:
1. Open firefox (can be a new, empty profile)
2. Go to maps.google.com (close cookie consent pop-up if needed). See the map loading, move it, zoom, whatever just ensure it is loaded.
3. Open one more tab, go to flightradar24.com. The browser crashes when the map is loading. The site uses webGL.

Pasting top 20 frames from gdb below

Thread 56 "CanvasRenderer" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffcea006c0 (LWP 9877)]
0x00007fffcc1b612d in ?? () from /usr/lib/libnvidia-eglcore.so.560.35.03
(gdb) bt
#0  0x00007fffcc1b612d in ?? () from /usr/lib/libnvidia-eglcore.so.560.35.03
#1  0x00007fffcc138764 in ?? () from /usr/lib/libnvidia-eglcore.so.560.35.03

#2  0x00007fffed43dcd4 in mozilla::gl::GLContext::InitImpl (this=0x7fffc5783100) at /usr/src/debug/firefox/firefox-131.0/gfx/gl/GLContext.cpp:910
#3  0x00007fffed43a712 in mozilla::gl::GLContext::Init (this=0x7fffc5783100) at /usr/src/debug/firefox/firefox-131.0/gfx/gl/GLContext.cpp:335
#4  0x00007fffed4549a2 in mozilla::gl::GLContextEGL::Init (this=0x7fffac5c6000)
    at /usr/src/debug/firefox/firefox-131.0/gfx/gl/GLContextProviderEGL.cpp:409
#5  0x00007fffed4531fc in mozilla::gl::GLContextEGL::CreateGLContext (
    egl=std::shared_ptr<mozilla::gl::EglDisplay> (use count 8, weak count 2) = {...}, desc=..., surfaceConfig=0x0, surface=0x0, 
    useGles=<optimized out>, contextConfig=0x0, out_failureId=0x7fffce9ff178)
    at /usr/src/debug/firefox/firefox-131.0/gfx/gl/GLContextProviderEGL.cpp:765
#6  0x00007fffed459bf9 in mozilla::gl::GLContextEGL::CreateWithoutSurface(std::shared_ptr<mozilla::gl::EglDisplay>, mozilla::gl::GLContextCreateDesc const&, nsTSubstring<char>*)::$_0::operator()(bool) const (this=0x7fffce9ff0a8, useGles=false)
    at /usr/src/debug/firefox/firefox-131.0/gfx/gl/GLContextProviderEGL.cpp:1148
#7  0x00007fffed459b1c in mozilla::gl::GLContextEGL::CreateWithoutSurface (egl=..., desc=..., out_failureId=<optimized out>)
    at /usr/src/debug/firefox/firefox-131.0/gfx/gl/GLContextProviderEGL.cpp:1216
#8  0x00007fffed45ae98 in mozilla::gl::GLContextProviderEGL::CreateHeadless (desc=..., out_failureId=0x7fffce9ff178)
    at /usr/src/debug/firefox/firefox-131.0/gfx/gl/GLContextProviderEGL.cpp:1249
#9  0x00007fffee703eac in mozilla::WebGLContext::CreateAndInitGL(bool, std::vector<mozilla::WebGLContext::FailureReason, std::allocator<mozilla::WebGLContext::FailureReason> >*)::$_1::operator()(already_AddRefed<mozilla::gl::GLContext> (*)(mozilla::gl::GLContextCreateDesc const&, nsTSubstring<char>*), char const*) const (this=<optimized out>, pfnCreate=<optimized out>, info=<optimized out>)
    at /usr/src/debug/firefox/firefox-131.0/dom/canvas/WebGLContext.cpp:394
#10 mozilla::WebGLContext::CreateAndInitGL(bool, std::vector<mozilla::WebGLContext::FailureReason, std::allocator<mozilla::WebGLContext::FailureReason> >*)::$_0::operator()() const (this=<optimized out>) at /usr/src/debug/firefox/firefox-131.0/dom/canvas/WebGLContext.cpp:407
#11 mozilla::WebGLContext::CreateAndInitGL (this=0x7fffa5e28800, forceEnabled=<optimized out>, out_failReasons=0x7fffce9ff210)
    at /usr/src/debug/firefox/firefox-131.0/dom/canvas/WebGLContext.cpp:401
#12 0x00007fffee704929 in mozilla::WebGLContext::Create(mozilla::HostWebGLContext*, mozilla::webgl::InitContextDesc const&, mozilla::webgl::InitContextResult*)::$_0::operator()[abi:cxx11]() const (this=<optimized out>) at /usr/src/debug/firefox/firefox-131.0/dom/canvas/WebGLContext.cpp:559
#13 mozilla::WebGLContext::Create (host=0x7fffa5e35600, desc=..., out=0x7fffce9ff3c0)
    at /usr/src/debug/firefox/firefox-131.0/dom/canvas/WebGLContext.cpp:533
#14 0x00007fffee6bafa4 in mozilla::HostWebGLContext::Create (ownerData=..., desc=..., out=0x7fffce9ff3c0)
    at /usr/src/debug/firefox/firefox-131.0/dom/canvas/HostWebGLContext.cpp:58
#15 0x00007fffee7417ab in mozilla::dom::WebGLParent::RecvInitialize (this=0x7fffac345280, desc=..., out=0x0)
    at /usr/src/debug/firefox/firefox-131.0/dom/canvas/WebGLParent.cpp:18
#16 0x00007fffee779e3c in mozilla::dom::PWebGLParent::OnMessageReceived (this=0x7fffac345280, msg__=..., reply__=...)
    at /usr/src/debug/firefox/firefox-131.0/obj/ipc/ipdl/PWebGLParent.cpp:516
#17 0x00007fffed7471ef in mozilla::gfx::PCanvasManagerParent::OnMessageReceived (this=<optimized out>, msg__=..., reply__=...)
    at /usr/src/debug/firefox/firefox-131.0/obj/ipc/ipdl/PCanvasManagerParent.cpp:483
#18 0x00007fffed041a9f in mozilla::ipc::MessageChannel::DispatchSyncMessage (this=0x7fff9b863b20, aProxy=0x7fff97a487e0, aMsg=..., aReply=...)
    at /usr/src/debug/firefox/firefox-131.0/ipc/glue/MessageChannel.cpp:1758
#19 0x00007fffebb7c1f7 in mozilla::ipc::MessageChannel::DispatchMessage (this=0x7fff9b863b20, aProxy=0x7fff97a487e0, aMsg=...)
    at /usr/src/debug/firefox/firefox-131.0/ipc/glue/MessageChannel.cpp:1710
#20 mozilla::ipc::MessageChannel::RunMessage (this=0x7fff9b863b20, aProxy=0x7fff97a487e0, aTask=...)
    at /usr/src/debug/firefox/firefox-131.0/ipc/glue/MessageChannel.cpp:1503

I am wondering what could be different between the same firefox version from the pacman package and the one downloaded from the Firefox webpage. I'd be much obliged for any help with it. I can run some extra tests if needed as I can easily reproduce the issue.

Offline

#2 2024-10-03 00:44:44

romsom
Member
Registered: 2012-08-27
Posts: 4

Re: Firefox webGL crashing with nvidia driver > 550

Can confirm the behavior. Same card, also two displays, up to date packages.
Are you running Xorg? Wayland helps a lot for me here but still isn't perfect.

Offline

#3 2024-10-03 22:05:04

czarnoh
Member
Registered: 2024-10-01
Posts: 3

Re: Firefox webGL crashing with nvidia driver > 550

Thanks for confirmation @romsom. It's a relief that anyone else experienced the issue and I haven't gone crazy. Yet.

Yes, that's Xorg. In xfce & lightdm setup I don't think I have much choice. Thanks for the tip though! I'll probably try other DM this weekend and see if Wayland helps

Offline

#4 2024-10-15 19:02:52

Meph24
Member
Registered: 2024-10-15
Posts: 2

Re: Firefox webGL crashing with nvidia driver > 550

Confirmation from me as well. Same issue, same card, same setup. I'm using AwesomeWM as my window manager and starting X with xinit.

I use this to reproduce a crash: https://www.ikea.com/us/en/cat/kallax-series-27534/, although it sometimes fails me. It might have to do with other loads being present. Some applications flat out do not open sometimes. This includes TeamSpeak 3, Thunderbird, pavucontrol, and various games that complain about DirectX not being able to be established under Steam Proton. Changing pavucontrol to pavucontrol-qt helped here. Closing other applications often helps. When such an issue presents itself, mpv --hwdec=auto ~/*.mp4 often also produces GL errors and crashes.

Sometimes, I can find zombie processes with nvtop, although I often do not know if this is intentional, since many of the programs I mentioned cannot seem to use the status bar in AwesomeWM like, for example, Steam can, and linger around as a feature when I close them.

Last edited by Meph24 (2024-10-15 19:04:32)

Offline

#5 2024-12-12 08:53:11

Meph24
Member
Registered: 2024-10-15
Posts: 2

Re: Firefox webGL crashing with nvidia driver > 550

Since maybe 2 weeks I seem to experience no crashes any more. Still unsure about what the problem was though and if it may return. ATM my system seems to work fine. Likely some update has fixed the issues.

Offline

Board footer

Powered by FluxBB