Closed Bug 1980271 Opened 1 year ago Closed 1 year ago

Atomics.waitAsync tsan failure in atomics-wait-async.https.any.worker.html

Categories

(Core :: JavaScript Engine, defect, P2)

defect

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox144 --- fixed

People

(Reporter: dminor, Assigned: iain)

References

Details

Attachments

(1 file)

From the log for the failing job, I see Atomics.waitAsync on the second stack:

[task 2025-07-30T20:08:49.179+00:00] 20:08:49     INFO - PID 25694 | WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=30044)
[task 2025-07-30T20:08:49.180+00:00] 20:08:49     INFO - PID 25694 |   Cycle in lock order graph: M0 (0x720c000524d0) => M1 (0x720c00002910) => M0
[task 2025-07-30T20:08:49.181+00:00] 20:08:49     INFO - PID 25694 |   Mutex M1 acquired here while holding mutex M0 in main thread:
[task 2025-07-30T20:08:49.181+00:00] 20:08:49     INFO - PID 25694 |     #0 pthread_mutex_lock /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1353:3 (firefox-bin+0xc59ee) (BuildId: 70ea66d85933ae5ae8c202af09a7c10c812532ae)
[task 2025-07-30T20:08:49.182+00:00] 20:08:49     INFO - PID 25694 |     #1 mutexLock /builds/worker/checkouts/gecko/mozglue/misc/Mutex_posix.cpp:94:3 (firefox-bin+0x1b1177) (BuildId: 70ea66d85933ae5ae8c202af09a7c10c812532ae)
[task 2025-07-30T20:08:49.183+00:00] 20:08:49     INFO - PID 25694 |     #2 mozilla::detail::MutexImpl::lock() /builds/worker/checkouts/gecko/mozglue/misc/Mutex_posix.cpp:116:43 (firefox-bin+0x1b1177)
[task 2025-07-30T20:08:49.184+00:00] 20:08:49     INFO - PID 25694 |     #3 lock /builds/worker/checkouts/gecko/js/src/threading/Mutex.h:77:23 (libxul.so+0xa3660da) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.184+00:00] 20:08:49     INFO - PID 25694 |     #4 js::FutexThread::lock() /builds/worker/checkouts/gecko/js/src/builtin/AtomicsObject.cpp:1601:9 (libxul.so+0xa3660da)
[task 2025-07-30T20:08:49.185+00:00] 20:08:49     INFO - PID 25694 |     #5 JSContext::requestInterrupt(js::InterruptReason) /builds/worker/checkouts/gecko/js/src/vm/Runtime.cpp:479:5 (libxul.so+0xa5e815d) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.186+00:00] 20:08:49     INFO - PID 25694 |     #6 JS_RequestInterruptCallback(JSContext*) /builds/worker/checkouts/gecko/js/src/jsapi.cpp:3160:7 (libxul.so+0xa7febaa) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.187+00:00] 20:08:49     INFO - PID 25694 |     #7 mozilla::dom::WorkerPrivate::DispatchControlRunnable(already_AddRefed<mozilla::dom::WorkerRunnable>) /builds/worker/checkouts/gecko/dom/workers/WorkerPrivate.cpp:1946:7 (libxul.so+0x8c254ad) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.187+00:00] 20:08:49     INFO - PID 25694 |     #8 mozilla::dom::WorkerPrivate::Dispatch(already_AddRefed<mozilla::dom::WorkerRunnable>, nsIEventTarget*) /builds/worker/checkouts/gecko/dom/workers/WorkerPrivate.cpp:1549:14 (libxul.so+0x8c252b1) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.189+00:00] 20:08:49     INFO - PID 25694 |     #9 mozilla::dom::WorkerThreadRunnable::DispatchInternal(mozilla::dom::WorkerPrivate*) /builds/worker/checkouts/gecko/dom/workers/WorkerRunnable.cpp:340:10 (libxul.so+0x8c42cdb) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.189+00:00] 20:08:49     INFO - PID 25694 |     #10 mozilla::dom::WorkerRunnable::Dispatch(mozilla::dom::WorkerPrivate*) /builds/worker/checkouts/gecko/dom/workers/WorkerRunnable.cpp:90:10 (libxul.so+0x8c22e1c) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.190+00:00] 20:08:49     INFO - PID 25694 |     #11 mozilla::dom::PerformanceStorageWorker::AddEntry(nsIHttpChannel*, nsITimedChannel*) /builds/worker/checkouts/gecko/dom/performance/PerformanceStorageWorker.cpp:121:13 (libxul.so+0x8ebaea4) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.191+00:00] 20:08:49     INFO - PID 25694 |     #12 mozilla::net::HttpBaseChannel::MaybeReportTimingData() /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpBaseChannel.cpp:5891:26 (libxul.so+0x416c77b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.192+00:00] 20:08:49     INFO - PID 25694 |     #13 mozilla::net::HttpChannelChild::DoPreOnStopRequest(nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:1127:3 (libxul.so+0x4179207) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.193+00:00] 20:08:49     INFO - PID 25694 |     #14 mozilla::net::HttpChannelChild::OnStopRequest(nsresult const&, mozilla::net::ResourceTimingStructArgs const&, mozilla::net::nsHttpHeaderArray const&) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:1070:3 (libxul.so+0x4178e3c) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.193+00:00] 20:08:49     INFO - PID 25694 |     #15 operator() /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:937:15 (libxul.so+0x41ad3ae) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.195+00:00] 20:08:49     INFO - PID 25694 |     #16 std::_Function_handler<void (), mozilla::net::HttpChannelChild::ProcessOnStopRequest(nsresult const&, mozilla::net::ResourceTimingStructArgs const&, mozilla::net::nsHttpHeaderArray const&, nsTArray<mozilla::net::ConsoleReportCollected>&&, bool, mozilla::TimeStamp const&)::$_2>::_M_invoke(std::_Any_data const&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:297:2 (libxul.so+0x41ad3ae)
[task 2025-07-30T20:08:49.195+00:00] 20:08:49     INFO - PID 25694 |     #17 operator() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x409aac3) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.196+00:00] 20:08:49     INFO - PID 25694 |     #18 mozilla::net::ChannelFunctionEvent::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/net/ChannelEventQueue.h:56:25 (libxul.so+0x409aac3)
[task 2025-07-30T20:08:49.197+00:00] 20:08:49     INFO - PID 25694 |     #19 mozilla::net::ChannelEventQueue::FlushQueue() /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.cpp:85:14 (libxul.so+0x4364f44) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.197+00:00] 20:08:49     INFO - PID 25694 |     #20 MaybeFlushQueue /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.h:352:5 (libxul.so+0x438814b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.198+00:00] 20:08:49     INFO - PID 25694 |     #21 CompleteResume /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.h:337:5 (libxul.so+0x438814b)
[task 2025-07-30T20:08:49.199+00:00] 20:08:49     INFO - PID 25694 |     #22 mozilla::net::ChannelEventQueue::ResumeInternal()::CompleteResumeRunnable::Run() /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.cpp:144:17 (libxul.so+0x438814b)
[task 2025-07-30T20:08:49.199+00:00] 20:08:49     INFO - PID 25694 |     #23 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:703:16 (libxul.so+0x3a06052) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.200+00:00] 20:08:49     INFO - PID 25694 |     #24 mozilla::TaskController::RunTask(mozilla::Task*) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:196:19 (libxul.so+0x39fb4f1) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.201+00:00] 20:08:49     INFO - PID 25694 |     #25 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:1310:20 (libxul.so+0x39ff5e0) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.204+00:00] 20:08:49     INFO - PID 25694 |     #26 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:1133:15 (libxul.so+0x39fe146) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.204+00:00] 20:08:49     INFO - PID 25694 |     #27 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:639:36 (libxul.so+0x39fe47f) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.204+00:00] 20:08:49     INFO - PID 25694 |     #28 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:336:37 (libxul.so+0x3a0ccd7) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.204+00:00] 20:08:49     INFO - PID 25694 |     #29 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_1>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548:5 (libxul.so+0x3a0ccd7)
[task 2025-07-30T20:08:49.205+00:00] 20:08:49     INFO - PID 25694 |     #30 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1159:16 (libxul.so+0x3a1f62a) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.206+00:00] 20:08:49     INFO - PID 25694 |     #31 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3a25b24) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.206+00:00] 20:08:49     INFO - PID 25694 |     #32 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:107:5 (libxul.so+0x458abf3) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.207+00:00] 20:08:49     INFO - PID 25694 |     #33 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:267:30 (libxul.so+0x458b34b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.207+00:00] 20:08:49     INFO - PID 25694 |     #34 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4508a68) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.207+00:00] 20:08:49     INFO - PID 25694 |     #35 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.208+00:00] 20:08:49     INFO - PID 25694 |     #36 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.208+00:00] 20:08:49     INFO - PID 25694 |     #37 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x918e733) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.209+00:00] 20:08:49     INFO - PID 25694 |     #38 nsAppShell::Run() /builds/worker/checkouts/gecko/widget/gtk/nsAppShell.cpp:471:33 (libxul.so+0x929fbca) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.212+00:00] 20:08:49     INFO - PID 25694 |     #39 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:647:20 (libxul.so+0xa2364af) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.212+00:00] 20:08:49     INFO - PID 25694 |     #40 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x458b2fa) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.213+00:00] 20:08:49     INFO - PID 25694 |     #41 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4508a68) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.213+00:00] 20:08:49     INFO - PID 25694 |     #42 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.214+00:00] 20:08:49     INFO - PID 25694 |     #43 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.214+00:00] 20:08:49     INFO - PID 25694 |     #44 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:585:34 (libxul.so+0xa23560d) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.216+00:00] 20:08:49     INFO - PID 25694 |     #45 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:60:12 (libxul.so+0xa23feb2) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.216+00:00] 20:08:49     INFO - PID 25694 |     #46 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:397:22 (firefox-bin+0x1472fd) (BuildId: 70ea66d85933ae5ae8c202af09a7c10c812532ae)
[task 2025-07-30T20:08:49.217+00:00] 20:08:49     INFO - PID 25694 |     Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
[task 2025-07-30T20:08:49.218+00:00] 20:08:49     INFO - PID 25694 |   Mutex M0 acquired here while holding mutex M1 in thread T23:
[task 2025-07-30T20:08:49.219+00:00] 20:08:49     INFO - PID 25694 |     #0 pthread_mutex_lock /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1353:3 (firefox-bin+0xc59ee) (BuildId: 70ea66d85933ae5ae8c202af09a7c10c812532ae)
[task 2025-07-30T20:08:49.220+00:00] 20:08:49     INFO - PID 25694 |     #1 mutexLock /builds/worker/checkouts/gecko/mozglue/misc/Mutex_posix.cpp:94:3 (firefox-bin+0x1b1177) (BuildId: 70ea66d85933ae5ae8c202af09a7c10c812532ae)
[task 2025-07-30T20:08:49.221+00:00] 20:08:49     INFO - PID 25694 |     #2 mozilla::detail::MutexImpl::lock() /builds/worker/checkouts/gecko/mozglue/misc/Mutex_posix.cpp:116:43 (firefox-bin+0x1b1177)
[task 2025-07-30T20:08:49.223+00:00] 20:08:49     INFO - PID 25694 |     #3 Lock /builds/worker/workspace/obj-build/dist/include/mozilla/Mutex.h:66:48 (libxul.so+0x8c3c988) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.223+00:00] 20:08:49     INFO - PID 25694 |     #4 BaseAutoLock /builds/worker/workspace/obj-build/dist/include/mozilla/Mutex.h:161:11 (libxul.so+0x8c3c988)
[task 2025-07-30T20:08:49.223+00:00] 20:08:49     INFO - PID 25694 |     #5 mozilla::dom::WorkerPrivate::SetTimeout(JSContext*, mozilla::dom::TimeoutHandler*, int, bool, mozilla::dom::Timeout::Reason, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/workers/WorkerPrivate.cpp:5913:19 (libxul.so+0x8c3c988)
[task 2025-07-30T20:08:49.223+00:00] 20:08:49     INFO - PID 25694 |     #6 mozilla::dom::workerinternals::(anonymous namespace)::DelayedDispatchToEventLoop(void*, std::unique_ptr<JS::Dispatchable, JS::DeletePolicy<JS::Dispatchable>>&&, unsigned int) /builds/worker/checkouts/gecko/dom/workers/RuntimeService.cpp:719:18 (libxul.so+0x8c15600) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.241+00:00] 20:08:49     INFO - PID 25694 |     #7 js::OffThreadPromiseRuntimeState::delayedDispatchToEventLoop(std::unique_ptr<JS::Dispatchable, JS::DeletePolicy<JS::Dispatchable>>&&, unsigned int) /builds/worker/checkouts/gecko/js/src/vm/OffThreadPromiseRuntimeState.cpp:282:10 (libxul.so+0xa5ba7ab) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.241+00:00] 20:08:49     INFO - PID 25694 |     #8 AtomicsWaitAsyncCriticalSection<int> /builds/worker/checkouts/gecko/js/src/builtin/AtomicsObject.cpp:1131:17 (libxul.so+0xa364eee) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.241+00:00] 20:08:49     INFO - PID 25694 |     #9 AtomicsWaitAsync<int> /builds/worker/checkouts/gecko/js/src/builtin/AtomicsObject.cpp:1154:11 (libxul.so+0xa364eee)
[task 2025-07-30T20:08:49.241+00:00] 20:08:49     INFO - PID 25694 |     #10 js::atomics_wait_async_impl(JSContext*, js::SharedArrayRawBuffer*, unsigned long, int, mozilla::Maybe<mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>> const&) /builds/worker/checkouts/gecko/js/src/builtin/AtomicsObject.cpp:1227:10 (libxul.so+0xa364eee)
[task 2025-07-30T20:08:49.241+00:00] 20:08:49     INFO - PID 25694 |     #11 DoAtomicsWait<int> /builds/worker/checkouts/gecko/js/src/builtin/AtomicsObject.cpp:1286:33 (libxul.so+0xa38d65e) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.242+00:00] 20:08:49     INFO - PID 25694 |     #12 DoWait(JSContext*, bool, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/builtin/AtomicsObject.cpp:1347:12 (libxul.so+0xa38d65e)
[task 2025-07-30T20:08:49.242+00:00] 20:08:49     INFO - PID 25694 |     #13 atomics_wait_async(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/src/builtin/AtomicsObject.cpp:1387:10 (libxul.so+0xa38bbde) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.242+00:00] 20:08:49     INFO - PID 25694 |     #14 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:501:13 (libxul.so+0xa39265b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.243+00:00] 20:08:49     INFO - PID 25694 |     #15 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:597:12 (libxul.so+0xa39265b)
[task 2025-07-30T20:08:49.243+00:00] 20:08:49     INFO - PID 25694 |     #16 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:664:10 (libxul.so+0xa3a0d3a) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.243+00:00] 20:08:49     INFO - PID 25694 |     #17 CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:669:10 (libxul.so+0xa3a0d3a)
[task 2025-07-30T20:08:49.244+00:00] 20:08:49     INFO - PID 25694 |     #18 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3287:16 (libxul.so+0xa3a0d3a)
[task 2025-07-30T20:08:49.244+00:00] 20:08:49     INFO - PID 25694 |     #19 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:395:10 (libxul.so+0xa391bb5) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.244+00:00] 20:08:49     INFO - PID 25694 |     #20 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:471:13 (libxul.so+0xa391bb5)
[task 2025-07-30T20:08:49.244+00:00] 20:08:49     INFO - PID 25694 |     #21 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:629:13 (libxul.so+0xa392740) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.245+00:00] 20:08:49     INFO - PID 25694 |     #22 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:664:10 (libxul.so+0xa393300) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.245+00:00] 20:08:49     INFO - PID 25694 |     #23 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:696:8 (libxul.so+0xa393300)
[task 2025-07-30T20:08:49.245+00:00] 20:08:49     INFO - PID 25694 |     #24 js::fun_apply(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/src/vm/JSFunction.cpp:1161:10 (libxul.so+0xa4e2e04) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.245+00:00] 20:08:49     INFO - PID 25694 |     #25 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:501:13 (libxul.so+0xa39265b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.246+00:00] 20:08:49     INFO - PID 25694 |     #26 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:597:12 (libxul.so+0xa39265b)
[task 2025-07-30T20:08:49.248+00:00] 20:08:49     INFO - PID 25694 |     #27 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:664:10 (libxul.so+0xa3a0d3a) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.248+00:00] 20:08:49     INFO - PID 25694 |     #28 CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:669:10 (libxul.so+0xa3a0d3a)
[task 2025-07-30T20:08:49.249+00:00] 20:08:49     INFO - PID 25694 |     #29 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3287:16 (libxul.so+0xa3a0d3a)
[task 2025-07-30T20:08:49.249+00:00] 20:08:49     INFO - PID 25694 |     #30 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:395:10 (libxul.so+0xa391bb5) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.249+00:00] 20:08:49     INFO - PID 25694 |     #31 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:471:13 (libxul.so+0xa391bb5)
[task 2025-07-30T20:08:49.249+00:00] 20:08:49     INFO - PID 25694 |     #32 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:629:13 (libxul.so+0xa392740) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.250+00:00] 20:08:49     INFO - PID 25694 |     #33 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:664:10 (libxul.so+0xa393300) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.251+00:00] 20:08:49     INFO - PID 25694 |     #34 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:696:8 (libxul.so+0xa393300)
[task 2025-07-30T20:08:49.252+00:00] 20:08:49     INFO - PID 25694 |     #35 js::PromiseObject::create(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, bool) /builds/worker/checkouts/gecko/js/src/builtin/Promise.cpp:3058:15 (libxul.so+0xa57b53a) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.253+00:00] 20:08:49     INFO - PID 25694 |     #36 PromiseConstructor(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/src/builtin/Promise.cpp:2960:7 (libxul.so+0xa57a8f2) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.253+00:00] 20:08:49     INFO - PID 25694 |     #37 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:501:13 (libxul.so+0xa3937e3) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.254+00:00] 20:08:49     INFO - PID 25694 |     #38 CallJSNativeConstructor /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:519:8 (libxul.so+0xa3937e3)
[task 2025-07-30T20:08:49.255+00:00] 20:08:49     INFO - PID 25694 |     #39 InternalConstruct(JSContext*, js::AnyConstructArgs const&, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:725:14 (libxul.so+0xa3937e3)
[task 2025-07-30T20:08:49.255+00:00] 20:08:49     INFO - PID 25694 |     #40 ConstructFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:772:10 (libxul.so+0xa3a0d71) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.256+00:00] 20:08:49     INFO - PID 25694 |     #41 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3272:16 (libxul.so+0xa3a0d71)
[task 2025-07-30T20:08:49.257+00:00] 20:08:49     INFO - PID 25694 |     #42 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:395:10 (libxul.so+0xa391bb5) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.257+00:00] 20:08:49     INFO - PID 25694 |     #43 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:471:13 (libxul.so+0xa391bb5)
[task 2025-07-30T20:08:49.260+00:00] 20:08:49     INFO - PID 25694 |     #44 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:629:13 (libxul.so+0xa392740) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.260+00:00] 20:08:49     INFO - PID 25694 |     #45 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:664:10 (libxul.so+0xa393300) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.260+00:00] 20:08:49     INFO - PID 25694 |     #46 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:696:8 (libxul.so+0xa393300)
[task 2025-07-30T20:08:49.260+00:00] 20:08:49     INFO - PID 25694 |     #47 Call /builds/worker/checkouts/gecko/js/src/vm/Interpreter.h:120:10 (libxul.so+0xa58f169) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.261+00:00] 20:08:49     INFO - PID 25694 |     #48 PromiseReactionJob(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/src/builtin/Promise.cpp:2440:10 (libxul.so+0xa58f169)
[task 2025-07-30T20:08:49.262+00:00] 20:08:49     INFO - PID 25694 |     #49 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:501:13 (libxul.so+0xa39265b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.262+00:00] 20:08:49     INFO - PID 25694 |     #50 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:597:12 (libxul.so+0xa39265b)
[task 2025-07-30T20:08:49.263+00:00] 20:08:49     INFO - PID 25694 |     #51 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:664:10 (libxul.so+0xa393300) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.264+00:00] 20:08:49     INFO - PID 25694 |     #52 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:696:8 (libxul.so+0xa393300)
[task 2025-07-30T20:08:49.265+00:00] 20:08:49     INFO - PID 25694 |     #53 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0xa441243) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.268+00:00] 20:08:49     INFO - PID 25694 |     #54 mozilla::PromiseJobRunnable::Call() /builds/worker/checkouts/gecko/xpcom/base/CycleCollectedJSContext.cpp:214:10 (libxul.so+0x390d327) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.268+00:00] 20:08:49     INFO - PID 25694 |     #55 mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) /builds/worker/checkouts/gecko/xpcom/base/CycleCollectedJSContext.cpp:237:7 (libxul.so+0x390cc1f) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.268+00:00] 20:08:49     INFO - PID 25694 |     #56 non-virtual thunk to mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) /builds/worker/checkouts/gecko/xpcom/base/CycleCollectedJSContext.cpp (libxul.so+0x390ce52) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.268+00:00] 20:08:49     INFO - PID 25694 |     #57 mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool) /builds/worker/checkouts/gecko/xpcom/base/CycleCollectedJSContext.cpp:885:17 (libxul.so+0x38f6677) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.268+00:00] 20:08:49     INFO - PID 25694 |     #58 mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int) /builds/worker/checkouts/gecko/xpcom/base/CycleCollectedJSContext.cpp:653:3 (libxul.so+0x38f72a7) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.269+00:00] 20:08:49     INFO - PID 25694 |     #59 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1215:24 (libxul.so+0x3a1fbf2) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.270+00:00] 20:08:49     INFO - PID 25694 |     #60 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3a25b24) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.270+00:00] 20:08:49     INFO - PID 25694 |     #61 mozilla::dom::WorkerPrivate::DoRunLoop(JSContext*) /builds/worker/checkouts/gecko/dom/workers/WorkerPrivate.cpp:3956:7 (libxul.so+0x8c33059) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.271+00:00] 20:08:49     INFO - PID 25694 |     #62 mozilla::dom::workerinternals::(anonymous namespace)::WorkerThreadPrimaryRunnable::Run() /builds/worker/checkouts/gecko/dom/workers/RuntimeService.cpp:2265:42 (libxul.so+0x8c13bf8) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.272+00:00] 20:08:49     INFO - PID 25694 |     #63 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16 (libxul.so+0x3a1f854) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.273+00:00] 20:08:49     INFO - PID 25694 |     #64 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3a25b24) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.274+00:00] 20:08:49     INFO - PID 25694 |     #65 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:299:20 (libxul.so+0x458b43e) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.275+00:00] 20:08:49     INFO - PID 25694 |     #66 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4508a68) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.275+00:00] 20:08:49     INFO - PID 25694 |     #67 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.276+00:00] 20:08:49     INFO - PID 25694 |     #68 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.277+00:00] 20:08:49     INFO - PID 25694 |     #69 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:366:10 (libxul.so+0x3a1b4d0) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.278+00:00] 20:08:49     INFO - PID 25694 |     #70 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:191:3 (libnspr4.so+0x4b0e8) (BuildId: ed70c709780ed7e0c3ab80e2dc0c6eef41598a63)
[task 2025-07-30T20:08:49.278+00:00] 20:08:49     INFO - PID 25694 |   Thread T23 'DOM Worker' (tid=30104, running) created by main thread at:
[task 2025-07-30T20:08:49.279+00:00] 20:08:49     INFO - PID 25694 |     #0 pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (firefox-bin+0xc3ce1) (BuildId: 70ea66d85933ae5ae8c202af09a7c10c812532ae)
[task 2025-07-30T20:08:49.280+00:00] 20:08:49     INFO - PID 25694 |     #1 _PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:429:10 (libnspr4.so+0x423ee) (BuildId: ed70c709780ed7e0c3ab80e2dc0c6eef41598a63)
[task 2025-07-30T20:08:49.280+00:00] 20:08:49     INFO - PID 25694 |     #2 PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:496:10 (libnspr4.so+0x376f4) (BuildId: ed70c709780ed7e0c3ab80e2dc0c6eef41598a63)
[task 2025-07-30T20:08:49.283+00:00] 20:08:49     INFO - PID 25694 |     #3 nsThread::Init(nsTSubstring<char> const&) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:615:20 (libxul.so+0x3a1cc77) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.283+00:00] 20:08:49     INFO - PID 25694 |     #4 mozilla::dom::WorkerThread::Create(mozilla::dom::WorkerThreadFriendKey const&) /builds/worker/checkouts/gecko/dom/workers/WorkerThread.cpp:97:7 (libxul.so+0x8c4f30b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.283+00:00] 20:08:49     INFO - PID 25694 |     #5 mozilla::dom::workerinternals::RuntimeService::ScheduleWorker(mozilla::dom::WorkerPrivate&) /builds/worker/checkouts/gecko/dom/workers/RuntimeService.cpp:1411:37 (libxul.so+0x8bfcce3) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.283+00:00] 20:08:49     INFO - PID 25694 |     #6 mozilla::dom::workerinternals::RuntimeService::RegisterWorker(mozilla::dom::WorkerPrivate&) /builds/worker/checkouts/gecko/dom/workers/RuntimeService.cpp:1294:19 (libxul.so+0x8bfc06e) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.285+00:00] 20:08:49     INFO - PID 25694 |     #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 ()>&&, mozilla::ipc::Endpoint<mozilla::dom::PRemoteWorkerNonLifeCycleOpControllerChild>&&) /builds/worker/checkouts/gecko/dom/workers/WorkerPrivate.cpp:3134:24 (libxul.so+0x8c2ea84) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.288+00:00] 20:08:49     INFO - PID 25694 |     #8 mozilla::dom::Worker::Constructor(mozilla::dom::GlobalObject const&, mozilla::dom::TrustedScriptURLOrUSVString const&, mozilla::dom::WorkerOptions const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/workers/Worker.cpp:80:41 (libxul.so+0x8c0a36e) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.289+00:00] 20:08:49     INFO - PID 25694 |     #9 mozilla::dom::Worker_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/./WorkerBinding.cpp:1084:52 (libxul.so+0x66d127c) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.289+00:00] 20:08:49     INFO - PID 25694 |     #10 mozilla::dom::InterfaceObjectJSNative(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:754:10 (libxul.so+0x6c38665) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.289+00:00] 20:08:49     INFO - PID 25694 |     #11 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:501:13 (libxul.so+0xa3937e3) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.289+00:00] 20:08:49     INFO - PID 25694 |     #12 CallJSNativeConstructor /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:519:8 (libxul.so+0xa3937e3)
[task 2025-07-30T20:08:49.289+00:00] 20:08:49     INFO - PID 25694 |     #13 InternalConstruct(JSContext*, js::AnyConstructArgs const&, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:725:14 (libxul.so+0xa3937e3)
[task 2025-07-30T20:08:49.289+00:00] 20:08:49     INFO - PID 25694 |     #14 ConstructFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:772:10 (libxul.so+0xa3a0d71) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.290+00:00] 20:08:49     INFO - PID 25694 |     #15 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3272:16 (libxul.so+0xa3a0d71)
[task 2025-07-30T20:08:49.291+00:00] 20:08:49     INFO - PID 25694 |     #16 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:395:10 (libxul.so+0xa391bb5) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.291+00:00] 20:08:49     INFO - PID 25694 |     #17 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:471:13 (libxul.so+0xa391bb5)
[task 2025-07-30T20:08:49.292+00:00] 20:08:49     INFO - PID 25694 |     #18 ExecuteKernel /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:862:13 (libxul.so+0xa39463f) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.293+00:00] 20:08:49     INFO - PID 25694 |     #19 js::Execute(JSContext*, JS::Handle<JSScript*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:895:10 (libxul.so+0xa39463f)
[task 2025-07-30T20:08:49.293+00:00] 20:08:49     INFO - PID 25694 |     #20 ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/CompilationAndEvaluation.cpp:593:10 (libxul.so+0xa453470) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.294+00:00] 20:08:49     INFO - PID 25694 |     #21 JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>) /builds/worker/checkouts/gecko/js/src/vm/CompilationAndEvaluation.cpp:617:10 (libxul.so+0xa453634) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.295+00:00] 20:08:49     INFO - PID 25694 |     #22 ExecuteCompiledScript /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2780:8 (libxul.so+0x8f31e13) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.298+00:00] 20:08:49     INFO - PID 25694 |     #23 mozilla::dom::ScriptLoader::EvaluateScript(nsIGlobalObject*, JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:3353:7 (libxul.so+0x8f31e13)
[task 2025-07-30T20:08:49.298+00:00] 20:08:49     INFO - PID 25694 |     #24 mozilla::dom::ScriptLoader::EvaluateScriptElement(JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2866:10 (libxul.so+0x8f312aa) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.298+00:00] 20:08:49     INFO - PID 25694 |     #25 mozilla::dom::ScriptLoader::ProcessRequest(JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2464:10 (libxul.so+0x8f2de32) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.298+00:00] 20:08:49     INFO - PID 25694 |     #26 mozilla::dom::ScriptLoader::ProcessInlineScript(nsIScriptElement*, JS::loader::ScriptKind) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:1710:10 (libxul.so+0x8f2bfa7) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.299+00:00] 20:08:49     INFO - PID 25694 |     #27 mozilla::dom::ScriptLoader::ProcessScriptElement(nsIScriptElement*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:1257:10 (libxul.so+0x8f1f89b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.300+00:00] 20:08:49     INFO - PID 25694 |     #28 mozilla::dom::ScriptElement::MaybeProcessScript() /builds/worker/checkouts/gecko/dom/script/ScriptElement.cpp:223:18 (libxul.so+0x8f1f546) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.303+00:00] 20:08:49     INFO - PID 25694 |     #29 AttemptToExecute /builds/worker/workspace/obj-build/dist/include/nsIScriptElement.h:221:18 (libxul.so+0x4978f98) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.303+00:00] 20:08:49     INFO - PID 25694 |     #30 nsHtml5TreeOpExecutor::RunScript(nsIContent*, bool) /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeOpExecutor.cpp:926:22 (libxul.so+0x4978f98)
[task 2025-07-30T20:08:49.303+00:00] 20:08:49     INFO - PID 25694 |     #31 nsHtml5TreeOpExecutor::RunFlushLoop() /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeOpExecutor.cpp:705:7 (libxul.so+0x49769dd) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.303+00:00] 20:08:49     INFO - PID 25694 |     #32 nsHtml5ExecutorReflusher::Run() /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeOpExecutor.cpp:83:16 (libxul.so+0x497dbf7) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.303+00:00] 20:08:49     INFO - PID 25694 |     #33 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:703:16 (libxul.so+0x3a06052) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.303+00:00] 20:08:49     INFO - PID 25694 |     #34 mozilla::TaskController::RunTask(mozilla::Task*) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:196:19 (libxul.so+0x39fb4f1) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.303+00:00] 20:08:49     INFO - PID 25694 |     #35 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:1310:20 (libxul.so+0x39ff5e0) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.304+00:00] 20:08:49     INFO - PID 25694 |     #36 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:1133:15 (libxul.so+0x39fe146) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.305+00:00] 20:08:49     INFO - PID 25694 |     #37 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:639:36 (libxul.so+0x39fe47f) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.305+00:00] 20:08:49     INFO - PID 25694 |     #38 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:333:37 (libxul.so+0x3a0cca4) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.306+00:00] 20:08:49     INFO - PID 25694 |     #39 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548:5 (libxul.so+0x3a0cca4)
[task 2025-07-30T20:08:49.307+00:00] 20:08:49     INFO - PID 25694 |     #40 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1159:16 (libxul.so+0x3a1f62a) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.308+00:00] 20:08:49     INFO - PID 25694 |     #41 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3a25b24) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.308+00:00] 20:08:49     INFO - PID 25694 |     #42 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x458ab4c) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.309+00:00] 20:08:49     INFO - PID 25694 |     #43 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:267:30 (libxul.so+0x458b34b) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.310+00:00] 20:08:49     INFO - PID 25694 |     #44 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4508a68) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.310+00:00] 20:08:49     INFO - PID 25694 |     #45 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.312+00:00] 20:08:49     INFO - PID 25694 |     #46 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.312+00:00] 20:08:49     INFO - PID 25694 |     #47 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x918e733) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.312+00:00] 20:08:49     INFO - PID 25694 |     #48 nsAppShell::Run() /builds/worker/checkouts/gecko/widget/gtk/nsAppShell.cpp:471:33 (libxul.so+0x929fbca) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.313+00:00] 20:08:49     INFO - PID 25694 |     #49 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:647:20 (libxul.so+0xa2364af) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.314+00:00] 20:08:49     INFO - PID 25694 |     #50 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x458b2fa) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.315+00:00] 20:08:49     INFO - PID 25694 |     #51 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4508a68) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.315+00:00] 20:08:49     INFO - PID 25694 |     #52 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.316+00:00] 20:08:49     INFO - PID 25694 |     #53 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4508a68)
[task 2025-07-30T20:08:49.317+00:00] 20:08:49     INFO - PID 25694 |     #54 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:585:34 (libxul.so+0xa23560d) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.318+00:00] 20:08:49     INFO - PID 25694 |     #55 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:60:12 (libxul.so+0xa23feb2) (BuildId: 3492efae32002f8558e1840fa4bd3ea573717276)
[task 2025-07-30T20:08:49.318+00:00] 20:08:49     INFO - PID 25694 |     #56 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:397:22 (firefox-bin+0x1472fd) (BuildId: 70ea66d85933ae5ae8c202af09a7c10c812532ae)
[task 2025-07-30T20:08:49.319+00:00] 20:08:49     INFO - PID 25694 | SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /builds/worker/checkouts/gecko/mozglue/misc/Mutex_posix.cpp:94:3 in mutexLock

The failed test is /html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/atomics-wait-async.https.any.worker.html. We've previously seen intermittents with this test, but they don't seem related.

Blocks: 1884148

The problem here is that we don't have a clear ordering for claiming two locks, causing a potential deadlock.

The first lock is the js::FutexThread lock. The second is this Mutex in the WorkerPrivate.

One possible order is:

  1. We call mozilla::dom::WorkerPrivate::DispatchControlRunnable and claim the WorkerPrivate mutex.
  2. With that lock held, we request an interrupt callback from JS.
  3. In JSContext::requestInterrupt, we claim the futex thread lock.

Another possible order is:

  1. We call Atomics.waitAsync. We enter the critical section and claim the futex lock.
  2. Inside the critical section, we call delayedDispatchToEventLoop
  3. In WorkerPrivate::setTimeout, we claim the WorkerPrivate mutex just long enough to read mStatus.

If one thread performs the first step of the first order while another thread performs the first step of the second order, then they will deadlock waiting for each other to release the lock.

The correct fix is for at least one of these paths to release the first lock before making the call that will claim the second. For example, I think moving this code outside the scope of this lock should fix the problem, although I would have to page a little more context back in to be totally confident that it won't cause any additional problems. Steps 30-31 here do say that we should enqueue the timeout task before leaving the critical section, although off the top of my head I don't see a clear reason why that's necessary.

In practice, I think this would manifest as a hang in the case where we hit the race condition just right, although the window for doing so seems pretty small.

Severity: -- → S3
Priority: -- → P2

This avoids a potential deadlock detected by TSAN, where:

  1. Thread A calls WorkerPrivate::DispatchControlRunnable and claims the WorkerPrivate mutex. It then requests an interrupt from JS, requiring the futex lock.
  2. Thread B calls Atomics.waitAsync and claims the futex lock. It then calls delayedDispatchToEventLoop, requiring the WorkerPrivate mutex.

If each thread claims its first lock before either thread claims the second lock, deadlock will occur.

This patch avoids the problem by releasing the futex lock before calling delayedDispatchToEventLoop. Technically, steps 30-31 here do say that we should enqueue the timeout task before leaving the critical section, but I can't come up with a scenario where it matters: nothing that we do depends on the timeout task being enqueued by the embedding. In particular, cancelling the timeout task works by updating the task itself, and doesn't communicate with the embedding.

Alternatives would be:

  1. Claim the futex lock in DispatchControlRunnable before claiming the WorkerPrivate mutex, and pass it into a new specialized JS_RequestInterruptCallback implementation.
  2. Claim the WorkerPrivate lock in waitAsync before claiming the futex lock.
  3. Temporarily release the WorkerPrivate mutex in DispatchControlRunnable before requesting an interrupt callback.

Options 1 and 2 leak too many implementation details across an abstraction boundary. Option 3 is hard to evaluate without knowing more about the semantics of the WorkerPrivate lock. If we find a problem with this approach, we could consider it.

Assignee: nobody → iireland
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch
QA Whiteboard: [qa-triage-done-c145/b144]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: