Closed Bug 1671054 Opened 1 year ago Closed 1 year ago

webgl.out-of-process=true with mesa/nouveau: Crash in [@ pushbuf_flush]

Categories

(Core :: Canvas: WebGL, defect, P1)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
84 Branch
Fission Milestone MVP
Tracking Status
firefox-esr78 --- unaffected
firefox82 --- disabled
firefox83 --- disabled
firefox84 --- fixed

People

(Reporter: jan, Assigned: jgilbert)

References

(Blocks 2 open bugs, )

Details

(Keywords: crash, nightly-community)

Crash Data

Attachments

(2 files, 1 obsolete file)

Attached file aboutsupport.txt (obsolete) —

GTX1060, Mesa/Nouveau, Mesa 20.1.9, Gnome X11, Debian Testing

Fresh profile: I have set webgl.out-of-process=true, opened https://webglsamples.org/aquarium/aquarium.html and got a main process crash.
It does not occur with webgl.out-of-process=false.

about:support says "IsWebglOutOfProcessEnabled: 1".
The check from bug 1668144 doesn't seem to work.

Crash report: bp-e4d045c9-794a-4d20-b9d8-207120201013

Reason: SIGSEGV /0x00000080

Top 10 frames of crashing thread:

0 libdrm_nouveau.so.2 pushbuf_flush ./build/../nouveau/pushbuf.c:400
1 libdrm_nouveau.so.2 pushbuf_kref ./build/../nouveau/pushbuf.c:171
2 libdrm_nouveau.so.2 pushbuf_refn ./build/../nouveau/pushbuf.c:461
3 libgallium_dri.so nvc0_cb_bo_push ../src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c:598
4 libgallium_dri.so nvc0_constbufs_validate ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:599
5 libgallium_dri.so nvc0_state_validate ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:980
6 libgallium_dri.so nvc0_state_validate_3d ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:998
7 libgallium_dri.so nvc0_draw_vbo ../src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c:987
8 libgallium_dri.so cso_draw_arrays ../src/gallium/auxiliary/cso_cache/cso_context.c:1756
9 libgallium_dri.so st_pbo_draw ../src/mesa/state_tracker/st_pbo.c:283
Attached file aboutsupport.txt

This is the GLX about:support. (Previous one had EGL by mistake, but it's reproducible with both.)

Attachment #9181444 - Attachment is obsolete: true

Tracking for Fission MVP on Linux.

Fission Milestone: --- → MVP

Oops, we ask for gfxVars::UseWebrender before UseWebrender is initialized, so silently get its default.

Assignee: nobody → jgilbert
Severity: -- → S4
Type: defect → task
Priority: -- → P1
Type: defect → task

@sylvestre is it a "defect" if it's on a not-shipping configuration?

Type: defect → task
Flags: needinfo?(sledru)
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fe27a1a3ec01
Decide AllowWebglOop after InitWebRenderConfig. r=lsalzman
See Also: → 1673705
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 84 Branch

Yeah, all crashes are considered as defect. It is a defect in our product, doesn't matter if this is hidden or not :)

Flags: needinfo?(sledru)
Flags: qe-verify+
QA Contact: cristian.fogel

We've tried to reproduce the crash on old nightly build from 2020-10-13 on 3 different machines with Ubuntu 18 and 20 having (GTX 1660 Ti, Radeon™ RX 470), also on Debian 10 and Ubuntu 20 on VMs and could not reproduce the crash.
Since the original reporter has the bugzilla account disabled and I don't see any crashes in Crash reporter with latest builds I will remove qe-verify+ from this bug.

Flags: qe-verify+
QA Contact: cristian.fogel
See Also: → 1683420
You need to log in before you can comment on or make changes to this bug.