Closed Bug 1825170 Opened 1 year ago Closed 1 year ago

ThreadSanitizer: data race [@ mozilla::widget::WaylandDispatchDisplays] vs [@ mozilla::widget::WaylandDisplayGet]

Categories

(Core :: Widget: Gtk, defect)

defect

Tracking

()

RESOLVED FIXED
113 Branch
Tracking Status
firefox-esr102 --- wontfix
firefox111 --- wontfix
firefox112 --- wontfix
firefox113 --- fixed

People

(Reporter: tsmith, Assigned: stransky)

References

(Blocks 2 open bugs)

Details

(Keywords: csectype-race, sec-moderate, Whiteboard: [adv-main113+r])

Attachments

(1 file, 1 obsolete file)

Found with m-c 20230325-93996ea3c7de (--enable-thread-sanitizer --enable-fuzzing)

This is triggered right after startup. It may have been due to mousing over the UI. I was using Ubuntu 22.04.

WARNING: ThreadSanitizer: data race (pid=12931)
  Read of size 8 at 0x7f24bdd486b8 by main thread:
    #0 RefPtr<mozilla::widget::nsWaylandDisplay>::operator bool() const mozilla-central/objdir-ff-tsan/dist/include/mozilla/RefPtr.h:349:45 (libxul.so+0x9d0433b) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #1 mozilla::widget::WaylandDispatchDisplays() mozilla-central/widget/gtk/nsWaylandDisplay.cpp:39:9 (libxul.so+0x9d0433b)
    #2 nsAppShell::ProcessNextNativeEvent(bool) mozilla-central/widget/gtk/nsAppShell.cpp:428:3 (libxul.so+0x9cbe4dc) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #3 nsBaseAppShell::DoProcessNextNativeEvent(bool) mozilla-central/widget/nsBaseAppShell.cpp:131:17 (libxul.so+0x9bdb936) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #4 nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) mozilla-central/widget/nsBaseAppShell.cpp:250:19 (libxul.so+0x9bdb936)
    #5 non-virtual thunk to nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) mozilla-central/widget/nsBaseAppShell.cpp (libxul.so+0x9bdbde8) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #6 nsThread::ProcessNextEvent(bool, bool*) mozilla-central/xpcom/threads/nsThread.cpp:1153:10 (libxul.so+0x4aeaf30) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #7 NS_ProcessNextEvent(nsIThread*, bool) mozilla-central/xpcom/threads/nsThreadUtils.cpp:477:10 (libxul.so+0x4af1636) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #8 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) mozilla-central/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x581597b) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #9 MessageLoop::RunInternal() mozilla-central/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x572efb7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #10 MessageLoop::RunHandler() mozilla-central/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x572efb7)
    #11 MessageLoop::Run() mozilla-central/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x572efb7)
    #12 nsBaseAppShell::Run() mozilla-central/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x9bdb4f6) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #13 nsAppStartup::Run() mozilla-central/toolkit/components/startup/nsAppStartup.cpp:295:30 (libxul.so+0xc599643) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #14 XREMain::XRE_mainRun() mozilla-central/toolkit/xre/nsAppRunner.cpp:5643:22 (libxul.so+0xc6fcf63) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #15 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5843:8 (libxul.so+0xc6fdacb) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #16 XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5899:21 (libxul.so+0xc6fe071) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #17 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xc70c732) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #18 do_main(int, char**, char**) mozilla-central/browser/app/nsBrowserApp.cpp:226:22 (firefox+0x143c71) (BuildId: 471e50338e26568e34de82d2372537c2)
    #19 main mozilla-central/browser/app/nsBrowserApp.cpp:423:16 (firefox+0x143c71)

  Previous write of size 8 at 0x7f24bdd486b8 by thread T38 (mutexes: write M0, write M1, write M2):
    #0 RefPtr<mozilla::widget::nsWaylandDisplay>::assign_assuming_AddRef(mozilla::widget::nsWaylandDisplay*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/RefPtr.h:71:13 (libxul.so+0x9d04c53) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #1 RefPtr<mozilla::widget::nsWaylandDisplay>::assign_with_AddRef(mozilla::widget::nsWaylandDisplay*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/RefPtr.h:66:5 (libxul.so+0x9d04c53)
    #2 RefPtr<mozilla::widget::nsWaylandDisplay>::operator=(mozilla::widget::nsWaylandDisplay*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/RefPtr.h:210:5 (libxul.so+0x9d04c53)
    #3 mozilla::widget::WaylandDisplayGet(_GdkDisplay*) mozilla-central/widget/gtk/nsWaylandDisplay.cpp:71:15 (libxul.so+0x9d04c53)
    #4 mozilla::widget::WaylandBufferSHM::Create(mozilla::gfx::IntSizeTyped<mozilla::LayoutDevicePixel> const&) mozilla-central/widget/gtk/WaylandBuffer.cpp:196:45 (libxul.so+0x9caa829) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #5 mozilla::widget::WindowSurfaceWaylandMB::ObtainBufferFromPool(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&, mozilla::gfx::IntSizeTyped<mozilla::LayoutDevicePixel> const&) mozilla-central/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp:347:37 (libxul.so+0x9cb0b19) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #6 mozilla::widget::WindowSurfaceWaylandMB::Lock(mozilla::gfx::IntRegionTyped<mozilla::LayoutDevicePixel> const&) mozilla-central/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp:215:27 (libxul.so+0x9cb0102) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #7 mozilla::widget::WindowSurfaceProvider::StartRemoteDrawingInRegion(mozilla::gfx::IntRegionTyped<mozilla::LayoutDevicePixel> const&, mozilla::layers::BufferMode*) mozilla-central/widget/gtk/WindowSurfaceProvider.cpp:149:48 (libxul.so+0x9caf137) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #8 mozilla::widget::GtkCompositorWidget::StartRemoteDrawingInRegion(mozilla::gfx::IntRegionTyped<mozilla::LayoutDevicePixel> const&, mozilla::layers::BufferMode*) mozilla-central/widget/gtk/GtkCompositorWidget.cpp:75:20 (libxul.so+0x9c79db9) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #9 mozilla::wr::RenderCompositorSWGL::AllocateMappedBuffer(mozilla::wr::Box2D<int, mozilla::wr::DevicePixel> const*, unsigned long) mozilla-central/gfx/webrender_bindings/RenderCompositorSWGL.cpp:80:18 (libxul.so+0x62e296d) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #10 mozilla::wr::RenderCompositorSWGL::StartCompositing(mozilla::wr::ColorF, mozilla::wr::Box2D<int, mozilla::wr::DevicePixel> const*, unsigned long, mozilla::wr::Box2D<int, mozilla::wr::DevicePixel> const*, unsigned long) mozilla-central/gfx/webrender_bindings/RenderCompositorSWGL.cpp:193:8 (libxul.so+0x62e3cd2) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #11 wr_compositor_start_compositing mozilla-central/gfx/webrender_bindings/RenderCompositor.cpp:112:15 (libxul.so+0x62d6677) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #12 _$LT$webrender_bindings..bindings..WrCompositor$u20$as$u20$webrender..composite..Compositor$GT$::start_compositing::ha29794c0120b4fad mozilla-central/gfx/webrender_bindings/src/bindings.rs:1378:13 (libxul.so+0xe22a54a) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #13 _$LT$webrender..compositor..sw_compositor..SwCompositor$u20$as$u20$webrender..composite..Compositor$GT$::start_compositing::ha26432bb78aac764 mozilla-central/gfx/wr/webrender/src/compositor/sw_compositor.rs:1435:9 (libxul.so+0xe309ff7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #14 webrender::renderer::_$LT$impl$u20$webrender..composite..CompositeState$GT$::composite_native::hc32eb09e484743ac mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:5731:9 (libxul.so+0xe6420c5) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #15 webrender::renderer::Renderer::draw_frame::h97175dcc347bec61 mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:4319:17 (libxul.so+0xe399b63) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #16 webrender::renderer::Renderer::render_impl::h4c5d4dd310f7e0f0 mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:1480:17 (libxul.so+0xe39207a) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #17 webrender::renderer::Renderer::render::h485ad1d54f49b84b mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:1197:30 (libxul.so+0xe390dcd) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #18 wr_renderer_render mozilla-central/gfx/webrender_bindings/src/bindings.rs:614:11 (libxul.so+0xe227fe7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #19 mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*, mozilla::wr::RendererStats*) mozilla-central/gfx/webrender_bindings/RendererOGL.cpp:186:19 (libxul.so+0x62eedc0) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #20 mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId, mozilla::layers::BaseTransactionId<mozilla::VsyncIdType> const&, mozilla::TimeStamp const&, bool, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*) mozilla-central/gfx/webrender_bindings/RenderThread.cpp:597:31 (libxul.so+0x62edb3e) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #21 mozilla::wr::RenderThread::HandleFrameOneDocInner(mozilla::wr::WrWindowId, bool, bool) mozilla-central/gfx/webrender_bindings/RenderThread.cpp:454:3 (libxul.so+0x62ecfcc) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #22 mozilla::wr::RenderThread::HandleFrameOneDoc(mozilla::wr::WrWindowId, bool, bool) mozilla-central/gfx/webrender_bindings/RenderThread.cpp:406:3 (libxul.so+0x62eca60) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #23 decltype(*fp.*fp0(Get<0ul>(fp1).PassAsParameter(), Get<1ul>(fp1).PassAsParameter(), Get<2ul>(fp1).PassAsParameter())) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool, bool>::applyImpl<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByConstLRef<bool>, StoreCopyPassByConstLRef<bool>, 0ul, 1ul, 2ul>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool), mozilla::Tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByConstLRef<bool>, StoreCopyPassByConstLRef<bool>>&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1163:12 (libxul.so+0x62fbd31) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #24 decltype(applyImpl(fp, fp0, (*this).mArguments, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>{})) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool, bool>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool)) mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1169:12 (libxul.so+0x62fbd31)
    #25 mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId, bool, bool>::Run() mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1216:13 (libxul.so+0x62fbd31)
    #26 nsThread::ProcessNextEvent(bool, bool*) mozilla-central/xpcom/threads/nsThread.cpp:1233:16 (libxul.so+0x4aeb7b8) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #27 NS_ProcessNextEvent(nsIThread*, bool) mozilla-central/xpcom/threads/nsThreadUtils.cpp:477:10 (libxul.so+0x4af1636) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #28 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) mozilla-central/ipc/glue/MessagePump.cpp:330:5 (libxul.so+0x5816608) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #29 MessageLoop::RunInternal() mozilla-central/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x572efb7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #30 MessageLoop::RunHandler() mozilla-central/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x572efb7)
    #31 MessageLoop::Run() mozilla-central/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x572efb7)
    #32 nsThread::ThreadFunc(void*) mozilla-central/xpcom/threads/nsThread.cpp:391:10 (libxul.so+0x4ae6952) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #33 _pt_root mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x512b3) (BuildId: e971b221dae972090b89a93b98809d21)

  Location is global 'mozilla::widget::gWaylandDisplays' of size 80 at 0x7f24bdd486b0 (libxul.so+0x101486b8)

  Mutex M0 (0x7b380019b0e8) created at:
    #0 pthread_mutex_init /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1316:3 (firefox+0xc45cf) (BuildId: 471e50338e26568e34de82d2372537c2)
    #1 mozilla::detail::MutexImpl::MutexImpl() mozilla-central/mozglue/misc/Mutex_posix.cpp:78:3 (firefox+0x1b0092) (BuildId: 471e50338e26568e34de82d2372537c2)
    #2 mozilla::OffTheBooksMutex::OffTheBooksMutex(char const*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:46:12 (libxul.so+0x9cae485) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #3 mozilla::Mutex::Mutex(char const*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:125:39 (libxul.so+0x9cae485)
    #4 mozilla::widget::WindowSurfaceProvider::WindowSurfaceProvider() mozilla-central/widget/gtk/WindowSurfaceProvider.cpp:43:7 (libxul.so+0x9cae485)
    #5 mozilla::widget::GtkCompositorWidget::GtkCompositorWidget(mozilla::widget::GtkCompositorWidgetInitData const&, mozilla::layers::CompositorOptions const&, RefPtr<nsWindow>) mozilla-central/widget/gtk/GtkCompositorWidget.cpp:33:22 (libxul.so+0x9c61d93) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #6 mozilla::widget::InProcessGtkCompositorWidget::InProcessGtkCompositorWidget(mozilla::widget::GtkCompositorWidgetInitData const&, mozilla::layers::CompositorOptions const&, nsWindow*) mozilla-central/widget/gtk/InProcessGtkCompositorWidget.cpp:35:7 (libxul.so+0x9c895b5) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #7 mozilla::widget::CompositorWidget::CreateLocal(mozilla::widget::CompositorWidgetInitData const&, mozilla::layers::CompositorOptions const&, nsIWidget*) mozilla-central/widget/gtk/InProcessGtkCompositorWidget.cpp:26:16 (libxul.so+0x9c895b5)
    #8 mozilla::layers::InProcessCompositorSession::Create(nsBaseWidget*, mozilla::layers::WebRenderLayerManager*, mozilla::layers::LayersId const&, mozilla::gfx::ScaleFactor<mozilla::CSSPixel, mozilla::LayoutDevicePixel>, mozilla::layers::CompositorOptions const&, bool, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, unsigned int, unsigned long) mozilla-central/gfx/ipc/InProcessCompositorSession.cpp:43:7 (libxul.so+0x621ec37) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #9 mozilla::gfx::GPUProcessManager::CreateTopLevelCompositor(nsBaseWidget*, mozilla::layers::WebRenderLayerManager*, mozilla::gfx::ScaleFactor<mozilla::CSSPixel, mozilla::LayoutDevicePixel>, mozilla::layers::CompositorOptions const&, bool, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, unsigned long, bool*) mozilla-central/gfx/ipc/GPUProcessManager.cpp:990:15 (libxul.so+0x621e069) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #10 nsBaseWidget::CreateCompositorSession(int, int, mozilla::layers::CompositorOptions*) mozilla-central/widget/nsBaseWidget.cpp:1421:31 (libxul.so+0x9b6fd00) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #11 nsBaseWidget::CreateCompositor(int, int) mozilla-central/widget/nsBaseWidget.cpp:1480:7 (libxul.so+0x9b6fff6) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #12 nsBaseWidget::CreateCompositor() mozilla-central/widget/nsBaseWidget.cpp:988:3 (libxul.so+0x9b6da49) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #13 nsBaseWidget::GetWindowRenderer() mozilla-central/widget/nsBaseWidget.cpp:1546:7 (libxul.so+0x9b704fc) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #14 nsWindow::GetWindowRenderer() mozilla-central/widget/gtk/nsWindow.cpp:8708:24 (libxul.so+0x9c42b29) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #15 mozilla::PresShell::PaintAndRequestComposite(nsView*, mozilla::PaintFlags) mozilla-central/layout/base/PresShell.cpp:6285:50 (libxul.so+0xa0209c3) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #16 nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) mozilla-central/view/nsViewManager.cpp:433:18 (libxul.so+0x9b5dea3) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #17 nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) mozilla-central/view/nsViewManager.cpp:368:22 (libxul.so+0x9b5d91c) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #18 nsViewManager::ProcessPendingUpdates() mozilla-central/view/nsViewManager.cpp:941:5 (libxul.so+0x9b5f6a4) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #19 nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsRefreshDriver::IsExtraTick) mozilla-central/layout/base/nsRefreshDriver.cpp:2824:11 (libxul.so+0x9fcd483) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #20 nsRefreshDriver::EnsureTimerStarted(nsRefreshDriver::EnsureTimerStartedFlags)::$_1::operator()() const mozilla-central/layout/base/nsRefreshDriver.cpp:1780:25 (libxul.so+0x9fd3471) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #21 mozilla::detail::RunnableFunction<nsRefreshDriver::EnsureTimerStarted(nsRefreshDriver::EnsureTimerStartedFlags)::$_1>::Run() mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:547:5 (libxul.so+0x9fd3471)
    #22 mozilla::RunnableTask::Run() mozilla-central/xpcom/threads/TaskController.cpp:553:16 (libxul.so+0x4ad3d1f) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #23 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) mozilla-central/xpcom/threads/TaskController.cpp:867:26 (libxul.so+0x4ac9ae0) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #24 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) mozilla-central/xpcom/threads/TaskController.cpp:698:15 (libxul.so+0x4ac8096) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #25 mozilla::TaskController::ProcessPendingMTTask(bool) mozilla-central/xpcom/threads/TaskController.cpp:464:36 (libxul.so+0x4ac8470) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #26 mozilla::TaskController::InitializeInternal()::$_3::operator()() const mozilla-central/xpcom/threads/TaskController.cpp:188:37 (libxul.so+0x4aca437) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #27 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:547:5 (libxul.so+0x4aca437)
    #28 nsThread::ProcessNextEvent(bool, bool*) mozilla-central/xpcom/threads/nsThread.cpp:1239:16 (libxul.so+0x4aeb4b5) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #29 NS_ProcessNextEvent(nsIThread*, bool) mozilla-central/xpcom/threads/nsThreadUtils.cpp:477:10 (libxul.so+0x4af1636) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #30 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) mozilla-central/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x581597b) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #31 MessageLoop::RunInternal() mozilla-central/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x572efb7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #32 MessageLoop::RunHandler() mozilla-central/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x572efb7)
    #33 MessageLoop::Run() mozilla-central/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x572efb7)
    #34 nsBaseAppShell::Run() mozilla-central/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x9bdb4f6) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #35 nsAppStartup::Run() mozilla-central/toolkit/components/startup/nsAppStartup.cpp:295:30 (libxul.so+0xc599643) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #36 XREMain::XRE_mainRun() mozilla-central/toolkit/xre/nsAppRunner.cpp:5643:22 (libxul.so+0xc6fcf63) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #37 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5843:8 (libxul.so+0xc6fdacb) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #38 XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5899:21 (libxul.so+0xc6fe071) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #39 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xc70c732) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #40 do_main(int, char**, char**) mozilla-central/browser/app/nsBrowserApp.cpp:226:22 (firefox+0x143c71) (BuildId: 471e50338e26568e34de82d2372537c2)
    #41 main mozilla-central/browser/app/nsBrowserApp.cpp:423:16 (firefox+0x143c71)

  Mutex M1 (0x7b28000af830) created at:
    #0 pthread_mutex_init /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1316:3 (firefox+0xc45cf) (BuildId: 471e50338e26568e34de82d2372537c2)
    #1 mozilla::detail::MutexImpl::MutexImpl() mozilla-central/mozglue/misc/Mutex_posix.cpp:78:3 (firefox+0x1b0092) (BuildId: 471e50338e26568e34de82d2372537c2)
    #2 mozilla::OffTheBooksMutex::OffTheBooksMutex(char const*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:46:12 (libxul.so+0x9cae798) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #3 mozilla::Mutex::Mutex(char const*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:125:39 (libxul.so+0x9cae798)
    #4 mozilla::widget::WindowSurfaceWaylandMB::WindowSurfaceWaylandMB(RefPtr<nsWindow>, mozilla::widget::GtkCompositorWidget*) mozilla-central/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp:158:7 (libxul.so+0x9cae798)
    #5 RefPtr<mozilla::widget::WindowSurfaceWaylandMB> mozilla::MakeRefPtr<mozilla::widget::WindowSurfaceWaylandMB, RefPtr<nsWindow>&, mozilla::widget::GtkCompositorWidget*&>(RefPtr<nsWindow>&, mozilla::widget::GtkCompositorWidget*&) mozilla-central/objdir-ff-tsan/dist/include/mozilla/RefPtr.h:642:19 (libxul.so+0x9cae798)
    #6 mozilla::widget::WindowSurfaceProvider::CreateWindowSurface() mozilla-central/widget/gtk/WindowSurfaceProvider.cpp:98:12 (libxul.so+0x9cae798)
    #7 mozilla::widget::WindowSurfaceProvider::StartRemoteDrawingInRegion(mozilla::gfx::IntRegionTyped<mozilla::LayoutDevicePixel> const&, mozilla::layers::BufferMode*) mozilla-central/widget/gtk/WindowSurfaceProvider.cpp:142:22 (libxul.so+0x9caf040) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #8 mozilla::widget::GtkCompositorWidget::StartRemoteDrawingInRegion(mozilla::gfx::IntRegionTyped<mozilla::LayoutDevicePixel> const&, mozilla::layers::BufferMode*) mozilla-central/widget/gtk/GtkCompositorWidget.cpp:75:20 (libxul.so+0x9c79db9) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #9 mozilla::wr::RenderCompositorSWGL::AllocateMappedBuffer(mozilla::wr::Box2D<int, mozilla::wr::DevicePixel> const*, unsigned long) mozilla-central/gfx/webrender_bindings/RenderCompositorSWGL.cpp:80:18 (libxul.so+0x62e296d) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #10 mozilla::wr::RenderCompositorSWGL::StartCompositing(mozilla::wr::ColorF, mozilla::wr::Box2D<int, mozilla::wr::DevicePixel> const*, unsigned long, mozilla::wr::Box2D<int, mozilla::wr::DevicePixel> const*, unsigned long) mozilla-central/gfx/webrender_bindings/RenderCompositorSWGL.cpp:193:8 (libxul.so+0x62e3cd2) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #11 wr_compositor_start_compositing mozilla-central/gfx/webrender_bindings/RenderCompositor.cpp:112:15 (libxul.so+0x62d6677) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #12 _$LT$webrender_bindings..bindings..WrCompositor$u20$as$u20$webrender..composite..Compositor$GT$::start_compositing::ha29794c0120b4fad mozilla-central/gfx/webrender_bindings/src/bindings.rs:1378:13 (libxul.so+0xe22a54a) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #13 _$LT$webrender..compositor..sw_compositor..SwCompositor$u20$as$u20$webrender..composite..Compositor$GT$::start_compositing::ha26432bb78aac764 mozilla-central/gfx/wr/webrender/src/compositor/sw_compositor.rs:1435:9 (libxul.so+0xe309ff7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #14 webrender::renderer::_$LT$impl$u20$webrender..composite..CompositeState$GT$::composite_native::hc32eb09e484743ac mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:5731:9 (libxul.so+0xe6420c5) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #15 webrender::renderer::Renderer::draw_frame::h97175dcc347bec61 mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:4319:17 (libxul.so+0xe399b63) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #16 webrender::renderer::Renderer::render_impl::h4c5d4dd310f7e0f0 mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:1480:17 (libxul.so+0xe39207a) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #17 webrender::renderer::Renderer::render::h485ad1d54f49b84b mozilla-central/gfx/wr/webrender/src/renderer/mod.rs:1197:30 (libxul.so+0xe390dcd) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #18 wr_renderer_render mozilla-central/gfx/webrender_bindings/src/bindings.rs:614:11 (libxul.so+0xe227fe7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #19 mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*, mozilla::wr::RendererStats*) mozilla-central/gfx/webrender_bindings/RendererOGL.cpp:186:19 (libxul.so+0x62eedc0) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #20 mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId, mozilla::layers::BaseTransactionId<mozilla::VsyncIdType> const&, mozilla::TimeStamp const&, bool, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*) mozilla-central/gfx/webrender_bindings/RenderThread.cpp:597:31 (libxul.so+0x62edb3e) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #21 mozilla::wr::RenderThread::HandleFrameOneDocInner(mozilla::wr::WrWindowId, bool, bool) mozilla-central/gfx/webrender_bindings/RenderThread.cpp:454:3 (libxul.so+0x62ecfcc) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #22 mozilla::wr::RenderThread::HandleFrameOneDoc(mozilla::wr::WrWindowId, bool, bool) mozilla-central/gfx/webrender_bindings/RenderThread.cpp:406:3 (libxul.so+0x62eca60) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #23 decltype(*fp.*fp0(Get<0ul>(fp1).PassAsParameter(), Get<1ul>(fp1).PassAsParameter(), Get<2ul>(fp1).PassAsParameter())) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool, bool>::applyImpl<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByConstLRef<bool>, StoreCopyPassByConstLRef<bool>, 0ul, 1ul, 2ul>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool), mozilla::Tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByConstLRef<bool>, StoreCopyPassByConstLRef<bool>>&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1163:12 (libxul.so+0x62fbd31) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #24 decltype(applyImpl(fp, fp0, (*this).mArguments, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>{})) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool, bool>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool)) mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1169:12 (libxul.so+0x62fbd31)
    #25 mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool, bool), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId, bool, bool>::Run() mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1216:13 (libxul.so+0x62fbd31)
    #26 nsThread::ProcessNextEvent(bool, bool*) mozilla-central/xpcom/threads/nsThread.cpp:1233:16 (libxul.so+0x4aeb7b8) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #27 NS_ProcessNextEvent(nsIThread*, bool) mozilla-central/xpcom/threads/nsThreadUtils.cpp:477:10 (libxul.so+0x4af1636) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #28 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) mozilla-central/ipc/glue/MessagePump.cpp:330:5 (libxul.so+0x5816608) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #29 MessageLoop::RunInternal() mozilla-central/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x572efb7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #30 MessageLoop::RunHandler() mozilla-central/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x572efb7)
    #31 MessageLoop::Run() mozilla-central/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x572efb7)
    #32 nsThread::ThreadFunc(void*) mozilla-central/xpcom/threads/nsThread.cpp:391:10 (libxul.so+0x4ae6952) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #33 _pt_root mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x512b3) (BuildId: e971b221dae972090b89a93b98809d21)

  Mutex M2 (0x7b0c00127650) created at:
    #0 pthread_mutex_init /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1316:3 (firefox+0xc45cf) (BuildId: 471e50338e26568e34de82d2372537c2)
    #1 mozilla::detail::MutexImpl::MutexImpl() mozilla-central/mozglue/misc/Mutex_posix.cpp:78:3 (firefox+0x1b0092) (BuildId: 471e50338e26568e34de82d2372537c2)
    #2 mozilla::OffTheBooksMutex::OffTheBooksMutex(char const*) mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:46:12 (libxul.so+0x9d04abd) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #3 mozilla::StaticMutex::Mutex() mozilla-central/objdir-ff-tsan/dist/include/mozilla/StaticMutex.h:55:35 (libxul.so+0x9d04abd)
    #4 mozilla::StaticMutex::Lock() mozilla-central/objdir-ff-tsan/dist/include/mozilla/StaticMutex.h:39:42 (libxul.so+0x9d04abd)
    #5 mozilla::detail::BaseAutoLock<mozilla::StaticMutex&>::BaseAutoLock(mozilla::StaticMutex&) mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:236:11 (libxul.so+0x9d04abd)
    #6 mozilla::widget::WaylandDisplayGet(_GdkDisplay*) mozilla-central/widget/gtk/nsWaylandDisplay.cpp:68:23 (libxul.so+0x9d04abd)
    #7 moz_container_wayland_surface_create_locked(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&, _MozContainer*) mozilla-central/widget/gtk/MozContainerWayland.cpp:628:38 (libxul.so+0x9c97430) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #8 moz_container_wayland_size_allocate(_GtkWidget*, _cairo_rectangle_int*) mozilla-central/widget/gtk/MozContainerWayland.cpp:487:12 (libxul.so+0x9c8f653) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #9 g_closure_invoke <null> (libgobject-2.0.so.0+0x14c6b) (BuildId: 44f60e584780daaeb1880ead5dd00f12ffd423d2)
    #10 nsBaseAppShell::DoProcessNextNativeEvent(bool) mozilla-central/widget/nsBaseAppShell.cpp:131:17 (libxul.so+0x9bdb936) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #11 nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) mozilla-central/widget/nsBaseAppShell.cpp:250:19 (libxul.so+0x9bdb936)
    #12 non-virtual thunk to nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) mozilla-central/widget/nsBaseAppShell.cpp (libxul.so+0x9bdbde8) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #13 nsThread::ProcessNextEvent(bool, bool*) mozilla-central/xpcom/threads/nsThread.cpp:1153:10 (libxul.so+0x4aeaf30) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #14 NS_ProcessNextEvent(nsIThread*, bool) mozilla-central/xpcom/threads/nsThreadUtils.cpp:477:10 (libxul.so+0x4af1636) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #15 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) mozilla-central/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x581597b) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #16 MessageLoop::RunInternal() mozilla-central/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x572efb7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #17 MessageLoop::RunHandler() mozilla-central/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x572efb7)
    #18 MessageLoop::Run() mozilla-central/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x572efb7)
    #19 nsBaseAppShell::Run() mozilla-central/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x9bdb4f6) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #20 nsAppStartup::Run() mozilla-central/toolkit/components/startup/nsAppStartup.cpp:295:30 (libxul.so+0xc599643) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #21 XREMain::XRE_mainRun() mozilla-central/toolkit/xre/nsAppRunner.cpp:5643:22 (libxul.so+0xc6fcf63) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #22 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5843:8 (libxul.so+0xc6fdacb) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #23 XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5899:21 (libxul.so+0xc6fe071) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #24 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xc70c732) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #25 do_main(int, char**, char**) mozilla-central/browser/app/nsBrowserApp.cpp:226:22 (firefox+0x143c71) (BuildId: 471e50338e26568e34de82d2372537c2)
    #26 main mozilla-central/browser/app/nsBrowserApp.cpp:423:16 (firefox+0x143c71)

  Thread T38 'Renderer' (tid=12978, running) created by main thread at:
    #0 pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1022:3 (firefox+0xc2dfd) (BuildId: 471e50338e26568e34de82d2372537c2)
    #1 _PR_CreateThread mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:458:14 (libnspr4.so+0x4835f) (BuildId: e971b221dae972090b89a93b98809d21)
    #2 PR_CreateThread mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:533:12 (libnspr4.so+0x3d175) (BuildId: e971b221dae972090b89a93b98809d21)
    #3 nsThread::Init(nsTSubstring<char> const&) mozilla-central/xpcom/threads/nsThread.cpp:633:18 (libxul.so+0x4ae8547) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #4 nsThreadManager::NewNamedThread(nsTSubstring<char> const&, nsIThreadManager::ThreadCreationOptions, nsIThread**) mozilla-central/xpcom/threads/nsThreadManager.cpp:548:12 (libxul.so+0x4af090f) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #5 NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, already_AddRefed<nsIRunnable>, nsIThreadManager::ThreadCreationOptions) mozilla-central/xpcom/threads/nsThreadUtils.cpp:173:57 (libxul.so+0x4af9475) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #6 nsresult NS_NewNamedThread<9ul>(char const (&) [9ul], nsIThread**, already_AddRefed<nsIRunnable>, nsIThreadManager::ThreadCreationOptions) mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:75:10 (libxul.so+0x62ea0d6) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #7 mozilla::wr::RenderThread::Start(unsigned int) mozilla-central/gfx/webrender_bindings/RenderThread.cpp:125:17 (libxul.so+0x62ea0d6)
    #8 gfxPlatform::InitLayersIPC() mozilla-central/gfx/thebes/gfxPlatform.cpp:1317:7 (libxul.so+0x613b22f) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #9 gfxPlatform::Init() mozilla-central/gfx/thebes/gfxPlatform.cpp:974:3 (libxul.so+0x6138fa1) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #10 gfxPlatform::GetPlatform() mozilla-central/gfx/thebes/gfxPlatform.cpp:464:5 (libxul.so+0x613ae4a) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #11 gfxPlatform::InitializeCMS() mozilla-central/gfx/thebes/gfxPlatform.cpp:2109:9 (libxul.so+0x613ae4a)
    #12 gfxPlatform::EnsureCMSInitialized() mozilla-central/objdir-ff-tsan/dist/include/gfxPlatform.h:968:7 (libxul.so+0x9c0636a) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #13 gfxPlatform::GetCMSMode() mozilla-central/objdir-ff-tsan/dist/include/gfxPlatform.h:519:5 (libxul.so+0x9c0636a)
    #14 nsXPLookAndFeel::GetUncachedColor(mozilla::StyleSystemColor, mozilla::ColorScheme, mozilla::LookAndFeel::UseStandins) mozilla-central/widget/nsXPLookAndFeel.cpp:1008:9 (libxul.so+0x9c0636a)
    #15 nsXPLookAndFeel::GetColorValue(mozilla::StyleSystemColor, mozilla::ColorScheme, mozilla::LookAndFeel::UseStandins, unsigned int&) mozilla-central/widget/nsXPLookAndFeel.cpp:988:17 (libxul.so+0x9c05f34) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #16 mozilla::LookAndFeel::GetColor(mozilla::StyleSystemColor, mozilla::ColorScheme, mozilla::LookAndFeel::UseStandins) mozilla-central/widget/nsXPLookAndFeel.cpp:1431:47 (libxul.so+0x9c080f6) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #17 mozilla::LookAndFeel::Color(mozilla::StyleSystemColor, mozilla::ColorScheme, mozilla::LookAndFeel::UseStandins, unsigned int) mozilla-central/objdir-ff-tsan/dist/include/mozilla/LookAndFeel.h:460:12 (libxul.so+0x9bb52bb) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #18 mozilla::widget::GetAccentColor(bool, mozilla::ColorScheme) mozilla-central/widget/ThemeColors.cpp:91:7 (libxul.so+0x9bb52bb)
    #19 mozilla::widget::ThemeColors::RecomputeAccentColors() mozilla-central/widget/ThemeColors.cpp:195:20 (libxul.so+0x9bb52bb)
    #20 mozilla::widget::Theme::LookAndFeelChanged() mozilla-central/widget/Theme.cpp:182:3 (libxul.so+0x9bb50c7) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #21 mozilla::widget::Theme::Init() mozilla-central/widget/Theme.cpp:171:3 (libxul.so+0x9bb508a) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #22 nsXPLookAndFeel::GetInstance() mozilla-central/widget/nsXPLookAndFeel.cpp:408:3 (libxul.so+0x9c04e5c) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #23 mozilla::LookAndFeel::GetThemeInfo(nsTSubstring<char>&) mozilla-central/widget/nsXPLookAndFeel.cpp:1544:3 (libxul.so+0x9c08668) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #24 nsSystemInfo::Init() mozilla-central/xpcom/base/nsSystemInfo.cpp:1081:5 (libxul.so+0x4a0a5d5) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #25 mozilla::xpcom::CreateInstanceImpl(mozilla::xpcom::ModuleID, nsID const&, void**) mozilla-central/objdir-ff-tsan/xpcom/components/StaticComponents.cpp:11922:7 (libxul.so+0x4aa8551) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #26 mozilla::xpcom::StaticModule::CreateInstance(nsID const&, void**) const mozilla-central/objdir-ff-tsan/xpcom/components/StaticComponents.cpp:12987:10 (libxul.so+0x4aab937) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #27 (anonymous namespace)::EntryWrapper::CreateInstance(nsID const&, void**) mozilla-central/xpcom/components/nsComponentManager.cpp:184:46 (libxul.so+0x4ab7dea) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #28 nsComponentManagerImpl::GetServiceLocked(mozilla::Maybe<mozilla::detail::BaseMonitorAutoLock<mozilla::Monitor>>&, (anonymous namespace)::EntryWrapper&, nsID const&, void**) mozilla-central/xpcom/components/nsComponentManager.cpp:971:17 (libxul.so+0x4ab7dea)
    #29 nsComponentManagerImpl::GetService(mozilla::xpcom::ModuleID, nsID const&, void**) mozilla-central/xpcom/components/nsComponentManager.cpp:1061:10 (libxul.so+0x4ab8371) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #30 mozilla::xpcom::GetServiceHelper::operator()(nsID const&, void**) const mozilla-central/objdir-ff-tsan/xpcom/components/StaticComponents.cpp:13129:50 (libxul.so+0x4aac5aa) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #31 nsCOMPtr_base::assign_from_helper(nsCOMPtr_helper const&, nsID const&) mozilla-central/xpcom/base/nsCOMPtr.cpp:109:7 (libxul.so+0x49de1df) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #32 nsCOMPtr<nsISupports>::nsCOMPtr(nsCOMPtr_helper const&) mozilla-central/objdir-ff-tsan/dist/include/nsCOMPtr.h:1032:5 (libxul.so+0x59ab978) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #33 xpc::GetServiceImpl(JSContext*, mozilla::xpcom::JSServiceEntry const&, JS::MutableHandle<JSObject*>, mozilla::ErrorResult&) mozilla-central/js/xpconnect/src/JSServices.cpp:83:32 (libxul.so+0x59ab978)
    #34 xpc::GetService(JSContext*, mozilla::xpcom::JSServiceEntry const&, mozilla::ErrorResult&) mozilla-central/js/xpconnect/src/JSServices.cpp:130:8 (libxul.so+0x59ab978)
    #35 xpc::Services_Resolve(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::PropertyKey>, bool*) mozilla-central/js/xpconnect/src/JSServices.cpp:153:25 (libxul.so+0x59ab978)
    #36 js::CallResolveOp(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::PropertyKey>, js::PropertyResult*) mozilla-central/js/src/vm/NativeObject-inl.h:626:8 (libxul.so+0xcb2bcb2) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #37 bool js::NativeLookupOwnPropertyInline<(js::AllowGC)1, (js::LookupResolveMode)1>(JSContext*, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::PropertyKey, (js::AllowGC)1>::HandleType, js::PropertyResult*) mozilla-central/js/src/vm/NativeObject-inl.h:738:14 (libxul.so+0xcb2bcb2)
    #38 bool NativeGetPropertyInline<(js::AllowGC)1>(JSContext*, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::Value, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::PropertyKey, (js::AllowGC)1>::HandleType, IsNameLookup, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) mozilla-central/js/src/vm/NativeObject.cpp:2179:10 (libxul.so+0xcb2bcb2)
    #39 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/NativeObject.cpp:2227:10 (libxul.so+0xcb2bcb2)
    #40 js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/ObjectOperations-inl.h:118:10 (libxul.so+0xc96efb0) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #41 js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/ObjectOperations-inl.h:125:10 (libxul.so+0xc96efb0)
    #42 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/Interpreter.cpp:4726:10 (libxul.so+0xc96efb0)
    #43 GetPropertyOperation(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/Interpreter.cpp:245:10 (libxul.so+0xc95d2b3) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #44 Interpret(JSContext*, js::RunState&) mozilla-central/js/src/vm/Interpreter.cpp:3023:12 (libxul.so+0xc95d2b3)
    #45 js::RunScript(JSContext*, js::RunState&) mozilla-central/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xc953e9f) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #46 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) mozilla-central/js/src/vm/Interpreter.cpp:585:13 (libxul.so+0xc96ae78) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #47 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc96ba93) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #48 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) mozilla-central/js/src/vm/Interpreter.cpp:652:8 (libxul.so+0xc96ba93)
    #49 js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/Interpreter.cpp:774:10 (libxul.so+0xc96c7b4) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #50 CallGetter(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, js::PropertyInfoBase<unsigned int>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/NativeObject.cpp:2020:12 (libxul.so+0xcb2c2b2) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #51 bool GetExistingProperty<(js::AllowGC)1>(JSContext*, js::MaybeRooted<JS::Value, (js::AllowGC)1>::HandleType, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::PropertyKey, (js::AllowGC)1>::HandleType, js::PropertyInfoBase<unsigned int>, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) mozilla-central/js/src/vm/NativeObject.cpp:2048:12 (libxul.so+0xcb2c2b2)
    #52 bool NativeGetPropertyInline<(js::AllowGC)1>(JSContext*, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::Value, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::PropertyKey, (js::AllowGC)1>::HandleType, IsNameLookup, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) mozilla-central/js/src/vm/NativeObject.cpp:2196:14 (libxul.so+0xcb2c2b2)
    #53 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/NativeObject.cpp:2227:10 (libxul.so+0xcb2c2b2)
    #54 js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/ObjectOperations-inl.h:118:10 (libxul.so+0xc96efb0) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #55 js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/ObjectOperations-inl.h:125:10 (libxul.so+0xc96efb0)
    #56 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/Interpreter.cpp:4726:10 (libxul.so+0xc96efb0)
    #57 GetPropertyOperation(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/Interpreter.cpp:245:10 (libxul.so+0xc95d2b3) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #58 Interpret(JSContext*, js::RunState&) mozilla-central/js/src/vm/Interpreter.cpp:3023:12 (libxul.so+0xc95d2b3)
    #59 js::RunScript(JSContext*, js::RunState&) mozilla-central/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xc953e9f) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #60 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) mozilla-central/js/src/vm/Interpreter.cpp:585:13 (libxul.so+0xc96ae78) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #61 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc96ba93) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #62 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) mozilla-central/js/src/vm/Interpreter.cpp:652:8 (libxul.so+0xc96ba93)
    #63 JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) mozilla-central/js/src/vm/CallAndConstruct.cpp:53:10 (libxul.so+0xca02666) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #64 nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*) mozilla-central/js/xpconnect/src/XPCWrappedJSClass.cpp:918:17 (libxul.so+0x59ce04f) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #65 PrepareAndDispatch mozilla-central/xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:115:37 (libxul.so+0x4b20649) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #66 SharedStub xptcstubs_x86_64_linux.cpp (libxul.so+0x4b1f9aa) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #67 nsXREDirProvider::DoStartup() mozilla-central/toolkit/xre/nsXREDirProvider.cpp:811:11 (libxul.so+0xc70f6af) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #68 XREMain::XRE_mainRun() mozilla-central/toolkit/xre/nsAppRunner.cpp:5388:18 (libxul.so+0xc6fc88b) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #69 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5843:8 (libxul.so+0xc6fdacb) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #70 XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/nsAppRunner.cpp:5899:21 (libxul.so+0xc6fe071) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #71 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xc70c732) (BuildId: bb39684387d95478c813c1bdd7c723e3)
    #72 do_main(int, char**, char**) mozilla-central/browser/app/nsBrowserApp.cpp:226:22 (firefox+0x143c71) (BuildId: 471e50338e26568e34de82d2372537c2)
    #73 main mozilla-central/browser/app/nsBrowserApp.cpp:423:16 (firefox+0x143c71)

Okay, let's move arrayLock() up.

Assignee: nobody → stransky
Status: NEW → ASSIGNED
Flags: needinfo?(stransky)

As above, but with a bit more type safety, plus a TLS cache so we don't
need to lock in the common case we have already initialized the wayland
display.

Attachment #9325675 - Attachment is obsolete: true
Group: layout-core-security → core-security-release
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch

The patch landed in nightly and beta is affected.
:stransky, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox112 to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(stransky)
Flags: needinfo?(stransky)
Whiteboard: [adv-main113-]
QA Whiteboard: [post-critsmash-triage]
Whiteboard: [adv-main113-] → [adv-main113+r]
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: