Closed
Bug 1950464
Opened 20 days ago
Closed 14 days ago
Assertion failure: aWaylandBuffer && !aWlBuffer (Wayland compositor detach call after wl_buffer delete?)
Categories
(Core :: Widget: Gtk, defect, P3)
Core
Widget: Gtk
Tracking
()
RESOLVED
FIXED
138 Branch
Tracking | Status | |
---|---|---|
firefox138 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Crash Data
Attachments
(2 files)
[Parent 84660: Renderer]: D/WidgetWayland [7f40a8b84ca0]: WaylandSurface::UnmapLocked()
[Parent 84660: Renderer]: D/WidgetWayland [7f40a8b84ca0]: WaylandSurface::ClearScaleLocked()
[Parent 84660: Renderer]: D/WidgetWayland [7f40a8b84ca0]: WaylandSurface::ReleaseAllWaylandBuffersLocked(), buffers num 1
[Parent 84660: Renderer]: D/WidgetWayland WaylandBuffer::ReturnBufferAttached() [7f409b9bbb40] WaylandSurface [7f409d704900]
[Parent 84660: Renderer]: D/WidgetWayland WaylandBuffer::DeleteWlBuffer() [7f409b9bbb40] wl_buffer [7f4096972a60]
[Parent 84660: Renderer]: D/WidgetWayland [7f40a518f040]: WaylandSurface::UnmapLocked()
[Parent 84660: Renderer]: D/WidgetWayland [7f40a518f040]: WaylandSurface::ClearScaleLocked()
[Parent 84660: Main Thread]: D/WidgetWayland BufferDetachedCallbackHandler() [7f409d704900] received wl_buffer [7f4096972a60]
[Parent 84660: Renderer]: D/WidgetWayland [7f40a518f040]: WaylandSurface::ReleaseAllWaylandBuffersLocked(), buffers num 1
[Parent 84660: Renderer]: D/WidgetWayland WaylandBuffer::ReturnBufferAttached() [7f4094271300] WaylandSurface [7f4094a08e00]
[Parent 84660: Renderer]: D/WidgetWayland WaylandBuffer::DeleteWlBuffer() [7f4094271300] wl_buffer [7f4096972760]
[Parent 84660: Main Thread]: D/WidgetWayland [7f40a8b84ca0]: WaylandSurface::BufferFreeCallbackHandler() WaylandBuffer [0] wl_buffer [7f4096972a60]
[84660] Assertion failure: aWaylandBuffer && !aWlBuffer (Wayland compositor detach call after wl_buffer delete?), at /raid/src3/widget/gtk/WaylandSurface.cpp:1148
Assignee | ||
Comment 1•20 days ago
|
||
Assignee | ||
Comment 2•18 days ago
|
||
It's possible we get wl_buffer detach callback after wl_buffer delete as the events are waiting in thread queues.
In such case we can't match wl_buffer from wl_buffer::detach as it's already cleared from WaylandBuffer class.
In this patch we always use WaylandBuffer to match detached buffers but we use weak pointer as it's not quaranteed to
get wl_buffer::detach event, for instance if wl_surface/wl_buffer are deleted.
Updated•18 days ago
|
Assignee: nobody → stransky
Status: NEW → ASSIGNED
Updated•17 days ago
|
Attachment #9468876 -
Attachment description: Bug 1950464 [Wayland] Use WaylandBuffer instead of wl_buffer to match detached buffer r?emilio → Bug 1950464 [Wayland] Use wl_buffer id instead of wl_buffer to match detached buffer r?emilio
Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/67e0e7d2174b
[Wayland] Use wl_buffer id instead of wl_buffer to match detached buffer r=emilio
Comment 4•14 days ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 14 days ago
status-firefox138:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 138 Branch
Comment 7•14 days ago
|
||
Copying crash signatures from duplicate bugs.
Crash Signature: [@ mozilla::widget::WaylandSurface::BufferFreeCallbackHandler]
You need to log in
before you can comment on or make changes to this bug.
Description
•