Closed Bug 1826684 Opened 2 years ago Closed 2 years ago

ThreadSanitizer: data race [@ nsWindow::GdkCeiledScaleFactor] vs. [@ nsWindow::GdkCeiledScaleFactor] triggered by user interaction with browser chrome

Categories

(Core :: Widget: Gtk, defect)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1844543
Tracking Status
firefox113 --- wontfix
firefox114 --- affected
firefox115 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: csectype-race)

Found with m-c 20230405-bd028b83ef49 (--enable-thread-sanitizer --enable-fuzzing)

This was triggered while using the UI on a TSan build.

WARNING: ThreadSanitizer: data race (pid=139599)
  Write of size 4 at 0x7b60006a959c by main thread:
    #0 nsWindow::GdkCeiledScaleFactor() /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:8906:24 (libxul.so+0x9be9d1a) (BuildId: 6f1594188bfab15615662304976916ae)
    #1 nsWindow::GetDesktopToDeviceScale() /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:699:39 (libxul.so+0x9be9bf7) (BuildId: 6f1594188bfab15615662304976916ae)
    #2 nsBaseWidget::ResizeClient(mozilla::gfx::SizeTyped<mozilla::DesktopPixel, float> const&, bool) /home/twsmith/code/mozilla-central/widget/nsBaseWidget.cpp:1641:9 (libxul.so+0x9b351cc) (BuildId: 6f1594188bfab15615662304976916ae)
    #3 nsView::DoResetWidgetBounds(bool, bool) /home/twsmith/code/mozilla-central/view/nsView.cpp:370:15 (libxul.so+0x9b1cd61) (BuildId: 6f1594188bfab15615662304976916ae)
    #4 nsView::ResetWidgetBounds(bool, bool) /home/twsmith/code/mozilla-central/view/nsView.cpp:192:7 (libxul.so+0x9b21d91) (BuildId: 6f1594188bfab15615662304976916ae)
    #5 nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) /home/twsmith/code/mozilla-central/view/nsViewManager.cpp:354:13 (libxul.so+0x9b21d91)
    #6 nsViewManager::ProcessPendingUpdates() /home/twsmith/code/mozilla-central/view/nsViewManager.cpp:941:5 (libxul.so+0x9b23c94) (BuildId: 6f1594188bfab15615662304976916ae)
    #7 nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsRefreshDriver::IsExtraTick) /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:2824:11 (libxul.so+0x9f8fba3) (BuildId: 6f1594188bfab15615662304976916ae)
    #8 mozilla::RefreshDriverTimer::TickDriver(nsRefreshDriver*, mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:373:13 (libxul.so+0x9f9af0e) (BuildId: 6f1594188bfab15615662304976916ae)
    #9 mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver>>&) /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:351:7 (libxul.so+0x9f9af0e)
    #10 mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:367:5 (libxul.so+0x9f9ad16) (BuildId: 6f1594188bfab15615662304976916ae)
    #11 mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:911:5 (libxul.so+0x9f9ab1e) (BuildId: 6f1594188bfab15615662304976916ae)
    #12 mozilla::VsyncRefreshDriverTimer::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:825:5 (libxul.so+0x9f9a12c) (BuildId: 6f1594188bfab15615662304976916ae)
    #13 mozilla::VsyncRefreshDriverTimer::NotifyVsyncOnMainThread(mozilla::VsyncEvent const&) /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:746:5 (libxul.so+0x9f9993e) (BuildId: 6f1594188bfab15615662304976916ae)
    #14 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsyncTimerOnMainThread() /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:592:14 (libxul.so+0x9f99337) (BuildId: 6f1594188bfab15615662304976916ae)
    #15 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&)::'lambda'()::operator()() const /home/twsmith/code/mozilla-central/layout/base/nsRefreshDriver.cpp:564:23 (libxul.so+0x9f9b24f) (BuildId: 6f1594188bfab15615662304976916ae)
    #16 mozilla::detail::RunnableFunction<mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&)::'lambda'()>::Run() /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:548:5 (libxul.so+0x9f9b24f)
    #17 mozilla::PrioritizableRunnable::Run() /home/twsmith/code/mozilla-central/xpcom/threads/nsThreadUtils.cpp:134:21 (libxul.so+0x4aaa745) (BuildId: 6f1594188bfab15615662304976916ae)
    #18 mozilla::RunnableTask::Run() /home/twsmith/code/mozilla-central/xpcom/threads/TaskController.cpp:553:16 (libxul.so+0x4a867df) (BuildId: 6f1594188bfab15615662304976916ae)
    #19 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /home/twsmith/code/mozilla-central/xpcom/threads/TaskController.cpp:869:26 (libxul.so+0x4a7c5a0) (BuildId: 6f1594188bfab15615662304976916ae)
    #20 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /home/twsmith/code/mozilla-central/xpcom/threads/TaskController.cpp:700:15 (libxul.so+0x4a7ab56) (BuildId: 6f1594188bfab15615662304976916ae)
    #21 mozilla::TaskController::ProcessPendingMTTask(bool) /home/twsmith/code/mozilla-central/xpcom/threads/TaskController.cpp:464:36 (libxul.so+0x4a7af30) (BuildId: 6f1594188bfab15615662304976916ae)
    #22 mozilla::TaskController::TaskController()::$_3::operator()() const /home/twsmith/code/mozilla-central/xpcom/threads/TaskController.cpp:191:37 (libxul.so+0x4a7cef7) (BuildId: 6f1594188bfab15615662304976916ae)
    #23 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_3>::Run() /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:548:5 (libxul.so+0x4a7cef7)
    #24 nsThread::ProcessNextEvent(bool, bool*) /home/twsmith/code/mozilla-central/xpcom/threads/nsThread.cpp:1239:16 (libxul.so+0x4a9d4b5) (BuildId: 6f1594188bfab15615662304976916ae)
    #25 NS_ProcessNextEvent(nsIThread*, bool) /home/twsmith/code/mozilla-central/xpcom/threads/nsThreadUtils.cpp:479:10 (libxul.so+0x4aa3756) (BuildId: 6f1594188bfab15615662304976916ae)
    #26 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/twsmith/code/mozilla-central/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x57c97fb) (BuildId: 6f1594188bfab15615662304976916ae)
    #27 MessageLoop::RunInternal() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x56e2dd7) (BuildId: 6f1594188bfab15615662304976916ae)
    #28 MessageLoop::RunHandler() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x56e2dd7)
    #29 MessageLoop::Run() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x56e2dd7)
    #30 nsBaseAppShell::Run() /home/twsmith/code/mozilla-central/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x9b9fb36) (BuildId: 6f1594188bfab15615662304976916ae)
    #31 nsAppStartup::Run() /home/twsmith/code/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:295:30 (libxul.so+0xc549863) (BuildId: 6f1594188bfab15615662304976916ae)
    #32 XREMain::XRE_mainRun() /home/twsmith/code/mozilla-central/toolkit/xre/nsAppRunner.cpp:5643:22 (libxul.so+0xc6acfa3) (BuildId: 6f1594188bfab15615662304976916ae)
    #33 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/twsmith/code/mozilla-central/toolkit/xre/nsAppRunner.cpp:5843:8 (libxul.so+0xc6adb0b) (BuildId: 6f1594188bfab15615662304976916ae)
    #34 XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/twsmith/code/mozilla-central/toolkit/xre/nsAppRunner.cpp:5899:21 (libxul.so+0xc6ae0b1) (BuildId: 6f1594188bfab15615662304976916ae)
    #35 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/twsmith/code/mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xc6bc772) (BuildId: 6f1594188bfab15615662304976916ae)
    #36 do_main(int, char**, char**) /home/twsmith/code/mozilla-central/browser/app/nsBrowserApp.cpp:226:22 (firefox+0x143cb1) (BuildId: 9a576a09df15e458894ea639dcda1aab)
    #37 main /home/twsmith/code/mozilla-central/browser/app/nsBrowserApp.cpp:423:16 (firefox+0x143cb1)

  Previous write of size 4 at 0x7b60006a959c by thread T41:
    #0 nsWindow::GdkCeiledScaleFactor() /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:8906:24 (libxul.so+0x9be9d1a) (BuildId: 6f1594188bfab15615662304976916ae)
    #1 nsWindow::SetEGLNativeWindowSize(mozilla::gfx::IntSizeTyped<mozilla::LayoutDevicePixel> const&) /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:9701:55 (libxul.so+0x9c1f7f3) (BuildId: 6f1594188bfab15615662304976916ae)
    #2 mozilla::widget::GtkCompositorWidget::SetEGLNativeWindowSize(mozilla::gfx::IntSizeTyped<mozilla::LayoutDevicePixel> const&) /home/twsmith/code/mozilla-central/widget/gtk/GtkCompositorWidget.cpp:139:14 (libxul.so+0x9c3e810) (BuildId: 6f1594188bfab15615662304976916ae)
    #3 mozilla::wr::RenderCompositorEGL::BeginFrame() /home/twsmith/code/mozilla-central/gfx/webrender_bindings/RenderCompositorEGL.cpp:93:23 (libxul.so+0x628ba32) (BuildId: 6f1594188bfab15615662304976916ae)
    #4 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*) /home/twsmith/code/mozilla-central/gfx/webrender_bindings/RendererOGL.cpp:168:57 (libxul.so+0x62a3a6a) (BuildId: 6f1594188bfab15615662304976916ae)
    #5 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*) /home/twsmith/code/mozilla-central/gfx/webrender_bindings/RenderThread.cpp:786:31 (libxul.so+0x62a2a2e) (BuildId: 6f1594188bfab15615662304976916ae)
    #6 mozilla::wr::RenderThread::HandleFrameOneDocInner(mozilla::wr::WrWindowId, bool, bool, mozilla::Maybe<mozilla::wr::FramePublishId>) /home/twsmith/code/mozilla-central/gfx/webrender_bindings/RenderThread.cpp:629:3 (libxul.so+0x62a1de2) (BuildId: 6f1594188bfab15615662304976916ae)
    #7 mozilla::wr::RenderThread::HandleFrameOneDoc(mozilla::wr::WrWindowId, bool, bool, mozilla::Maybe<mozilla::wr::FramePublishId>) /home/twsmith/code/mozilla-central/gfx/webrender_bindings/RenderThread.cpp:576:3 (libxul.so+0x62a128a) (BuildId: 6f1594188bfab15615662304976916ae)
    #8 mozilla::wr::RenderThread::WrNotifierEvent_HandleNewFrameReady(mozilla::wr::WrWindowId, bool, mozilla::wr::FramePublishId) /home/twsmith/code/mozilla-central/gfx/webrender_bindings/RenderThread.cpp:537:3 (libxul.so+0x62a0db7) (BuildId: 6f1594188bfab15615662304976916ae)
    #9 mozilla::wr::RenderThread::HandleWrNotifierEvents(mozilla::wr::WrWindowId) /home/twsmith/code/mozilla-central/gfx/webrender_bindings/RenderThread.cpp:499:9 (libxul.so+0x62a0db7)
    #10 auto decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...)::operator()<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(auto&&...) const /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1164:18 (libxul.so+0x62b135e) (BuildId: 6f1594188bfab15615662304976916ae)
    #11 mozilla::wr::RenderThread std::__invoke_impl<void, decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(std::__invoke_other, void (mozilla::wr::RenderThread::*&&)(mozilla::wr::WrWindowId), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:60:14 (libxul.so+0x62b135e)
    #12 std::__invoke_result<mozilla::wr::RenderThread, StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>::type std::__invoke<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(mozilla::wr::RenderThread&&, StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:95:14 (libxul.so+0x62b135e)
    #13 decltype(auto) std::__apply_impl<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&, 0ul>(mozilla::wr::RenderThread&&, void (mozilla::wr::RenderThread::*&&)(mozilla::wr::WrWindowId), std::integer_sequence<unsigned long, 0ul>) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/tuple:1662:14 (libxul.so+0x62b135e)
    #14 decltype(auto) std::apply<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&>(mozilla::wr::RenderThread&&, void (mozilla::wr::RenderThread::*&&)(mozilla::wr::WrWindowId)) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/tuple:1671:14 (libxul.so+0x62b135e)
    #15 decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1162:12 (libxul.so+0x62b135e)
    #16 mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1213:13 (libxul.so+0x62b135e)
    #17 nsThread::ProcessNextEvent(bool, bool*) /home/twsmith/code/mozilla-central/xpcom/threads/nsThread.cpp:1233:16 (libxul.so+0x4a9d7b8) (BuildId: 6f1594188bfab15615662304976916ae)
    #18 NS_ProcessNextEvent(nsIThread*, bool) /home/twsmith/code/mozilla-central/xpcom/threads/nsThreadUtils.cpp:479:10 (libxul.so+0x4aa3756) (BuildId: 6f1594188bfab15615662304976916ae)
    #19 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /home/twsmith/code/mozilla-central/ipc/glue/MessagePump.cpp:330:5 (libxul.so+0x57ca488) (BuildId: 6f1594188bfab15615662304976916ae)
    #20 MessageLoop::RunInternal() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x56e2dd7) (BuildId: 6f1594188bfab15615662304976916ae)
    #21 MessageLoop::RunHandler() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x56e2dd7)
    #22 MessageLoop::Run() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x56e2dd7)
    #23 nsThread::ThreadFunc(void*) /home/twsmith/code/mozilla-central/xpcom/threads/nsThread.cpp:391:10 (libxul.so+0x4a98952) (BuildId: 6f1594188bfab15615662304976916ae)
    #24 _pt_root /home/twsmith/code/mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x512b3) (BuildId: 840cacd45be3a25a8797600432e74cc3)

  Location is heap block of size 1016 at 0x7b60006a9400 allocated by main thread:
    #0 malloc /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:667:5 (firefox+0xc16d1) (BuildId: 9a576a09df15e458894ea639dcda1aab)
    #1 moz_xmalloc /home/twsmith/code/mozilla-central/memory/mozalloc/mozalloc.cpp:52:15 (firefox+0x145c5b) (BuildId: 9a576a09df15e458894ea639dcda1aab)
    #2 operator new(unsigned long) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x9c1f1f4) (BuildId: 6f1594188bfab15615662304976916ae)
    #3 nsIWidget::CreateChildWindow() /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:9477:32 (libxul.so+0x9c1f1f4)
    #4 nsBaseWidget::AllocateChildPopupWidget() /home/twsmith/code/mozilla-central/widget/nsBaseWidget.h:574:12 (libxul.so+0x9b3a27f) (BuildId: 6f1594188bfab15615662304976916ae)
    #5 nsBaseWidget::CreateChild(mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> const&, mozilla::widget::InitData*, bool) /home/twsmith/code/mozilla-central/widget/nsBaseWidget.cpp:460:14 (libxul.so+0x9b2fd91) (BuildId: 6f1594188bfab15615662304976916ae)
    #6 nsView::CreateWidgetForPopup(mozilla::widget::InitData*, nsIWidget*) /home/twsmith/code/mozilla-central/view/nsView.cpp (libxul.so+0x9b1e509) (BuildId: 6f1594188bfab15615662304976916ae)
    #7 nsMenuPopupFrame::CreateWidgetForView(nsView*) /home/twsmith/code/mozilla-central/layout/xul/nsMenuPopupFrame.cpp:321:24 (libxul.so+0xa383cbf) (BuildId: 6f1594188bfab15615662304976916ae)
    #8 nsMenuPopupFrame::Init(nsIContent*, nsContainerFrame*, nsIFrame*) /home/twsmith/code/mozilla-central/layout/xul/nsMenuPopupFrame.cpp:185:5 (libxul.so+0xa383825) (BuildId: 6f1594188bfab15615662304976916ae)
    #9 nsCSSFrameConstructor::InitAndRestoreFrame(nsFrameConstructorState const&, nsIContent*, nsContainerFrame*, nsIFrame*, bool) /home/twsmith/code/mozilla-central/layout/base/nsCSSFrameConstructor.cpp:4600:14 (libxul.so+0xa03192e) (BuildId: 6f1594188bfab15615662304976916ae)
    #10 nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem&, nsFrameConstructorState&, nsContainerFrame*, nsFrameList&) /home/twsmith/code/mozilla-central/layout/base/nsCSSFrameConstructor.cpp:3789:7 (libxul.so+0xa03192e)
    #11 nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState&, nsCSSFrameConstructor::FrameConstructionItemList::Iterator&, nsContainerFrame*, nsFrameList&) /home/twsmith/code/mozilla-central/layout/base/nsCSSFrameConstructor.cpp:5558:3 (libxul.so+0xa0376c9) (BuildId: 6f1594188bfab15615662304976916ae)
    #12 nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState&, nsCSSFrameConstructor::FrameConstructionItemList&, nsContainerFrame*, bool, nsFrameList&) /home/twsmith/code/mozilla-central/layout/base/nsCSSFrameConstructor.cpp:9492:5 (libxul.so+0xa063113) (BuildId: 6f1594188bfab15615662304976916ae)
    #13 nsCSSFrameConstructor::ContentAppended(nsIContent*, nsCSSFrameConstructor::InsertionKind) /home/twsmith/code/mozilla-central/layout/base/nsCSSFrameConstructor.cpp:6698:3 (libxul.so+0xa03c90c) (BuildId: 6f1594188bfab15615662304976916ae)
    #14 mozilla::RestyleManager::ProcessRestyledFrames(nsStyleChangeList&) /home/twsmith/code/mozilla-central/layout/base/RestyleManager.cpp:1555:27 (libxul.so+0x9ff4c65) (BuildId: 6f1594188bfab15615662304976916ae)
    #15 mozilla::RestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) /home/twsmith/code/mozilla-central/layout/base/RestyleManager.cpp:3179:9 (libxul.so+0x9ffa88b) (BuildId: 6f1594188bfab15615662304976916ae)
    #16 mozilla::RestyleManager::ProcessPendingRestyles() /home/twsmith/code/mozilla-central/layout/base/RestyleManager.cpp:3264:3 (libxul.so+0x9fd81ea) (BuildId: 6f1594188bfab15615662304976916ae)
    #17 mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:4333:39 (libxul.so+0x9fd76cb) (BuildId: 6f1594188bfab15615662304976916ae)
    #18 mozilla::PresShell::FlushPendingNotifications(mozilla::ChangesToFlush) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/PresShell.h:1470:5 (libxul.so+0x65ed86b) (BuildId: 6f1594188bfab15615662304976916ae)
    #19 mozilla::dom::Document::FlushPendingNotifications(mozilla::ChangesToFlush) /home/twsmith/code/mozilla-central/dom/base/Document.cpp:10765:16 (libxul.so+0x65ed86b)
    #20 mozilla::dom::Document::FlushPendingNotifications(mozilla::FlushType) /home/twsmith/code/mozilla-central/dom/base/Document.cpp:10697:3 (libxul.so+0x65d274b) (BuildId: 6f1594188bfab15615662304976916ae)
    #21 nsFrameLoader::TryRemoteBrowserInternal() /home/twsmith/code/mozilla-central/dom/base/nsFrameLoader.cpp:2589:10 (libxul.so+0x678b881) (BuildId: 6f1594188bfab15615662304976916ae)
    #22 nsFrameLoader::TryRemoteBrowser() /home/twsmith/code/mozilla-central/dom/base/nsFrameLoader.cpp:2828:7 (libxul.so+0x6782601) (BuildId: 6f1594188bfab15615662304976916ae)
    #23 nsFrameLoader::EnsureRemoteBrowser() /home/twsmith/code/mozilla-central/dom/base/nsFrameLoader.cpp:2555:28 (libxul.so+0x6782601)
    #24 nsFrameLoader::ReallyStartLoadingInternal() /home/twsmith/code/mozilla-central/dom/base/nsFrameLoader.cpp:731:10 (libxul.so+0x6782601)
    #25 nsFrameLoader::ReallyStartLoading() /home/twsmith/code/mozilla-central/dom/base/nsFrameLoader.cpp:652:17 (libxul.so+0x6781e0a) (BuildId: 6f1594188bfab15615662304976916ae)
    #26 mozilla::dom::Document::MaybeInitializeFinalizeFrameLoaders() /home/twsmith/code/mozilla-central/dom/base/Document.cpp:9262:13 (libxul.so+0x65e6627) (BuildId: 6f1594188bfab15615662304976916ae)
    #27 auto decltype(auto) mozilla::detail::RunnableMethodArguments<>::apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()>(mozilla::dom::Document*, void (mozilla::dom::Document::*)())::'lambda'(auto&&...)::operator()<>(auto&&...) const /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1164:18 (libxul.so+0x665b4f9) (BuildId: 6f1594188bfab15615662304976916ae)
    #28 mozilla::dom::Document std::__invoke_impl<void, decltype(auto) mozilla::detail::RunnableMethodArguments<>::apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()>(mozilla::dom::Document*, void (mozilla::dom::Document::*)())::'lambda'(auto&&...)>(std::__invoke_other, void (mozilla::dom::Document::*&&)()) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:60:14 (libxul.so+0x665b4f9)
    #29 std::__invoke_result<mozilla::dom::Document>::type std::__invoke<decltype(auto) mozilla::detail::RunnableMethodArguments<>::apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()>(mozilla::dom::Document*, void (mozilla::dom::Document::*)())::'lambda'(auto&&...)>(mozilla::dom::Document&&) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:95:14 (libxul.so+0x665b4f9)
    #30 decltype(auto) std::__apply_impl<decltype(auto) mozilla::detail::RunnableMethodArguments<>::apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()>(mozilla::dom::Document*, void (mozilla::dom::Document::*)())::'lambda'(auto&&...), std::tuple<>&>(mozilla::dom::Document&&, void (mozilla::dom::Document::*&&)(), std::integer_sequence<unsigned long>) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/tuple:1662:14 (libxul.so+0x665b4f9)
    #31 decltype(auto) std::apply<decltype(auto) mozilla::detail::RunnableMethodArguments<>::apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()>(mozilla::dom::Document*, void (mozilla::dom::Document::*)())::'lambda'(auto&&...), std::tuple<>&>(mozilla::dom::Document&&, void (mozilla::dom::Document::*&&)()) /home/twsmith/.mozbuild/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/tuple:1671:14 (libxul.so+0x665b4f9)
    #32 decltype(auto) mozilla::detail::RunnableMethodArguments<>::apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()>(mozilla::dom::Document*, void (mozilla::dom::Document::*)()) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1162:12 (libxul.so+0x665b4f9)
    #33 mozilla::detail::RunnableMethodImpl<mozilla::dom::Document*, void (mozilla::dom::Document::*)(), true, (mozilla::RunnableKind)0>::Run() /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/nsThreadUtils.h:1213:13 (libxul.so+0x665b4f9)
    #34 nsContentUtils::RemoveScriptBlocker() /home/twsmith/code/mozilla-central/dom/base/nsContentUtils.cpp:6020:17 (libxul.so+0x64374c3) (BuildId: 6f1594188bfab15615662304976916ae)
    #35 mozilla::dom::Document::EndUpdate() /home/twsmith/code/mozilla-central/dom/base/Document.cpp:7830:3 (libxul.so+0x65df1d3) (BuildId: 6f1594188bfab15615662304976916ae)
    #36 mozAutoDocUpdate::~mozAutoDocUpdate() /home/twsmith/code/mozilla-central/dom/base/mozAutoDocUpdate.h:34:18 (libxul.so+0x67a27a0) (BuildId: 6f1594188bfab15615662304976916ae)
    #37 nsINode::ReplaceOrInsertBefore(bool, nsINode*, nsINode*, mozilla::ErrorResult&) /home/twsmith/code/mozilla-central/dom/base/nsINode.cpp:2848:1 (libxul.so+0x67a27a0)
    #38 nsINode::InsertBefore(nsINode&, nsINode*, mozilla::ErrorResult&) /home/twsmith/code/mozilla-central/dom/base/nsINode.h:2100:12 (libxul.so+0x6c9265c) (BuildId: 6f1594188bfab15615662304976916ae)
    #39 nsINode::AppendChild(nsINode&, mozilla::ErrorResult&) /home/twsmith/code/mozilla-central/dom/base/nsINode.h:2107:12 (libxul.so+0x6c9265c)
    #40 mozilla::dom::Node_Binding::appendChild(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dom/bindings/NodeBinding.cpp:997:60 (libxul.so+0x6c9265c)
    #41 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /home/twsmith/code/mozilla-central/dom/bindings/BindingUtils.cpp:3335:13 (libxul.so+0x79b2b64) (BuildId: 6f1594188bfab15615662304976916ae)
    #42 CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:459:13 (libxul.so+0xc91a7ee) (BuildId: 6f1594188bfab15615662304976916ae)
    #43 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:553:12 (libxul.so+0xc91a7ee)
    #44 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc9108f9) (BuildId: 6f1594188bfab15615662304976916ae)
    #45 js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:625:10 (libxul.so+0xc9108f9)
    #46 Interpret(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:3368:16 (libxul.so+0xc9108f9)
    #47 js::RunScript(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xc903d3f) (BuildId: 6f1594188bfab15615662304976916ae)
    #48 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:585:13 (libxul.so+0xc91a8b8) (BuildId: 6f1594188bfab15615662304976916ae)
    #49 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc91b4d3) (BuildId: 6f1594188bfab15615662304976916ae)
    #50 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:652:8 (libxul.so+0xc91b4d3)
    #51 js::fun_apply(JSContext*, unsigned int, JS::Value*) /home/twsmith/code/mozilla-central/js/src/vm/JSFunction.cpp:1008:10 (libxul.so+0xca59c7b) (BuildId: 6f1594188bfab15615662304976916ae)
    #52 CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:459:13 (libxul.so+0xc91a7ee) (BuildId: 6f1594188bfab15615662304976916ae)
    #53 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:553:12 (libxul.so+0xc91a7ee)
    #54 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc9108f9) (BuildId: 6f1594188bfab15615662304976916ae)
    #55 js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:625:10 (libxul.so+0xc9108f9)
    #56 Interpret(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:3368:16 (libxul.so+0xc9108f9)
    #57 js::RunScript(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xc903d3f) (BuildId: 6f1594188bfab15615662304976916ae)
    #58 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:585:13 (libxul.so+0xc91a8b8) (BuildId: 6f1594188bfab15615662304976916ae)
    #59 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc91b4d3) (BuildId: 6f1594188bfab15615662304976916ae)
    #60 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:652:8 (libxul.so+0xc91b4d3)
    #61 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /home/twsmith/code/mozilla-central/js/src/vm/CallAndConstruct.cpp:117:10 (libxul.so+0xc9b317b) (BuildId: 6f1594188bfab15615662304976916ae)
    #62 mozilla::dom::EventListener::HandleEvent(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dom/bindings/EventListenerBinding.cpp:62:8 (libxul.so+0x76c1467) (BuildId: 6f1594188bfab15615662304976916ae)
    #63 void mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget*>(mozilla::dom::EventTarget* const&, mozilla::dom::Event&, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/EventListenerBinding.h:65:12 (libxul.so+0x802a2cf) (BuildId: 6f1594188bfab15615662304976916ae)
    #64 mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*) /home/twsmith/code/mozilla-central/dom/events/EventListenerManager.cpp:1312:43 (libxul.so+0x802a2cf)
    #65 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /home/twsmith/code/mozilla-central/dom/events/EventListenerManager.cpp:1508:17 (libxul.so+0x802afe1) (BuildId: 6f1594188bfab15615662304976916ae)
    #66 mozilla::EventListenerManager::HandleEvent(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /home/twsmith/code/mozilla-central/dom/events/EventListenerManager.h:395:5 (libxul.so+0x8058ce2) (BuildId: 6f1594188bfab15615662304976916ae)
    #67 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:347:17 (libxul.so+0x8058ce2)
    #68 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:549:16 (libxul.so+0x801fbb4) (BuildId: 6f1594188bfab15615662304976916ae)
    #69 mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:1122:11 (libxul.so+0x80220c5) (BuildId: 6f1594188bfab15615662304976916ae)
    #70 mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp (libxul.so+0x8025080) (BuildId: 6f1594188bfab15615662304976916ae)
    #71 nsINode::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) /home/twsmith/code/mozilla-central/dom/base/nsINode.cpp:1390:17 (libxul.so+0x679d168) (BuildId: 6f1594188bfab15615662304976916ae)
    #72 mozilla::dom::EventTarget_Binding::dispatchEvent(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dom/bindings/EventTargetBinding.cpp:1106:36 (libxul.so+0x7728b58) (BuildId: 6f1594188bfab15615662304976916ae)
    #73 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::MaybeCrossOriginObjectThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /home/twsmith/code/mozilla-central/dom/bindings/BindingUtils.cpp:3335:13 (libxul.so+0x79b4582) (BuildId: 6f1594188bfab15615662304976916ae)
    #74 CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:459:13 (libxul.so+0xc91a7ee) (BuildId: 6f1594188bfab15615662304976916ae)
    #75 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:553:12 (libxul.so+0xc91a7ee)
    #76 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc9108f9) (BuildId: 6f1594188bfab15615662304976916ae)
    #77 js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:625:10 (libxul.so+0xc9108f9)
    #78 Interpret(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:3368:16 (libxul.so+0xc9108f9)
    #79 js::RunScript(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xc903d3f) (BuildId: 6f1594188bfab15615662304976916ae)
    #80 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:585:13 (libxul.so+0xc91a8b8) (BuildId: 6f1594188bfab15615662304976916ae)
    #81 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc91b4d3) (BuildId: 6f1594188bfab15615662304976916ae)
    #82 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:652:8 (libxul.so+0xc91b4d3)
    #83 js::SpreadCallOperation(JSContext*, JS::Handle<JSScript*>, unsigned char*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:5164:12 (libxul.so+0xc922940) (BuildId: 6f1594188bfab15615662304976916ae)
    #84 Interpret(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:3296:12 (libxul.so+0xc9105b8) (BuildId: 6f1594188bfab15615662304976916ae)
    #85 js::RunScript(JSContext*, js::RunState&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xc903d3f) (BuildId: 6f1594188bfab15615662304976916ae)
    #86 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:585:13 (libxul.so+0xc91a8b8) (BuildId: 6f1594188bfab15615662304976916ae)
    #87 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc91b4d3) (BuildId: 6f1594188bfab15615662304976916ae)
    #88 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:652:8 (libxul.so+0xc91b4d3)
    #89 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.h:116:10 (libxul.so+0xcb31633) (BuildId: 6f1594188bfab15615662304976916ae)
    #90 PromiseReactionJob(JSContext*, unsigned int, JS::Value*) /home/twsmith/code/mozilla-central/js/src/builtin/Promise.cpp:2240:10 (libxul.so+0xcb31633)
    #91 CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:459:13 (libxul.so+0xc91a7ee) (BuildId: 6f1594188bfab15615662304976916ae)
    #92 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:553:12 (libxul.so+0xc91a7ee)
    #93 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:620:10 (libxul.so+0xc91b4d3) (BuildId: 6f1594188bfab15615662304976916ae)
    #94 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/twsmith/code/mozilla-central/js/src/vm/Interpreter.cpp:652:8 (libxul.so+0xc91b4d3)
    #95 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /home/twsmith/code/mozilla-central/js/src/vm/CallAndConstruct.cpp:117:10 (libxul.so+0xc9b317b) (BuildId: 6f1594188bfab15615662304976916ae)
    #96 mozilla::dom::PromiseJobCallback::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::ErrorResult&) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dom/bindings/PromiseBinding.cpp:83:8 (libxul.so+0x6d95d83) (BuildId: 6f1594188bfab15615662304976916ae)
    #97 mozilla::dom::PromiseJobCallback::Call(mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:198:12 (libxul.so+0x498370d) (BuildId: 6f1594188bfab15615662304976916ae)
    #98 mozilla::dom::PromiseJobCallback::Call(char const*) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:211:12 (libxul.so+0x498370d)
    #99 mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) /home/twsmith/code/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:213:18 (libxul.so+0x498370d)
    #100 mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool) /home/twsmith/code/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:676:17 (libxul.so+0x4964a76) (BuildId: 6f1594188bfab15615662304976916ae)
    #101 mozilla::CycleCollectedJSContext::LeaveMicroTask() /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/CycleCollectedJSContext.h:246:7 (libxul.so+0x802a39b) (BuildId: 6f1594188bfab15615662304976916ae)
    #102 mozilla::nsAutoMicroTask::~nsAutoMicroTask() /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/CycleCollectedJSContext.h:394:13 (libxul.so+0x802a39b)
    #103 mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*) /home/twsmith/code/mozilla-central/dom/events/EventListenerManager.cpp:1320:3 (libxul.so+0x802a39b)
    #104 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /home/twsmith/code/mozilla-central/dom/events/EventListenerManager.cpp:1508:17 (libxul.so+0x802afe1) (BuildId: 6f1594188bfab15615662304976916ae)
    #105 mozilla::EventListenerManager::HandleEvent(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /home/twsmith/code/mozilla-central/dom/events/EventListenerManager.h:395:5 (libxul.so+0x8058ce2) (BuildId: 6f1594188bfab15615662304976916ae)
    #106 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:347:17 (libxul.so+0x8058ce2)
    #107 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:549:16 (libxul.so+0x801fbb4) (BuildId: 6f1594188bfab15615662304976916ae)
    #108 mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:1122:11 (libxul.so+0x80220c5) (BuildId: 6f1594188bfab15615662304976916ae)
    #109 mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp (libxul.so+0x8025080) (BuildId: 6f1594188bfab15615662304976916ae)
    #110 mozilla::PresShell::HandleDOMEventWithTarget(nsIContent*, mozilla::dom::Event*, nsEventStatus*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:8813:10 (libxul.so+0x9feda6d) (BuildId: 6f1594188bfab15615662304976916ae)
    #111 nsContentUtils::DispatchXULCommand(nsIContent*, bool, mozilla::dom::Event*, mozilla::PresShell*, bool, bool, bool, bool, unsigned short, short) /home/twsmith/code/mozilla-central/dom/base/nsContentUtils.cpp:6654:24 (libxul.so+0x643b254) (BuildId: 6f1594188bfab15615662304976916ae)
    #112 mozilla::dom::XULButtonElement::MouseClicked(mozilla::WidgetGUIEvent&) /home/twsmith/code/mozilla-central/dom/xul/XULButtonElement.cpp:657:3 (libxul.so+0x97f4b1d) (BuildId: 6f1594188bfab15615662304976916ae)
    #113 mozilla::dom::XULButtonElement::PostHandleEvent(mozilla::EventChainPostVisitor&) /home/twsmith/code/mozilla-central/dom/xul/XULButtonElement.cpp (libxul.so+0x97f4733) (BuildId: 6f1594188bfab15615662304976916ae)
    #114 mozilla::EventTargetChainItem::PostHandleEvent(mozilla::EventChainPostVisitor&) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:441:12 (libxul.so+0x801fc34) (BuildId: 6f1594188bfab15615662304976916ae)
    #115 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:552:16 (libxul.so+0x801fc34)
    #116 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:629:5 (libxul.so+0x8020177) (BuildId: 6f1594188bfab15615662304976916ae)
    #117 mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /home/twsmith/code/mozilla-central/dom/events/EventDispatcher.cpp:1122:11 (libxul.so+0x80220c5) (BuildId: 6f1594188bfab15615662304976916ae)
    #118 mozilla::PresShell::EventHandler::DispatchEventToDOM(mozilla::WidgetEvent*, nsEventStatus*, nsPresShellEventCB*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:8684:7 (libxul.so+0x9fecd34) (BuildId: 6f1594188bfab15615662304976916ae)
    #119 mozilla::PresShell::EventHandler::DispatchEvent(mozilla::EventStateManager*, mozilla::WidgetEvent*, bool, nsEventStatus*, nsIContent*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:8255:7 (libxul.so+0x9feb84b) (BuildId: 6f1594188bfab15615662304976916ae)
    #120 mozilla::PresShell::EventHandler::HandleEventWithCurrentEventInfo(mozilla::WidgetEvent*, nsEventStatus*, bool, nsIContent*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:8187:17 (libxul.so+0x9fe7342) (BuildId: 6f1594188bfab15615662304976916ae)
    #121 mozilla::PresShell::EventHandler::HandleEventWithTarget(mozilla::WidgetEvent*, nsIFrame*, nsIContent*, nsEventStatus*, bool, nsIContent**, nsIContent*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:8094:17 (libxul.so+0x9fea6be) (BuildId: 6f1594188bfab15615662304976916ae)
    #122 mozilla::PresShell::HandleEventWithTarget(mozilla::WidgetEvent*, nsIFrame*, nsIContent*, nsEventStatus*, bool, nsIContent**, nsIContent*) /home/twsmith/code/mozilla-central/objdir-ff-tsan/dist/include/mozilla/PresShell.h:670:25 (libxul.so+0x7fd5230) (BuildId: 6f1594188bfab15615662304976916ae)
    #123 mozilla::EventStateManager::InitAndDispatchClickEvent(mozilla::WidgetMouseEvent*, nsEventStatus*, mozilla::EventMessage, mozilla::PresShell*, nsIContent*, AutoWeakFrame, bool, nsIContent*) /home/twsmith/code/mozilla-central/dom/events/EventStateManager.cpp:5277:29 (libxul.so+0x7fd5230)
    #124 mozilla::EventStateManager::DispatchClickEvents(mozilla::PresShell*, mozilla::WidgetMouseEvent*, nsEventStatus*, nsIContent*, nsIContent*) /home/twsmith/code/mozilla-central/dom/events/EventStateManager.cpp:5379:17 (libxul.so+0x7fd546a) (BuildId: 6f1594188bfab15615662304976916ae)
    #125 mozilla::EventStateManager::PostHandleMouseUp(mozilla::WidgetMouseEvent*, nsEventStatus*, nsIContent*) /home/twsmith/code/mozilla-central/dom/events/EventStateManager.cpp:5322:17 (libxul.so+0x7fd2ac8) (BuildId: 6f1594188bfab15615662304976916ae)
    #126 mozilla::EventStateManager::PostHandleEvent(nsPresContext*, mozilla::WidgetEvent*, nsIFrame*, nsEventStatus*, nsIContent*) /home/twsmith/code/mozilla-central/dom/events/EventStateManager.cpp:3575:18 (libxul.so+0x7fd1a7c) (BuildId: 6f1594188bfab15615662304976916ae)
    #127 mozilla::PresShell::EventHandler::DispatchEvent(mozilla::EventStateManager*, mozilla::WidgetEvent*, bool, nsEventStatus*, nsIContent*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:8269:30 (libxul.so+0x9feba8f) (BuildId: 6f1594188bfab15615662304976916ae)
    #128 mozilla::PresShell::EventHandler::HandleEventWithCurrentEventInfo(mozilla::WidgetEvent*, nsEventStatus*, bool, nsIContent*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:8187:17 (libxul.so+0x9fe7342) (BuildId: 6f1594188bfab15615662304976916ae)
    #129 mozilla::PresShell::EventHandler::HandleEventUsingCoordinates(nsIFrame*, mozilla::WidgetGUIEvent*, nsEventStatus*, bool) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:7136:30 (libxul.so+0x9fe6c70) (BuildId: 6f1594188bfab15615662304976916ae)
    #130 mozilla::PresShell::EventHandler::HandleEvent(nsIFrame*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:6934:12 (libxul.so+0x9fe5a0e) (BuildId: 6f1594188bfab15615662304976916ae)
    #131 mozilla::PresShell::HandleEvent(nsIFrame*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*) /home/twsmith/code/mozilla-central/layout/base/PresShell.cpp:6877:23 (libxul.so+0x9fe4de9) (BuildId: 6f1594188bfab15615662304976916ae)
    #132 nsViewManager::DispatchEvent(mozilla::WidgetGUIEvent*, nsView*, nsEventStatus*) /home/twsmith/code/mozilla-central/view/nsViewManager.cpp:678:18 (libxul.so+0x9b206ca) (BuildId: 6f1594188bfab15615662304976916ae)
    #133 nsView::HandleEvent(mozilla::WidgetGUIEvent*, bool) /home/twsmith/code/mozilla-central/view/nsView.cpp:1149:9 (libxul.so+0x9b20348) (BuildId: 6f1594188bfab15615662304976916ae)
    #134 nsWindow::DispatchEvent(mozilla::WidgetGUIEvent*, nsEventStatus&) /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:547:25 (libxul.so+0x9be89d0) (BuildId: 6f1594188bfab15615662304976916ae)
    #135 nsBaseWidget::ProcessUntransformedAPZEvent(mozilla::WidgetInputEvent*, mozilla::layers::APZEventResult const&) /home/twsmith/code/mozilla-central/widget/nsBaseWidget.cpp:1093:3 (libxul.so+0x9b328bc) (BuildId: 6f1594188bfab15615662304976916ae)
    #136 nsBaseWidget::DispatchInputEvent(mozilla::WidgetInputEvent*) /home/twsmith/code/mozilla-central/widget/nsBaseWidget.cpp:1272:31 (libxul.so+0x9b3377a) (BuildId: 6f1594188bfab15615662304976916ae)
    #137 nsWindow::OnButtonReleaseEvent(_GdkEventButton*) /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:4745:53 (libxul.so+0x9c0d29a) (BuildId: 6f1594188bfab15615662304976916ae)
    #138 button_release_event_cb(_GtkWidget*, _GdkEventButton*) /home/twsmith/code/mozilla-central/widget/gtk/nsWindow.cpp:8072:11 (libxul.so+0x9c19136) (BuildId: 6f1594188bfab15615662304976916ae)
    #139 <null> <null> (libgtk-3.so.0+0x3e5b76) (BuildId: 9a340345f5e200f42140f3cb4bacb407e91843f8)
    #140 nsBaseAppShell::DoProcessNextNativeEvent(bool) /home/twsmith/code/mozilla-central/widget/nsBaseAppShell.cpp:131:17 (libxul.so+0x9b9ff76) (BuildId: 6f1594188bfab15615662304976916ae)
    #141 nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) /home/twsmith/code/mozilla-central/widget/nsBaseAppShell.cpp:250:19 (libxul.so+0x9b9ff76)
    #142 non-virtual thunk to nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) /home/twsmith/code/mozilla-central/widget/nsBaseAppShell.cpp (libxul.so+0x9ba0428) (BuildId: 6f1594188bfab15615662304976916ae)
    #143 nsThread::ProcessNextEvent(bool, bool*) /home/twsmith/code/mozilla-central/xpcom/threads/nsThread.cpp:1153:10 (libxul.so+0x4a9cf30) (BuildId: 6f1594188bfab15615662304976916ae)
    #144 NS_ProcessNextEvent(nsIThread*, bool) /home/twsmith/code/mozilla-central/xpcom/threads/nsThreadUtils.cpp:479:10 (libxul.so+0x4aa3756) (BuildId: 6f1594188bfab15615662304976916ae)
    #145 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/twsmith/code/mozilla-central/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x57c97fb) (BuildId: 6f1594188bfab15615662304976916ae)
    #146 MessageLoop::RunInternal() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x56e2dd7) (BuildId: 6f1594188bfab15615662304976916ae)
    #147 MessageLoop::RunHandler() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x56e2dd7)
    #148 MessageLoop::Run() /home/twsmith/code/mozilla-central/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x56e2dd7)
    #149 nsBaseAppShell::Run() /home/twsmith/code/mozilla-central/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x9b9fb36) (BuildId: 6f1594188bfab15615662304976916ae)
    #150 nsAppStartup::Run() /home/twsmith/code/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:295:30 (libxul.so+0xc549863) (BuildId: 6f1594188bfab15615662304976916ae)
    #151 XREMain::XRE_mainRun() /home/twsmith/code/mozilla-central/toolkit/xre/nsAppRunner.cpp:5643:22 (libxul.so+0xc6acfa3) (BuildId: 6f1594188bfab15615662304976916ae)
    #152 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/twsmith/code/mozilla-central/toolkit/xre/nsAppRunner.cpp:5843:8 (libxul.so+0xc6adb0b) (BuildId: 6f1594188bfab15615662304976916ae)
    #153 XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/twsmith/code/mozilla-central/toolkit/xre/nsAppRunner.cpp:5899:21 (libxul.so+0xc6ae0b1) (BuildId: 6f1594188bfab15615662304976916ae)
    #154 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/twsmith/code/mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xc6bc772) (BuildId: 6f1594188bfab15615662304976916ae)
    #155 do_main(int, char**, char**) /home/twsmith/code/mozilla-central/browser/app/nsBrowserApp.cpp:226:22 (firefox+0x143cb1) (BuildId: 9a576a09df15e458894ea639dcda1aab)
    #156 main /home/twsmith/code/mozilla-central/browser/app/nsBrowserApp.cpp:423:16 (firefox+0x143cb1)

Tyson hasn't seen this in actual fuzzing so it doesn't look like it's triggered from web content. A user's interaction with browser chrome is much less likely to be exploitable (since that's in a different process) so we're going to un-hide this.

Group: layout-core-security
Summary: ThreadSanitizer: data race [@ nsWindow::GdkCeiledScaleFactor] vs. [@ nsWindow::GdkCeiledScaleFactor] → ThreadSanitizer: data race [@ nsWindow::GdkCeiledScaleFactor] vs. [@ nsWindow::GdkCeiledScaleFactor] triggered by user interaction with browser chrome

It's a race when we paint to window from render thread and window is resizing.

Blocks: wayland
Status: NEW → RESOLVED
Closed: 2 years ago
Duplicate of bug: 1844543
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.