Open Bug 1847738 Opened 2 years ago Updated 2 years ago

webgl regression in NetBSD for firefox >= 111

Categories

(Core :: Graphics: CanvasWebGL, defect, P3)

Firefox 115
defect

Tracking

()

UNCONFIRMED

People

(Reporter: abs, Unassigned, NeedInfo)

Details

User Agent: Mozilla/5.0 (X11; NetBSD amd64; rv:109.0) Gecko/20100101 Firefox/115.0

Steps to reproduce:

Since firefox-111, webgl no longer works on NetBSD. Tested in firefox-111, 112 and 115

Example would be to open https://get.webgl.org/ (which works fine with firefox-110)

Note, due to an unrelated GL/TLS issue, testing should be carried out on netbsd-9 or netbsd-10 builds after 2023-08-04 (available from http://nyftp.netbsd.org/ )

Actual results:

With firefox-111, on start, stderr includes:

Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: cannot access /sys/bus/pci (t=1.22834) [GFX1-]: glxtest: cannot access /sys/bus/pci

When opening https://get.webgl.org/ page reports webgl is supported, but no cube is shown. Stderr includes:

Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: cannot access /sys/bus/pci (t=1.22834) |[1][GFX1]: MethodDispatcher<7> not found. Please file a bug! (t=8.37413) [GFX1]: MethodDispatcher<7> not found. Please file a bug!
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: cannot access /sys/bus/pci (t=1.22834) |[1][GFX1]: MethodDispatcher<7> not found. Please file a bug! (t=8.37413) |[2][GFX1]: DispatchCommand(id: 7) failed. Please file a bug! (t=8.37421) [GFX1]: DispatchCommand(id: 7) failed. Please file a bug!
JavaScript error: https://get.webgl.org/tdl/tdl-minified.js, line 155: TypeError: program is null
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: cannot access /sys/bus/pci (t=1.22834) |[1][GFX1]: MethodDispatcher<7> not found. Please file a bug! (t=8.37413) |[2][GFX1]: DispatchCommand(id: 7) failed. Please file a bug! (t=8.37421) |[3][GFX1]: MethodDispatcher<18> not found. Please file a bug! (t=8.38554) [GFX1]: MethodDispatcher<18> not found. Please file a bug!
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: cannot access /sys/bus/pci (t=1.22834) |[1][GFX1]: MethodDispatcher<7> not found. Please file a bug! (t=8.37413) |[2][GFX1]: DispatchCommand(id: 7) failed. Please file a bug! (t=8.37421) |[3][GFX1]: MethodDispatcher<18> not found. Please file a bug! (t=8.38554) |[4][GFX1]: DispatchCommand(id: 18) failed. Please file a bug! (t=8.38562) [GFX1]: DispatchCommand(id: 18) failed. Please file a bug!

Expected results:

With firefox-110, On start, stderr includes:

Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: cannot access /sys/bus/pci (t=1.22834) [GFX1-]: glxtest: cannot access /sys/bus/pci

When opening https://get.webgl.org/ page reports webgl is supported, and no cube is shown. No glx errors to stderr

The Bugbug bot thinks this bug should belong to the 'Core::Graphics: CanvasWebGL' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics: CanvasWebGL
Product: Firefox → Core
Blocks: gfx-triage
No longer blocks: gfx-triage
Severity: -- → S3
Flags: needinfo?(jgilbert)
Priority: -- → P3

Spent a little time digging on this, and found a simple workaround - set pref webgl.out-of-process to false (via about:config). The breaking change was enabling this by default.

Looking at the error eg. [1][GFX1]: MethodDispatcher<7> not found. Please file a bug! (t=8.37413) |[2][GFX1]: DispatchCommand(id: 7) failed. Please file a bug! (t=8.37421), etc, I can find no trace of the object code that should be generated by WebGLMethodDispatcher.h. That header is definitely included into the compilation, and WebGLParent::RecvDispatchCommands definitely attempts to reference the methods, but after scattering debugging around, I see nothing of what I'd expect in the generated Unified_cpp_dom_canvas4.o. I must be missing something.

fwiw, this is with firefox 117.0.1 from pkgsrc 2023Q3 on NetBSD 10.0_BETA amd64.

You need to log in before you can comment on or make changes to this bug.