Closed Bug 1776889 Opened 2 years ago Closed 2 years ago

Crash in [@ @0x0 | DMABufSurfaceRGBA::Create] with widget.dmabuf-textures.enabled

Categories

(Core :: Widget: Gtk, defect, P5)

defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr91 --- unaffected
firefox-esr102 --- unaffected
firefox102 --- unaffected
firefox103 --- disabled
firefox104 --- disabled

People

(Reporter: yoasif, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, regression)

Crash Data

I just started seeing this crash two nightly updates ago.

Crash report: https://crash-stats.mozilla.org/report/index/1c9236b6-c330-49fb-bd46-937ad0220628

I have widget.dmabuf-textures.enabled and widget.dmabuf.force-enabled set to true.

Reason: SIGSEGV / SEGV_MAPERR

Top 10 frames of crashing thread:

0 None @0x0000000000000000 
1 libxul.so DMABufSurfaceRGBA::Create widget/gtk/DMABufSurface.cpp:406
2 libxul.so DMABufSurfaceRGBA::CreateDMABufSurface widget/gtk/DMABufSurface.cpp:886
3 libxul.so mozilla::layers::DMABUFTextureData::Create gfx/layers/opengl/DMABUFTextureClientOGL.cpp:37
4 libxul.so mozilla::layers::TextureClient::CreateForDrawing gfx/layers/client/TextureClient.cpp:1157
5 libxul.so mozilla::layers::TextureClient::CreateForDrawing gfx/layers/client/TextureClient.cpp:1132
6 libxul.so mozilla::layers::PersistentBufferProviderShared::Create gfx/layers/PersistentBufferProvider.cpp:181
7 libxul.so mozilla::layers::WebRenderLayerManager::CreatePersistentBufferProvider gfx/layers/wr/WebRenderLayerManager.cpp:744
8 libxul.so mozilla::dom::CanvasRenderingContext2D::TrySharedTarget dom/canvas/CanvasRenderingContext2D.cpp:1579
9 libxul.so mozilla::dom::CanvasRenderingContext2D::EnsureTarget dom/canvas/CanvasRenderingContext2D.cpp:1419

Hm indeed, can reproduce with widget.dmabuf-textures.enabled - potentially I overlooked something in bug 1776563. We also might be able to switch this usecase to the EGL device/surfaceless platforms (instead of using the GBM one).

See Also: → 1776563

The bug is marked as tracked for firefox104 (nightly). However, the bug still isn't assigned.

:bhood, could you please find an assignee for this tracked bug? If you disagree with the tracking decision, please talk with the release managers.

For more information, please visit auto_nag documentation.

Flags: needinfo?(bhood)
Flags: needinfo?(bhood)
Crash Signature: [@ @0x0 | DMABufSurfaceRGBA::Create] → [@ @0x0 | DMABufSurfaceRGBA::Create] [@ amdgpu_cs_flush]

Lee, seems like Canvas is involved here. Could you have a look, please?

Flags: needinfo?(lsalzman)

Set release status flags based on info from the regressing bug 1776563

Flags: needinfo?(stransky)

We need to init the dmabuf device here.

Flags: needinfo?(lsalzman)

widget.dmabuf-textures.enabled is disabled by default as debugging feature. I don't think we want to support dmabuf in child process anyway.
I think we should remove dmabuf-textures at some point.

Component: Graphics: Layers → Widget: Gtk
Flags: needinfo?(stransky)
Summary: Crash in [@ @0x0 | DMABufSurfaceRGBA::Create] → Crash in [@ @0x0 | DMABufSurfaceRGBA::Create] with widget.dmabuf-textures.enabled

Correct fix is to call gfxPlatformGtk::Init() on child process but I don't think we want it.

(In reply to Alexandre LISSY :gerard-majax from comment #8)

I have not changes any pref and I am getting a lot of crashes with [@ amdgpu_cs_flush ], it seems more present under Zoom Web calls.
e.g., https://crash-stats.mozilla.org/report/index/1d1fa165-4999-4f18-8707-d39e10220705

Also, I dont have widget.dmabuf-textures.enabled=true and my process crashing is parent. I am not sure the signature [@ amdgpu_cs_flush] is correct ?

Hm, no, this bug is only about those crashes in DMABufSurfaceRGBA::Create(int, int, int).

Closing because no crashes reported for 12 weeks.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
See Also: → 1684586
You need to log in before you can comment on or make changes to this bug.