ThreadSanitizer: data race [@ AddFontFaceSet] vs. [@ mozilla::dom::FontFaceImpl::Entry::GetUserFontSets]
Categories
(Core :: Layout: Text and Fonts, defect)
Tracking
()
People
(Reporter: tsmith, Assigned: jfkthame, NeedInfo)
References
(Blocks 1 open bug)
Details
(Keywords: csectype-race, sec-moderate, Whiteboard: [adv-main126+r] [adv-ESR115.11+r] )
Attachments
(4 files, 1 obsolete file)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-esr115+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-esr115+
|
Details | Review |
Found while fuzzing m-c 20231203-8e959a7ded5f (--enable-thread-sanitizer --enable-fuzzing)
This has been reported consistently since 2023-12-03 but unfortunatly a reliable test case is not available.
WARNING: ThreadSanitizer: data race (pid=132840)
Read of size 1 at 0x7b180002f6f1 by main thread (mutexes: write M0):
#0 mozilla::dom::FontFaceImpl::Entry::GetUserFontSets(nsTArray<RefPtr<gfxUserFontSet>>&) src/layout/style/FontFaceImpl.cpp:778:12 (libxul.so+0x8040ff6) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#1 gfxUserFontEntry::IncrementGeneration() src/gfx/thebes/gfxUserFontSet.cpp:823:3 (libxul.so+0x46969d8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#2 gfxUserFontEntry::ContinuePlatformFontLoadOnMainThread(unsigned int, unsigned char const*, unsigned int, gfxUserFontType, unsigned char const*, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage>&&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>) src/gfx/thebes/gfxUserFontSet.cpp:912:5 (libxul.so+0x46983d6) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#3 operator()<StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1164:18 (libxul.so+0x46a9b9e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#4 __invoke_impl<void, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x46a9b9e)
#5 __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x46a9b9e)
#6 __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), std::tuple<StoreCopyPassByConstLRef<unsigned int>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByConstLRef<gfxUserFontType>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> >, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > > &, 0UL, 1UL, 2UL, 3UL, 4UL, 5UL, 6UL, 7UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x46a9b9e)
#7 apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), std::tuple<StoreCopyPassByConstLRef<unsigned int>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByConstLRef<gfxUserFontType>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> >, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x46a9b9e)
#8 apply<gfxUserFontEntry, void (gfxUserFontEntry::*)(unsigned int, const unsigned char *, unsigned int, gfxUserFontType, const unsigned char *, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage> &&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1162:12 (libxul.so+0x46a9b9e)
#9 mozilla::detail::RunnableMethodImpl<gfxUserFontEntry*, void (gfxUserFontEntry::*)(unsigned int, unsigned char const*, unsigned int, gfxUserFontType, unsigned char const*, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage>&&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>), true, (mozilla::RunnableKind)0, unsigned int, unsigned char const*, unsigned int, gfxUserFontType, unsigned char const*, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage>&&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1213:13 (libxul.so+0x46a9b9e)
#10 mozilla::RunnableTask::Run() src/xpcom/threads/TaskController.cpp:578:16 (libxul.so+0x321d752) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#11 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) src/xpcom/threads/TaskController.cpp:905:26 (libxul.so+0x3211f43) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#12 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) src/xpcom/threads/TaskController.cpp:728:15 (libxul.so+0x3210776) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#13 mozilla::TaskController::ProcessPendingMTTask(bool) src/xpcom/threads/TaskController.cpp:514:36 (libxul.so+0x3210aaf) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#14 operator() src/xpcom/threads/TaskController.cpp:232:37 (libxul.so+0x32209f4) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#15 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() src/xpcom/threads/nsThreadUtils.h:548:5 (libxul.so+0x32209f4)
#16 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1199:16 (libxul.so+0x32357b8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#17 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#18 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x3d6d1ee) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#19 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:268:30 (libxul.so+0x3d6dcbb) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#20 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#21 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#22 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#23 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x7d1d1e3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#24 nsAppShell::Run() src/widget/gtk/nsAppShell.cpp:470:33 (libxul.so+0x7e0ae9c) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#25 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:721:20 (libxul.so+0x9c57e5f) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#26 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x3d6dc6a) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#27 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#28 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#29 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#30 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:656:34 (libxul.so+0x9c57ac0) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#31 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x9c63f92) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#32 content_process_main src/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox-bin+0x15c142) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#33 main src/browser/app/nsBrowserApp.cpp:375:18 (firefox-bin+0x15c142)
Previous write of size 1 at 0x7b180002f6f1 by thread T23 (mutexes: write M1):
#0 AddFontFaceSet src/layout/style/FontFaceImpl.cpp:687:20 (libxul.so+0x8047869) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#1 mozilla::dom::FontFaceSetImpl::Add(mozilla::dom::FontFaceImpl*, mozilla::ErrorResult&) src/layout/style/FontFaceSetImpl.cpp:269:14 (libxul.so+0x8047869)
#2 mozilla::dom::FontFaceSet::Add(mozilla::dom::FontFace&, mozilla::ErrorResult&) src/layout/style/FontFaceSet.cpp:227:15 (libxul.so+0x804347c) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#3 mozilla::dom::FontFaceSet_Binding::add(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./FontFaceSetBinding.cpp:261:24 (libxul.so+0x5a8aa57) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#4 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) src/dom/bindings/BindingUtils.cpp:3258:13 (libxul.so+0x5c431f9) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#5 CallJSNative src/js/src/vm/Interpreter.cpp:480:13 (libxul.so+0x9defea9) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#6 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:574:12 (libxul.so+0x9defea9)
#7 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9e00aec) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#8 CallFromStack src/js/src/vm/Interpreter.cpp:646:10 (libxul.so+0x9e00aec)
#9 js::Interpret(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:3061:16 (libxul.so+0x9e00aec)
#10 MaybeEnterInterpreterTrampoline src/js/src/vm/Interpreter.cpp:394:10 (libxul.so+0x9def4f1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#11 js::RunScript(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:452:13 (libxul.so+0x9def4f1)
#12 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:606:13 (libxul.so+0x9deff76) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#13 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0b27) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#14 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:673:8 (libxul.so+0x9df0b27)
#15 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) src/js/src/vm/SelfHosting.cpp:1585:10 (libxul.so+0xa083d1f) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#16 AsyncFunctionResume(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, ResumeKind, JS::Handle<JS::Value>) src/js/src/vm/AsyncFunction.cpp:151:8 (libxul.so+0x9e81561) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#17 js::AsyncFunctionAwaitedRejected(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, JS::Handle<JS::Value>) src/js/src/vm/AsyncFunction.cpp:206:10 (libxul.so+0x9e8176a) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#18 AsyncFunctionPromiseReactionJob src/js/src/builtin/Promise.cpp:2120:10 (libxul.so+0xa012c9d) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#19 PromiseReactionJob(JSContext*, unsigned int, JS::Value*) src/js/src/builtin/Promise.cpp:2178:12 (libxul.so+0xa012c9d)
#20 CallJSNative src/js/src/vm/Interpreter.cpp:480:13 (libxul.so+0x9defea9) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#21 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:574:12 (libxul.so+0x9defea9)
#22 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0b27) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#23 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:673:8 (libxul.so+0x9df0b27)
#24 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) src/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0x9ea6cd3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#25 mozilla::dom::PromiseJobCallback::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/./PromiseBinding.cpp:83:8 (libxul.so+0x50f8863) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#26 Call /builds/worker/workspace/obj-build/dist/include/mozilla/dom/PromiseBinding.h:198:12 (libxul.so+0x312b2c7) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#27 Call /builds/worker/workspace/obj-build/dist/include/mozilla/dom/PromiseBinding.h:211:12 (libxul.so+0x312b2c7)
#28 mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) src/xpcom/base/CycleCollectedJSContext.cpp:210:18 (libxul.so+0x312b2c7)
#29 mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool) src/xpcom/base/CycleCollectedJSContext.cpp:712:17 (libxul.so+0x31179a6) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#30 mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int) src/xpcom/base/CycleCollectedJSContext.cpp:499:3 (libxul.so+0x31186e7) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#31 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1237:24 (libxul.so+0x3235d6d) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#32 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#33 mozilla::dom::WorkerPrivate::DoRunLoop(JSContext*) src/dom/workers/WorkerPrivate.cpp:3386:7 (libxul.so+0x77c72e4) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#34 mozilla::dom::workerinternals::(anonymous namespace)::WorkerThreadPrimaryRunnable::Run() src/dom/workers/RuntimeService.cpp:2108:42 (libxul.so+0x77acbe1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#35 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1193:16 (libxul.so+0x32359ce) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#36 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#37 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:300:20 (libxul.so+0x3d6dd7e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#38 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#39 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#40 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#41 nsThread::ThreadFunc(void*) src/xpcom/threads/nsThread.cpp:370:10 (libxul.so+0x3231243) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#42 _pt_root src/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x4b1c9) (BuildId: 013ac6dfde6ba0632bf957fc68626f89e752c2e5)
Location is heap block of size 88 at 0x7b180002f6a0 allocated by thread T23:
#0 malloc /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:663:5 (firefox-bin+0xd16ac) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#1 moz_xmalloc src/memory/mozalloc/mozalloc.cpp:52:15 (firefox-bin+0x15e2c8) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#2 operator new /builds/worker/workspace/obj-build/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x803c192) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#3 mozilla::dom::FontFace::Constructor(mozilla::dom::GlobalObject const&, nsTSubstring<char> const&, mozilla::dom::UTF8StringOrArrayBufferOrArrayBufferView const&, mozilla::dom::FontFaceDescriptors const&, mozilla::ErrorResult&) src/layout/style/FontFace.cpp:122:16 (libxul.so+0x803c192)
#4 mozilla::dom::FontFace_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/./FontFaceBinding.cpp:2198:54 (libxul.so+0x5a85ac6) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#5 CallJSNative src/js/src/vm/Interpreter.cpp:480:13 (libxul.so+0x9df134a) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#6 CallJSNativeConstructor src/js/src/vm/Interpreter.cpp:496:8 (libxul.so+0x9df134a)
#7 InternalConstruct(JSContext*, js::AnyConstructArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:721:10 (libxul.so+0x9df134a)
#8 js::ConstructFromStack(JSContext*, JS::CallArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:749:10 (libxul.so+0x9df0bfe) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#9 js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICFallbackStub*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) src/js/src/jit/BaselineIC.cpp:1638:10 (libxul.so+0xa61a0d3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#10 <null> <null> (0x7fc2affd9834)
#11 js::RunScript(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:442:32 (libxul.so+0x9def276) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#12 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:606:13 (libxul.so+0x9deff76) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#13 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0b27) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#14 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:673:8 (libxul.so+0x9df0b27)
#15 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) src/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0x9ea6cd3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#16 mozilla::dom::EventHandlerNonNull::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/./EventHandlerBinding.cpp:65:37 (libxul.so+0x5998630) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#17 Call<nsCOMPtr<mozilla::dom::EventTarget> > /builds/worker/workspace/obj-build/dist/include/mozilla/dom/EventHandlerBinding.h:82:12 (libxul.so+0x6286439) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#18 mozilla::JSEventHandler::HandleEvent(mozilla::dom::Event*) src/dom/events/JSEventHandler.cpp:199:12 (libxul.so+0x6286439)
#19 mozilla::EventListenerManager::HandleEventSingleListener(mozilla::EventListenerManager::Listener*, nsAtom*, mozilla::WidgetEvent*, mozilla::dom::Event*, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1349:22 (libxul.so+0x625be88) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#20 mozilla::EventListenerManager::HandleEventWithListenerArray(mozilla::EventListenerManager::ListenerArray*, nsAtom*, mozilla::EventMessage, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1664:12 (libxul.so+0x625d2cb) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#21 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) src/dom/events/EventListenerManager.cpp:1561:35 (libxul.so+0x625c610) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#22 HandleEvent /builds/worker/workspace/obj-build/dist/include/mozilla/EventListenerManager.h:465:5 (libxul.so+0x624f4a1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#23 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:364:17 (libxul.so+0x624f4a1)
#24 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:605:16 (libxul.so+0x624e228) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#25 mozilla::EventDispatcher::Dispatch(mozilla::dom::EventTarget*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) src/dom/events/EventDispatcher.cpp:1222:11 (libxul.so+0x6252549) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#26 mozilla::EventDispatcher::DispatchDOMEvent(mozilla::dom::EventTarget*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) src/dom/events/EventDispatcher.cpp (libxul.so+0x6256167) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#27 mozilla::DOMEventTargetHelper::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) src/dom/events/DOMEventTargetHelper.cpp:148:17 (libxul.so+0x621f1a5) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#28 mozilla::dom::EventTarget::DispatchEvent(mozilla::dom::Event&) src/dom/events/EventTarget.cpp:214:13 (libxul.so+0x6264416) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#29 mozilla::dom::MessageEventRunnable::DispatchDOMEvent(JSContext*, mozilla::dom::WorkerPrivate*, mozilla::DOMEventTargetHelper*, bool) src/dom/workers/MessageEventRunnable.cpp:80:12 (libxul.so+0x7792366) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#30 mozilla::dom::MessageEventRunnable::WorkerRun(JSContext*, mozilla::dom::WorkerPrivate*) src/dom/workers/MessageEventRunnable.cpp (libxul.so+0x77929b0) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#31 mozilla::dom::WorkerRunnable::Run() src/dom/workers/WorkerRunnable.cpp:378:12 (libxul.so+0x77d75fa) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#32 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1193:16 (libxul.so+0x32359ce) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#33 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#34 mozilla::dom::WorkerPrivate::DoRunLoop(JSContext*) src/dom/workers/WorkerPrivate.cpp:3386:7 (libxul.so+0x77c72e4) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#35 mozilla::dom::workerinternals::(anonymous namespace)::WorkerThreadPrimaryRunnable::Run() src/dom/workers/RuntimeService.cpp:2108:42 (libxul.so+0x77acbe1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#36 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1193:16 (libxul.so+0x32359ce) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#37 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#38 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:300:20 (libxul.so+0x3d6dd7e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#39 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#40 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#41 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#42 nsThread::ThreadFunc(void*) src/xpcom/threads/nsThread.cpp:370:10 (libxul.so+0x3231243) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#43 _pt_root src/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x4b1c9) (BuildId: 013ac6dfde6ba0632bf957fc68626f89e752c2e5)
Mutex M0 (0x7b5400092110) created at:
#0 pthread_mutex_init /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1313:3 (firefox-bin+0xd4c70) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#1 mozilla::detail::MutexImpl::MutexImpl() src/mozglue/misc/Mutex_posix.cpp:76:3 (firefox-bin+0x1c8964) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#2 OffTheBooksMutex /builds/worker/workspace/obj-build/dist/include/mozilla/Mutex.h:47:12 (libxul.so+0x804d5d6) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#3 Mutex /builds/worker/workspace/obj-build/dist/include/mozilla/Mutex.h:126:39 (libxul.so+0x804d5d6)
#4 Entry /builds/worker/workspace/obj-build/dist/include/mozilla/dom/FontFaceImpl.h:53:11 (libxul.so+0x804d5d6)
#5 CreateUserFontEntry src/layout/style/FontFaceSetImpl.cpp:924:40 (libxul.so+0x804d5d6)
#6 non-virtual thunk to mozilla::dom::FontFaceSetImpl::CreateUserFontEntry(nsTArray<gfxFontFaceSrc>&&, gfxUserFontAttributes&&) src/layout/style/FontFaceSetImpl.cpp (libxul.so+0x804d5d6)
#7 gfxUserFontSet::FindOrCreateUserFontEntry(nsTArray<gfxFontFaceSrc>&&, gfxUserFontAttributes&&) src/gfx/thebes/gfxUserFontSet.cpp:990:13 (libxul.so+0x469951a) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#8 mozilla::dom::FontFaceSetImpl::FindOrCreateUserFontEntryFromFontFace(mozilla::dom::FontFaceImpl*, gfxUserFontAttributes&&, mozilla::StyleOrigin) src/layout/style/FontFaceSetImpl.cpp:586:15 (libxul.so+0x803f769) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#9 mozilla::dom::FontFaceSetImpl::InsertNonRuleFontFace(mozilla::dom::FontFaceImpl*) src/layout/style/FontFaceSetImpl.cpp:360:38 (libxul.so+0x8049fd5) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#10 mozilla::dom::FontFaceSetWorkerImpl::FlushUserFontSet() src/layout/style/FontFaceSetWorkerImpl.cpp:219:5 (libxul.so+0x8055065) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#11 FlushUserFontSet src/layout/style/FontFaceSet.cpp:470:47 (libxul.so+0x8042f0e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#12 mozilla::dom::FontFaceSet::Check(nsTSubstring<char> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) src/layout/style/FontFaceSet.cpp:167:3 (libxul.so+0x8042f0e)
#13 mozilla::dom::FontFaceSet_Binding::check(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./FontFaceSetBinding.cpp:876:36 (libxul.so+0x5a8ca84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#14 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) src/dom/bindings/BindingUtils.cpp:3258:13 (libxul.so+0x5c431f9) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#15 CallJSNative src/js/src/vm/Interpreter.cpp:480:13 (libxul.so+0x9defea9) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#16 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:574:12 (libxul.so+0x9defea9)
#17 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0995) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#18 js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:646:10 (libxul.so+0x9df0995)
#19 js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICFallbackStub*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) src/js/src/jit/BaselineIC.cpp:1659:10 (libxul.so+0xa61a1f2) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#20 <null> <null> (0x7fc2affd9834)
#21 js::RunScript(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:442:32 (libxul.so+0x9def276) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#22 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:606:13 (libxul.so+0x9deff76) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#23 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0b27) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#24 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:673:8 (libxul.so+0x9df0b27)
#25 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) src/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0x9ea6cd3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#26 mozilla::dom::EventHandlerNonNull::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/./EventHandlerBinding.cpp:65:37 (libxul.so+0x5998630) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#27 Call<nsCOMPtr<mozilla::dom::EventTarget> > /builds/worker/workspace/obj-build/dist/include/mozilla/dom/EventHandlerBinding.h:82:12 (libxul.so+0x6286439) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#28 mozilla::JSEventHandler::HandleEvent(mozilla::dom::Event*) src/dom/events/JSEventHandler.cpp:199:12 (libxul.so+0x6286439)
#29 mozilla::EventListenerManager::HandleEventSingleListener(mozilla::EventListenerManager::Listener*, nsAtom*, mozilla::WidgetEvent*, mozilla::dom::Event*, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1349:22 (libxul.so+0x625be88) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#30 mozilla::EventListenerManager::HandleEventWithListenerArray(mozilla::EventListenerManager::ListenerArray*, nsAtom*, mozilla::EventMessage, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1664:12 (libxul.so+0x625d2cb) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#31 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) src/dom/events/EventListenerManager.cpp:1561:35 (libxul.so+0x625c610) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#32 HandleEvent /builds/worker/workspace/obj-build/dist/include/mozilla/EventListenerManager.h:465:5 (libxul.so+0x624f4a1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#33 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:364:17 (libxul.so+0x624f4a1)
#34 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:605:16 (libxul.so+0x624e228) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#35 mozilla::EventDispatcher::Dispatch(mozilla::dom::EventTarget*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) src/dom/events/EventDispatcher.cpp:1222:11 (libxul.so+0x6252549) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#36 mozilla::EventDispatcher::DispatchDOMEvent(mozilla::dom::EventTarget*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) src/dom/events/EventDispatcher.cpp (libxul.so+0x6256167) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#37 mozilla::DOMEventTargetHelper::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) src/dom/events/DOMEventTargetHelper.cpp:148:17 (libxul.so+0x621f1a5) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#38 mozilla::dom::EventTarget::DispatchEvent(mozilla::dom::Event&) src/dom/events/EventTarget.cpp:214:13 (libxul.so+0x6264416) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#39 mozilla::dom::MessageEventRunnable::DispatchDOMEvent(JSContext*, mozilla::dom::WorkerPrivate*, mozilla::DOMEventTargetHelper*, bool) src/dom/workers/MessageEventRunnable.cpp:80:12 (libxul.so+0x7792366) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#40 mozilla::dom::MessageEventRunnable::WorkerRun(JSContext*, mozilla::dom::WorkerPrivate*) src/dom/workers/MessageEventRunnable.cpp (libxul.so+0x77929b0) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#41 mozilla::dom::WorkerRunnable::Run() src/dom/workers/WorkerRunnable.cpp:378:12 (libxul.so+0x77d75fa) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#42 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1193:16 (libxul.so+0x32359ce) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#43 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#44 mozilla::dom::WorkerPrivate::DoRunLoop(JSContext*) src/dom/workers/WorkerPrivate.cpp:3386:7 (libxul.so+0x77c72e4) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#45 mozilla::dom::workerinternals::(anonymous namespace)::WorkerThreadPrimaryRunnable::Run() src/dom/workers/RuntimeService.cpp:2108:42 (libxul.so+0x77acbe1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#46 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1193:16 (libxul.so+0x32359ce) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#47 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#48 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:300:20 (libxul.so+0x3d6dd7e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#49 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#50 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#51 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#52 nsThread::ThreadFunc(void*) src/xpcom/threads/nsThread.cpp:370:10 (libxul.so+0x3231243) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#53 _pt_root src/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x4b1c9) (BuildId: 013ac6dfde6ba0632bf957fc68626f89e752c2e5)
Mutex M1 (0x7b44001212a8) created at:
#0 pthread_mutex_init /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1313:3 (firefox-bin+0xd4c70) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#1 mozilla::RecursiveMutex::RecursiveMutex(char const*) src/xpcom/threads/RecursiveMutex.cpp:50:3 (libxul.so+0x320cbed) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#2 mozilla::dom::FontFaceSetImpl::FontFaceSetImpl(mozilla::dom::FontFaceSet*) src/layout/style/FontFaceSetImpl.cpp:72:7 (libxul.so+0x8045efd) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#3 mozilla::dom::FontFaceSetWorkerImpl::FontFaceSetWorkerImpl(mozilla::dom::FontFaceSet*) src/layout/style/FontFaceSetWorkerImpl.cpp:32:7 (libxul.so+0x805406e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#4 mozilla::dom::FontFaceSet::CreateForWorker(nsIGlobalObject*, mozilla::dom::WorkerPrivate*) src/layout/style/FontFaceSet.cpp:122:44 (libxul.so+0x804275b) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#5 mozilla::dom::WorkerGlobalScope::GetFonts(mozilla::ErrorResult&) src/dom/workers/WorkerScope.cpp:518:20 (libxul.so+0x77dbcac) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#6 mozilla::dom::WorkerGlobalScope_Binding::get_fonts(JSContext*, JS::Handle<JSObject*>, void*, JSJitGetterCallArgs) /builds/worker/workspace/obj-build/dom/bindings/./WorkerGlobalScopeBinding.cpp:917:78 (libxul.so+0x579dea9) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#7 bool mozilla::dom::binding_detail::GenericGetter<mozilla::dom::binding_detail::MaybeGlobalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) src/dom/bindings/BindingUtils.cpp:3140:13 (libxul.so+0x5c400fb) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#8 CallJSNative src/js/src/vm/Interpreter.cpp:480:13 (libxul.so+0x9defea9) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#9 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:574:12 (libxul.so+0x9defea9)
#10 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0b27) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#11 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:673:8 (libxul.so+0x9df0b27)
#12 js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) src/js/src/vm/Interpreter.cpp:795:10 (libxul.so+0x9df17ef) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#13 CallGetter src/js/src/vm/NativeObject.cpp:2074:12 (libxul.so+0x9fb9e2f) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#14 GetExistingProperty<(js::AllowGC)1> src/js/src/vm/NativeObject.cpp:2102:12 (libxul.so+0x9fb9e2f)
#15 NativeGetPropertyInline<(js::AllowGC)1> src/js/src/vm/NativeObject.cpp:2250:14 (libxul.so+0x9fb9e2f)
#16 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) src/js/src/vm/NativeObject.cpp:2281:10 (libxul.so+0x9fb9e2f)
#17 GetProperty src/js/src/vm/ObjectOperations-inl.h:117:10 (libxul.so+0x9e1156b) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#18 GetProperty src/js/src/vm/ObjectOperations-inl.h:124:10 (libxul.so+0x9e1156b)
#19 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) src/js/src/vm/Interpreter.cpp:4519:10 (libxul.so+0x9e1156b)
#20 GetPropertyOperation src/js/src/vm/Interpreter.cpp:246:10 (libxul.so+0x9dfced2) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#21 js::Interpret(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:2716:12 (libxul.so+0x9dfced2)
#22 MaybeEnterInterpreterTrampoline src/js/src/vm/Interpreter.cpp:394:10 (libxul.so+0x9def4f1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#23 js::RunScript(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:452:13 (libxul.so+0x9def4f1)
#24 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:606:13 (libxul.so+0x9deff76) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#25 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0b27) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#26 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:673:8 (libxul.so+0x9df0b27)
#27 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) src/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0x9ea6cd3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#28 mozilla::dom::EventHandlerNonNull::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/./EventHandlerBinding.cpp:65:37 (libxul.so+0x5998630) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#29 Call<nsCOMPtr<mozilla::dom::EventTarget> > /builds/worker/workspace/obj-build/dist/include/mozilla/dom/EventHandlerBinding.h:82:12 (libxul.so+0x6286439) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#30 mozilla::JSEventHandler::HandleEvent(mozilla::dom::Event*) src/dom/events/JSEventHandler.cpp:199:12 (libxul.so+0x6286439)
#31 mozilla::EventListenerManager::HandleEventSingleListener(mozilla::EventListenerManager::Listener*, nsAtom*, mozilla::WidgetEvent*, mozilla::dom::Event*, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1349:22 (libxul.so+0x625be88) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#32 mozilla::EventListenerManager::HandleEventWithListenerArray(mozilla::EventListenerManager::ListenerArray*, nsAtom*, mozilla::EventMessage, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1664:12 (libxul.so+0x625d2cb) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#33 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) src/dom/events/EventListenerManager.cpp:1561:35 (libxul.so+0x625c610) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#34 HandleEvent /builds/worker/workspace/obj-build/dist/include/mozilla/EventListenerManager.h:465:5 (libxul.so+0x624f4a1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#35 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:364:17 (libxul.so+0x624f4a1)
#36 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:605:16 (libxul.so+0x624e228) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#37 mozilla::EventDispatcher::Dispatch(mozilla::dom::EventTarget*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) src/dom/events/EventDispatcher.cpp:1222:11 (libxul.so+0x6252549) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#38 mozilla::EventDispatcher::DispatchDOMEvent(mozilla::dom::EventTarget*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) src/dom/events/EventDispatcher.cpp (libxul.so+0x6256167) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#39 mozilla::DOMEventTargetHelper::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) src/dom/events/DOMEventTargetHelper.cpp:148:17 (libxul.so+0x621f1a5) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#40 mozilla::dom::EventTarget::DispatchEvent(mozilla::dom::Event&) src/dom/events/EventTarget.cpp:214:13 (libxul.so+0x6264416) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#41 mozilla::dom::MessageEventRunnable::DispatchDOMEvent(JSContext*, mozilla::dom::WorkerPrivate*, mozilla::DOMEventTargetHelper*, bool) src/dom/workers/MessageEventRunnable.cpp:80:12 (libxul.so+0x7792366) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#42 mozilla::dom::MessageEventRunnable::WorkerRun(JSContext*, mozilla::dom::WorkerPrivate*) src/dom/workers/MessageEventRunnable.cpp (libxul.so+0x77929b0) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#43 mozilla::dom::WorkerRunnable::Run() src/dom/workers/WorkerRunnable.cpp:378:12 (libxul.so+0x77d75fa) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#44 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1193:16 (libxul.so+0x32359ce) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#45 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#46 mozilla::dom::WorkerPrivate::DoRunLoop(JSContext*) src/dom/workers/WorkerPrivate.cpp:3386:7 (libxul.so+0x77c72e4) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#47 mozilla::dom::workerinternals::(anonymous namespace)::WorkerThreadPrimaryRunnable::Run() src/dom/workers/RuntimeService.cpp:2108:42 (libxul.so+0x77acbe1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#48 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1193:16 (libxul.so+0x32359ce) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#49 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#50 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:300:20 (libxul.so+0x3d6dd7e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#51 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#52 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#53 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#54 nsThread::ThreadFunc(void*) src/xpcom/threads/nsThread.cpp:370:10 (libxul.so+0x3231243) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#55 _pt_root src/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x4b1c9) (BuildId: 013ac6dfde6ba0632bf957fc68626f89e752c2e5)
Thread T23 'DOM Worker' (tid=132882, running) created by main thread at:
#0 pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1020:3 (firefox-bin+0xd328b) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#1 _PR_CreateThread src/nsprpub/pr/src/pthreads/ptthread.c:458:14 (libnspr4.so+0x4243e) (BuildId: 013ac6dfde6ba0632bf957fc68626f89e752c2e5)
#2 PR_CreateThread src/nsprpub/pr/src/pthreads/ptthread.c:533:12 (libnspr4.so+0x376d4) (BuildId: 013ac6dfde6ba0632bf957fc68626f89e752c2e5)
#3 nsThread::Init(nsTSubstring<char> const&) src/xpcom/threads/nsThread.cpp:620:20 (libxul.so+0x32329e7) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#4 mozilla::dom::WorkerThread::Create(mozilla::dom::WorkerThreadFriendKey const&) src/dom/workers/WorkerThread.cpp:101:7 (libxul.so+0x77e2a3b) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#5 mozilla::dom::workerinternals::RuntimeService::ScheduleWorker(mozilla::dom::WorkerPrivate&) src/dom/workers/RuntimeService.cpp:1313:37 (libxul.so+0x77950f3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#6 mozilla::dom::workerinternals::RuntimeService::RegisterWorker(mozilla::dom::WorkerPrivate&) src/dom/workers/RuntimeService.cpp:1195:19 (libxul.so+0x77944e7) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#7 mozilla::dom::WorkerPrivate::Constructor(JSContext*, nsTSubstring<char16_t> const&, bool, mozilla::dom::WorkerKind, mozilla::dom::RequestCredentials, mozilla::dom::WorkerType, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, mozilla::dom::WorkerLoadInfo*, mozilla::ErrorResult&, nsTString<char16_t>, std::function<void (bool)>&&, std::function<void ()>&&) src/dom/workers/WorkerPrivate.cpp:2654:24 (libxul.so+0x77c370c) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#8 mozilla::dom::Worker::Constructor(mozilla::dom::GlobalObject const&, nsTSubstring<char16_t> const&, mozilla::dom::WorkerOptions const&, mozilla::ErrorResult&) src/dom/workers/Worker.cpp:48:41 (libxul.so+0x77a28e2) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#9 mozilla::dom::Worker_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/./WorkerBinding.cpp:1158:52 (libxul.so+0x578ea7a) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#10 CallJSNative src/js/src/vm/Interpreter.cpp:480:13 (libxul.so+0x9df134a) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#11 CallJSNativeConstructor src/js/src/vm/Interpreter.cpp:496:8 (libxul.so+0x9df134a)
#12 InternalConstruct(JSContext*, js::AnyConstructArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:721:10 (libxul.so+0x9df134a)
#13 ConstructFromStack src/js/src/vm/Interpreter.cpp:749:10 (libxul.so+0x9e00a9e) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#14 js::Interpret(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:3046:16 (libxul.so+0x9e00a9e)
#15 MaybeEnterInterpreterTrampoline src/js/src/vm/Interpreter.cpp:394:10 (libxul.so+0x9def4f1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#16 js::RunScript(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:452:13 (libxul.so+0x9def4f1)
#17 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:606:13 (libxul.so+0x9deff76) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#18 InternalCall src/js/src/vm/Interpreter.cpp:641:10 (libxul.so+0x9df0b27) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#19 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:673:8 (libxul.so+0x9df0b27)
#20 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) src/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0x9ea6cd3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#21 mozilla::dom::EventListener::HandleEvent(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/./EventListenerBinding.cpp:62:8 (libxul.so+0x5999cd3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#22 HandleEvent<mozilla::dom::EventTarget *> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/EventListenerBinding.h:65:12 (libxul.so+0x625be70) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#23 mozilla::EventListenerManager::HandleEventSingleListener(mozilla::EventListenerManager::Listener*, nsAtom*, mozilla::WidgetEvent*, mozilla::dom::Event*, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1343:43 (libxul.so+0x625be70)
#24 mozilla::EventListenerManager::HandleEventWithListenerArray(mozilla::EventListenerManager::ListenerArray*, nsAtom*, mozilla::EventMessage, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, bool) src/dom/events/EventListenerManager.cpp:1664:12 (libxul.so+0x625d2cb) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#25 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) src/dom/events/EventListenerManager.cpp:1561:35 (libxul.so+0x625c610) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#26 HandleEvent /builds/worker/workspace/obj-build/dist/include/mozilla/EventListenerManager.h:465:5 (libxul.so+0x624f4a1) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#27 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:364:17 (libxul.so+0x624f4a1)
#28 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:605:16 (libxul.so+0x624e228) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#29 mozilla::EventDispatcher::Dispatch(mozilla::dom::EventTarget*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) src/dom/events/EventDispatcher.cpp:1222:11 (libxul.so+0x6252549) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#30 mozilla::EventDispatcher::DispatchDOMEvent(mozilla::dom::EventTarget*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) src/dom/events/EventDispatcher.cpp (libxul.so+0x6256167) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#31 nsINode::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) src/dom/base/nsINode.cpp:1404:17 (libxul.so+0x4c645fd) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#32 nsContentUtils::DispatchEvent(mozilla::dom::Document*, mozilla::dom::EventTarget*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, mozilla::Trusted, bool*, mozilla::ChromeOnlyDispatch) src/dom/base/nsContentUtils.cpp:4754:29 (libxul.so+0x49043cc) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#33 nsContentUtils::DispatchTrustedEvent(mozilla::dom::Document*, mozilla::dom::EventTarget*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, bool*) src/dom/base/nsContentUtils.cpp:4720:10 (libxul.so+0x4904229) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#34 mozilla::dom::Document::DispatchContentLoadedEvents() src/dom/base/Document.cpp:8107:3 (libxul.so+0x4aaaee4) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#35 operator()<> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1164:18 (libxul.so+0x4b1f139) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#36 __invoke_impl<void, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9)> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x4b1f139)
#37 __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9)> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x4b1f139)
#38 __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), std::tuple<> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x4b1f139)
#39 apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), std::tuple<> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x4b1f139)
#40 apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1162:12 (libxul.so+0x4b1f139)
#41 mozilla::detail::RunnableMethodImpl<mozilla::dom::Document*, void (mozilla::dom::Document::*)(), true, (mozilla::RunnableKind)0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1213:13 (libxul.so+0x4b1f139)
#42 mozilla::RunnableTask::Run() src/xpcom/threads/TaskController.cpp:578:16 (libxul.so+0x321d752) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#43 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) src/xpcom/threads/TaskController.cpp:905:26 (libxul.so+0x3211f43) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#44 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) src/xpcom/threads/TaskController.cpp:728:15 (libxul.so+0x3210776) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#45 mozilla::TaskController::ProcessPendingMTTask(bool) src/xpcom/threads/TaskController.cpp:514:36 (libxul.so+0x3210aaf) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#46 operator() src/xpcom/threads/TaskController.cpp:232:37 (libxul.so+0x32209f4) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#47 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() src/xpcom/threads/nsThreadUtils.h:548:5 (libxul.so+0x32209f4)
#48 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1199:16 (libxul.so+0x32357b8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#49 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x323bf84) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#50 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x3d6d1ee) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#51 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:268:30 (libxul.so+0x3d6dcbb) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#52 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#53 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#54 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#55 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x7d1d1e3) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#56 nsAppShell::Run() src/widget/gtk/nsAppShell.cpp:470:33 (libxul.so+0x7e0ae9c) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#57 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:721:20 (libxul.so+0x9c57e5f) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#58 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x3d6dc6a) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#59 RunInternal src/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ce6ec8) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#60 RunHandler src/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ce6ec8)
#61 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ce6ec8)
#62 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:656:34 (libxul.so+0x9c57ac0) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#63 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x9c63f92) (BuildId: fbe278bdf2bf6f09068ff0a6ad9a6f8fa379f09b)
#64 content_process_main src/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox-bin+0x15c142) (BuildId: 3f9edf2c7d6f60ef39bfb14b1180c67f1e585547)
#65 main src/browser/app/nsBrowserApp.cpp:375:18 (firefox-bin+0x15c142)
Comment 1•1 year ago
|
||
From the line numbers, it looks like the race is on FontFaceImpl::mInFontFaceSet.
Updated•1 year ago
|
Updated•1 year ago
|
Assignee | ||
Comment 4•10 months ago
|
||
No functional change here, just cleanup in preparation for the following patch.
We don't need FontFaceImpl to create a mutex, as there's already a lock (RWLock)
in its base class gfxFontEntry, and we can use that to guard the fields here.
Updated•10 months ago
|
Assignee | ||
Comment 5•10 months ago
|
||
This should fix the intermittently-reported race here, by ensuring that access into
the FontFaceImpl from GetUserFontSets(), called by the main thread, cannot race with
changes being made by the AddFontSet()/RemoveFontSet() methods.
(If the FontFaceImpl doesn't have an mUserFontEntry yet, then these methods don't
need to lock, as only the owning thread will be touching it.)
Comment 7•10 months ago
|
||
https://hg.mozilla.org/mozilla-central/rev/139d3b840241
https://hg.mozilla.org/mozilla-central/rev/4a497e92bd00
Comment 8•10 months ago
|
||
Since nightly and release are affected, beta will likely be affected too.
For more information, please visit BugBot documentation.
Updated•10 months ago
|
Assignee | ||
Updated•10 months ago
|
Updated•10 months ago
|
Comment 9•10 months ago
|
||
:jfkthame this grafts cleanly to esr115.
Could you please add an esr115 uplift request?
Assignee | ||
Comment 10•9 months ago
|
||
No functional change here, just cleanup in preparation for the following patch.
We don't need FontFaceImpl to create a mutex, as there's already a lock (RWLock)
in its base class gfxFontEntry, and we can use that to guard the fields here.
Original Revision: https://phabricator.services.mozilla.com/D207295
Updated•9 months ago
|
Assignee | ||
Comment 11•9 months ago
|
||
No functional change here, just cleanup in preparation for the following patch.
We don't need FontFaceImpl to create a mutex, as there's already a lock (RWLock)
in its base class gfxFontEntry, and we can use that to guard the fields here.
Original Revision: https://phabricator.services.mozilla.com/D207295
Updated•9 months ago
|
Assignee | ||
Comment 12•9 months ago
|
||
This should fix the intermittently-reported race here, by ensuring that access into
the FontFaceImpl from GetUserFontSets(), called by the main thread, cannot race with
changes being made by the AddFontSet()/RemoveFontSet() methods.
(If the FontFaceImpl doesn't have an mUserFontEntry yet, then these methods don't
need to lock, as only the owning thread will be touching it.)
Original Revision: https://phabricator.services.mozilla.com/D207296
Updated•9 months ago
|
Updated•9 months ago
|
Comment 13•9 months ago
|
||
esr115 Uplift Approval Request
- User impact if declined: data race when managing webfonts
- Code covered by automated testing: no
- Fix verified in Nightly: no
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: n/a
- Risk associated with taking this patch: low
- Explanation of risk level: just adding a lock around font management operations
- String changes made/needed: none
- Is Android affected?: yes
Updated•9 months ago
|
Updated•9 months ago
|
Comment 14•9 months ago
|
||
uplift |
Updated•9 months ago
|
Updated•9 months ago
|
Updated•4 months ago
|
Description
•