Closed Bug 1972290 Opened 9 months ago Closed 9 months ago

[KDE][HDR] MOZ_RELEASE_ASSERT(!mAttachedToSurface && !mIsAttachedToCompositor)

Categories

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

defect

Tracking

()

RESOLVED FIXED
142 Branch
Tracking Status
firefox142 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Looks like the same buffer is reused too early:

#10 MOZ_CrashSequence (aAddress=0x0, aLine=104) at /raid/src/objdir/dist/include/mozilla/Assertions.h:248
#11 0x00007f8f968b083b in mozilla::widget::WaylandBuffer::BorrowBuffer (this=0x7f8f394545b0, aSurfaceLock=...) at /raid/src/widget/gtk/WaylandBuffer.cpp:103
#12 0x00007f8f968bb26d in mozilla::widget::WaylandSurface::AttachLocked (this=0x7f8f2d3c2100, aSurfaceLock=..., aWaylandBuffer=[(mozilla::widget::WaylandBufferDMABUF *)] = {...})
    at /raid/src/widget/gtk/WaylandSurface.cpp:1129
#13 0x00007f8f901ca30b in mozilla::layers::NativeLayerWaylandRender::CommitSurfaceToScreenLocked (this=0x7f8f5379b450, aProofOfLock=...) at /raid/src/gfx/layers/NativeLayerWayland.cpp:1000
#14 0x00007f8f901c594a in mozilla::layers::NativeLayerWayland::UpdateLayer (this=0x7f8f5379b450, aScale=2) at /raid/src/gfx/layers/NativeLayerWayland.cpp:725
#15 0x00007f8f901c4e56 in mozilla::layers::NativeLayerRootWayland::UpdateLayersLocked (this=0x7f8f504d51c0, aProofOfLock=...) at /raid/src/gfx/layers/NativeLayerWayland.cpp:393
#16 0x00007f8f901c629c in mozilla::layers::NativeLayerRootWayland::CommitToScreen (this=0x7f8f504d51c0) at /raid/src/gfx/layers/NativeLayerWayland.cpp:473
#17 0x00007f8f90a08d6e in mozilla::wr::RenderCompositorNative::CompositorEndFrame (this=0x7f8f4ea434b0) at /raid/src/gfx/webrender_bindings/RenderCompositorNative.cpp:278
Flags: needinfo?(stransky)

Looks like a specific KDE scenario and our layered code bug. KDE fails to release wl_buffer and we're committing/updating all layers after any change, not only changed ones. So we attach mFront buffer again event if it's not changed and potentially already attached.

The patch here reduces rendering overhead but root cause is somewhere else - we can't reuse the same wl_buffer for root surface (tmp one) if it's already attached. It happens on popup map/unmap.

We may consider to create regular SW-WR for popups instead of composited ones.

Comment on attachment 9495398 [details]
WIP: Bug 1972290 [Wayland/HDR] Update only changed properties

Revision D254140 was moved to bug 1973888. Setting attachment 9495398 [details] to obsolete.

Attachment #9495398 - Attachment is obsolete: true
Assignee: nobody → stransky
Status: NEW → ASSIGNED
Flags: needinfo?(stransky)
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 142 Branch
QA Whiteboard: [qa-triage-done-c143/b142]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: