Closed Bug 1972291 Opened 1 year ago Closed 1 year ago

[HDR][KDE] MOZ_DIAGNOSTIC_ASSERT(!mFrameCallbackHandler.IsSet());

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

Crash Data

Attachments

(1 external file)

Looks like race:

MOZ_DIAGNOSTIC_ASSERT(!mFrameCallbackHandler.IsSet());

Renderer:

#10 MOZ_CrashSequence (aAddress=0x0, aLine=368) at /raid/src/objdir/dist/include/mozilla/Assertions.h:248
#11 0x00007f7ed3cb5697 in mozilla::widget::WaylandSurface::SetFrameCallbackLocked (this=0x7f7e79757400, aProofOfLock=..., aFrameCallbackHandler=..., aEmulateFrameCallback=true)
    at /raid/src/widget/gtk/WaylandSurface.cpp:368
#12 0x00007f7ecd5c476c in mozilla::layers::NativeLayerWayland::Map (this=0x7f7e66380890, aParentWaylandSurfaceLock=0x7f7e99af83e0) at /raid/src/gfx/layers/NativeLayerWayland.cpp:765
#13 0x00007f7ecd5c377a in mozilla::layers::NativeLayerRootWayland::SetLayers (this=0x7f7ead1afa00, aLayers=const nsTArray<RefPtr<mozilla::layers::NativeLayer> > & = {...})
    at /raid/src/gfx/layers/NativeLayerWayland.cpp:321
#14 0x00007f7ecde08d56 in mozilla::wr::RenderCompositorNative::CompositorEndFrame (this=0x7f7e8a3172f0) at /raid/src/gfx/webrender_bindings/RenderCompositorNative.cpp:277
#15 0x00007f7ecde1ba01 in wr_compositor_end_frame (aCompositor=0x7f7e8a3172f0) at /raid/src/gfx/webrender_bindings/RenderCompositor.cpp:149
#16 0x00007f7ed864a639 in webrender_bindings::bindings::{impl#22}::end_frame (self=0x7f7e910f8b28, _device=0x7f7e854f8000) at gfx/webrender_bindings/src/bindings.rs:1494
#17 0x00007f7ed8e4750c in webrender::renderer::Renderer::render_impl (self=0x7f7e854f8000, doc_id=..., active_doc=0x7f7e99af94d8, device_size=..., buffer_age=0) at gfx/wr/webrender/src/renderer/mod.rs:1822
#18 0x00007f7ed8e449f9 in webrender::renderer::Renderer::render (self=0x7f7e854f8000, device_size=..., buffer_age=0) at gfx/wr/webrender/src/renderer/mod.rs:1316
#19 0x00007f7ed8647dfb in webrender_bindings::bindings::wr_renderer_render (renderer=0x7f7e854f8000, width=1920, height=2088, buffer_age=0, out_stats=0x7f7e99afb250, out_dirty_rects=0x7f7e99afaf18)
    at gfx/webrender_bindings/src/bindings.rs:650
Main thread:

#7  0x00007f7ed3cb9ab4 in mozilla::widget::WaylandSurface::Lock (this=0x7f7e91036100, aWaylandSurfaceLock=0x7ffc2abb6c88) at /raid/src/widget/gtk/WaylandSurface.cpp:882
#8  0x00007f7ed3cbed56 in mozilla::widget::WaylandSurfaceLock::WaylandSurfaceLock (this=0x7ffc2abb6c88, aWaylandSurface=[(mozilla::widget::WaylandSurface *)] = {...}, aForceCommit=false)
    at /raid/src/widget/gtk/WaylandSurfaceLock.cpp:24
#9  0x00007f7ed3cb4f2f in mozilla::widget::WaylandSurface::FrameCallbackHandler (this=0x7f7e91036100, aCallback=0x7f7e7265e880, aTime=16268468, aRoutedFromChildSurface=false)
    at /raid/src/widget/gtk/WaylandSurface.cpp:234
#10 0x00007f7ed3cbce19 in mozilla::widget::FrameCallbackHandler (aWaylandSurface=0x7f7e91036100, aCallback=0x7f7e7265e880, aTime=16268468) at /raid/src/widget/gtk/WaylandSurface.cpp:286
#11 0x00007f7edd4e6056 in ffi_call_unix64 () at /lib64/libffi.so.8
#12 0x00007f7edd4e1d08 in ffi_call_int.lto_priv () at /lib64/libffi.so.8
#13 0x00007f7edd4e470e in ffi_call () at /lib64/libffi.so.8
#14 0x00007f7ee0805422 in wl_closure_invoke (closure=closure@entry=0x7f7e8a3db4a0, target=<optimized out>, target@entry=0x7f7e7265e880, opcode=opcode@entry=0, data=<optimized out>, flags=1)
    at ../src/connection.c:1228
#15 0x00007f7ee0805c79 in dispatch_event (display=display@entry=0x7f7ee2af9760, queue=queue@entry=0x7f7ee2af9858) at ../src/wayland-client.c:1674
#16 0x00007f7ee0806063 in dispatch_queue (display=0x7f7ee2af9760, queue=0x7f7ee2af9858) at ../src/wayland-client.c:1820
#17 wl_display_dispatch_queue_pending (display=0x7f7ee2af9760, queue=0x7f7ee2af9858) at ../src/wayland-client.c:2062
#18 0x00007f7ede89edd0 in _gdk_wayland_display_queue_events () at /lib64/libgdk-3.so.0
Flags: needinfo?(stransky)

Looks like we mapped/unmapped WaylandSurface and the frame callback is left from previous run and we assert when a new one is added.

Assignee: nobody → stransky
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 142 Branch
Flags: needinfo?(stransky)
Duplicate of this bug: 1970759

Copying crash signatures from duplicate bugs.

Crash Signature: [@ mozilla::widget::WaylandSurface::SetFrameCallbackLocked]
Regressions: 1974170
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: