Intermittent SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:925:10 in Unsound_NumQueuedMessages
Categories
(Core :: DOM: Content Processes, defect, P5)
Tracking
()
Tracking | Status | |
---|---|---|
firefox91 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: nika)
References
(Blocks 1 open bug)
Details
(Keywords: csectype-race, intermittent-failure)
Attachments
(1 file)
Filed by: ncsoregi [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=341047640&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/FywbCMshQP-X9AU4IgqOog/runs/0/artifacts/public/logs/live_backing.log
[task 2021-05-28T10:05:25.840Z] 10:05:25 INFO - TEST-START | dom/base/test/browser_data_documents_aboutmemory.js
[task 2021-05-28T10:05:26.404Z] 10:05:26 INFO - GECKO(2941) | ==================
[task 2021-05-28T10:05:26.405Z] 10:05:26 INFO - GECKO(2941) | WARNING: ThreadSanitizer: data race (pid=2941)
[task 2021-05-28T10:05:26.406Z] 10:05:26 INFO - GECKO(2941) | Read of size 8 at 0x7b4800010348 by main thread:
[task 2021-05-28T10:05:26.407Z] 10:05:26 INFO - GECKO(2941) | #0 Unsound_NumQueuedMessages /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:925:10 (libxul.so+0x1452dc4)
[task 2021-05-28T10:05:26.407Z] 10:05:26 INFO - GECKO(2941) | #1 IPC::Channel::Unsound_NumQueuedMessages() const /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:978:25 (libxul.so+0x1452dc4)
[task 2021-05-28T10:05:26.408Z] 10:05:26 INFO - GECKO(2941) | #2 mozilla::ipc::ProcessLink::Unsound_NumQueuedMessages() const /builds/worker/checkouts/gecko/ipc/glue/MessageLink.cpp:382:22 (libxul.so+0x14b18af)
[task 2021-05-28T10:05:26.409Z] 10:05:26 INFO - GECKO(2941) | #3 Unsound_NumQueuedMessages /builds/worker/workspace/obj-build/dist/include/mozilla/ipc/MessageChannel.h:323:27 (libxul.so+0x4702958)
[task 2021-05-28T10:05:26.410Z] 10:05:26 INFO - GECKO(2941) | #4 mozilla::dom::ContentParentsMemoryReporter::CollectReports(nsIHandleReportCallback*, nsISupports*, bool) /builds/worker/checkouts/gecko/dom/ipc/ContentParent.cpp:490:36 (libxul.so+0x4702958)
[task 2021-05-28T10:05:26.411Z] 10:05:26 INFO - GECKO(2941) | #5 operator() /builds/worker/checkouts/gecko/xpcom/base/nsMemoryReporterManager.cpp:1844:19 (libxul.so+0xb29601)
[task 2021-05-28T10:05:26.412Z] 10:05:26 INFO - GECKO(2941) | #6 mozilla::detail::RunnableFunction<nsMemoryReporterManager::DispatchReporter(nsIMemoryReporter*, bool, nsIHandleReportCallback*, nsISupports*, bool)::$_0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:534:5 (libxul.so+0xb29601)
[task 2021-05-28T10:05:26.413Z] 10:05:26 INFO - GECKO(2941) | #7 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:482:16 (libxul.so+0xbf21f7)
[task 2021-05-28T10:05:26.414Z] 10:05:26 INFO - GECKO(2941) | #8 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:766:26 (libxul.so+0xbcf19a)
[task 2021-05-28T10:05:26.415Z] 10:05:26 INFO - GECKO(2941) | #9 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:621:15 (libxul.so+0xbcd922)
[task 2021-05-28T10:05:26.416Z] 10:05:26 INFO - GECKO(2941) | #10 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:405:36 (libxul.so+0xbcdac4)
[task 2021-05-28T10:05:26.417Z] 10:05:26 INFO - GECKO(2941) | #11 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:138:37 (libxul.so+0xbf60e7)
[task 2021-05-28T10:05:26.418Z] 10:05:26 INFO - GECKO(2941) | #12 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:534:5 (libxul.so+0xbf60e7)
[task 2021-05-28T10:05:26.418Z] 10:05:26 INFO - GECKO(2941) | #13 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1159:16 (libxul.so+0xbdfe40)
[task 2021-05-28T10:05:26.419Z] 10:05:26 INFO - GECKO(2941) | #14 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:548:10 (libxul.so+0xbe6dc2)
[task 2021-05-28T10:05:26.420Z] 10:05:26 INFO - GECKO(2941) | #15 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x14b1bed)
[task 2021-05-28T10:05:26.421Z] 10:05:26 INFO - GECKO(2941) | #16 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:335:10 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.421Z] 10:05:26 INFO - GECKO(2941) | #17 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:328:3 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.422Z] 10:05:26 INFO - GECKO(2941) | #18 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:310:3 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.423Z] 10:05:26 INFO - GECKO(2941) | #19 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4b8a0e6)
[task 2021-05-28T10:05:26.424Z] 10:05:26 INFO - GECKO(2941) | #20 nsAppStartup::Run() /builds/worker/checkouts/gecko/toolkit/components/startup/nsAppStartup.cpp:273:30 (libxul.so+0x6911e08)
[task 2021-05-28T10:05:26.424Z] 10:05:26 INFO - GECKO(2941) | #21 XREMain::XRE_mainRun() /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5244:22 (libxul.so+0x6a2d22f)
[task 2021-05-28T10:05:26.425Z] 10:05:26 INFO - GECKO(2941) | #22 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5442:8 (libxul.so+0x6a2df77)
[task 2021-05-28T10:05:26.425Z] 10:05:26 INFO - GECKO(2941) | #23 XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5501:21 (libxul.so+0x6a2e514)
[task 2021-05-28T10:05:26.426Z] 10:05:26 INFO - GECKO(2941) | #24 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0x6a38ad2)
[task 2021-05-28T10:05:26.427Z] 10:05:26 INFO - GECKO(2941) | #25 do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:224:22 (firefox+0xca6e0)
[task 2021-05-28T10:05:26.427Z] 10:05:26 INFO - GECKO(2941) | #26 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:351:16 (firefox+0xca6e0)
[task 2021-05-28T10:05:26.427Z] 10:05:26 INFO - GECKO(2941) | Previous write of size 8 at 0x7b4800010348 by thread T4:
[task 2021-05-28T10:05:26.428Z] 10:05:26 INFO - GECKO(2941) | #0 IPC::Channel::ChannelImpl::OutputQueuePop() /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:865:23 (libxul.so+0x14524e2)
[task 2021-05-28T10:05:26.429Z] 10:05:26 INFO - GECKO(2941) | #1 IPC::Channel::ChannelImpl::ProcessOutgoingMessages() /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:767:7 (libxul.so+0x1450951)
[task 2021-05-28T10:05:26.429Z] 10:05:26 INFO - GECKO(2941) | #2 Send /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:803:12 (libxul.so+0x1452c42)
[task 2021-05-28T10:05:26.430Z] 10:05:26 INFO - GECKO(2941) | #3 IPC::Channel::Send(mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >) /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:954:25 (libxul.so+0x1452c42)
[task 2021-05-28T10:05:26.430Z] 10:05:26 INFO - GECKO(2941) | #4 applyImpl<IPC::Channel, bool (IPC::Channel::*)(mozilla::UniquePtr<IPC::Message>), StoreCopyPassByRRef<mozilla::UniquePtr<IPC::Message> > , 0> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1150:12 (libxul.so+0x14c478d)
[task 2021-05-28T10:05:26.431Z] 10:05:26 INFO - GECKO(2941) | #5 apply<IPC::Channel, bool (IPC::Channel::*)(mozilla::UniquePtr<IPC::Message>)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1156:12 (libxul.so+0x14c478d)
[task 2021-05-28T10:05:26.431Z] 10:05:26 INFO - GECKO(2941) | #6 mozilla::detail::RunnableMethodImpl<IPC::Channel*, bool (IPC::Channel::*)(mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >), false, (mozilla::RunnableKind)0, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >&&>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1203:13 (libxul.so+0x14c478d)
[task 2021-05-28T10:05:26.432Z] 10:05:26 INFO - GECKO(2941) | #7 MessageLoop::RunTask(already_AddRefed<nsIRunnable>) /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:468:11 (libxul.so+0x143c036)
[task 2021-05-28T10:05:26.433Z] 10:05:26 INFO - GECKO(2941) | #8 DeferOrRunPendingTask /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:477:5 (libxul.so+0x143d477)
[task 2021-05-28T10:05:26.433Z] 10:05:26 INFO - GECKO(2941) | #9 MessageLoop::DoWork() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:552:13 (libxul.so+0x143d477)
[task 2021-05-28T10:05:26.434Z] 10:05:26 INFO - GECKO(2941) | #10 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_pump_libevent.cc:329:31 (libxul.so+0x143ef40)
[task 2021-05-28T10:05:26.434Z] 10:05:26 INFO - GECKO(2941) | #11 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:335:10 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.435Z] 10:05:26 INFO - GECKO(2941) | #12 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:328:3 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.435Z] 10:05:26 INFO - GECKO(2941) | #13 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:310:3 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.435Z] 10:05:26 INFO - GECKO(2941) | #14 base::Thread::ThreadMain() /builds/worker/checkouts/gecko/ipc/chromium/src/base/thread.cc:191:16 (libxul.so+0x144d076)
[task 2021-05-28T10:05:26.436Z] 10:05:26 INFO - GECKO(2941) | #15 ThreadFunc(void*) /builds/worker/checkouts/gecko/ipc/chromium/src/base/platform_thread_posix.cc:40:13 (libxul.so+0x14467be)
[task 2021-05-28T10:05:26.439Z] 10:05:26 INFO - GECKO(2941) | Location is heap block of size 360 at 0x7b4800010200 allocated by thread T4:
[task 2021-05-28T10:05:26.439Z] 10:05:26 INFO - GECKO(2941) | #0 malloc /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:651:5 (firefox+0x55fbb)
[task 2021-05-28T10:05:26.439Z] 10:05:26 INFO - GECKO(2941) | #1 moz_xmalloc /builds/worker/checkouts/gecko/memory/mozalloc/mozalloc.cpp:52:15 (firefox+0xcc7eb)
[task 2021-05-28T10:05:26.440Z] 10:05:26 INFO - GECKO(2941) | #2 operator new /builds/worker/workspace/obj-build/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x144deb2)
[task 2021-05-28T10:05:26.440Z] 10:05:26 INFO - GECKO(2941) | #3 Channel /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:931:21 (libxul.so+0x144deb2)
[task 2021-05-28T10:05:26.440Z] 10:05:26 INFO - GECKO(2941) | #4 ChildProcessHost::CreateChannel() /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/child_process_host.cc:31:11 (libxul.so+0x144deb2)
[task 2021-05-28T10:05:26.440Z] 10:05:26 INFO - GECKO(2941) | #5 mozilla::ipc::GeckoChildProcessHost::InitializeChannel() /builds/worker/checkouts/gecko/ipc/glue/GeckoChildProcessHost.cpp:835:3 (libxul.so+0x147d5fb)
[task 2021-05-28T10:05:26.441Z] 10:05:26 INFO - GECKO(2941) | #6 mozilla::ipc::BaseProcessLauncher::Launch(mozilla::ipc::GeckoChildProcessHost*) /builds/worker/checkouts/gecko/ipc/glue/GeckoChildProcessHost.cpp:1786:10 (libxul.so+0x147ce30)
[task 2021-05-28T10:05:26.442Z] 10:05:26 INFO - GECKO(2941) | #7 applyImpl<mozilla::ipc::BaseProcessLauncher, RefPtr<mozilla::MozPromise<mozilla::ipc::LaunchResults, mozilla::ipc::LaunchError, false> > (mozilla::ipc::BaseProcessLauncher::*)(mozilla::ipc::GeckoChildProcessHost *), StorePtrPassByPtr<mozilla::ipc::GeckoChildProcessHost> , 0> /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:1150:12 (libxul.so+0x14943ae)
[task 2021-05-28T10:05:26.449Z] 10:05:26 INFO - GECKO(2941) | #8 apply<mozilla::ipc::BaseProcessLauncher, RefPtr<mozilla::MozPromise<mozilla::ipc::LaunchResults, mozilla::ipc::LaunchError, false> > (mozilla::ipc::BaseProcessLauncher::*)(mozilla::ipc::GeckoChildProcessHost *)> /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:1156:12 (libxul.so+0x14943ae)
[task 2021-05-28T10:05:26.449Z] 10:05:26 INFO - GECKO(2941) | #9 Invoke /builds/worker/workspace/obj-build/dist/include/mozilla/MozPromise.h:1516:47 (libxul.so+0x14943ae)
[task 2021-05-28T10:05:26.449Z] 10:05:26 INFO - GECKO(2941) | #10 mozilla::detail::ProxyRunnable<mozilla::MozPromise<mozilla::ipc::LaunchResults, mozilla::ipc::LaunchError, false>, RefPtr<mozilla::MozPromise<mozilla::ipc::LaunchResults, mozilla::ipc::LaunchError, false> > (mozilla::ipc::BaseProcessLauncher::*)(mozilla::ipc::GeckoChildProcessHost*), mozilla::ipc::BaseProcessLauncher, mozilla::ipc::GeckoChildProcessHost*>::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/MozPromise.h:1536:42 (libxul.so+0x14943ae)
[task 2021-05-28T10:05:26.449Z] 10:05:26 INFO - GECKO(2941) | #11 MessageLoop::RunTask(already_AddRefed<nsIRunnable>) /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:468:11 (libxul.so+0x143c036)
[task 2021-05-28T10:05:26.450Z] 10:05:26 INFO - GECKO(2941) | #12 DeferOrRunPendingTask /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:477:5 (libxul.so+0x143d477)
[task 2021-05-28T10:05:26.450Z] 10:05:26 INFO - GECKO(2941) | #13 MessageLoop::DoWork() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:552:13 (libxul.so+0x143d477)
[task 2021-05-28T10:05:26.450Z] 10:05:26 INFO - GECKO(2941) | #14 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_pump_libevent.cc:329:31 (libxul.so+0x143ef40)
[task 2021-05-28T10:05:26.451Z] 10:05:26 INFO - GECKO(2941) | #15 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:335:10 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.451Z] 10:05:26 INFO - GECKO(2941) | #16 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:328:3 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.451Z] 10:05:26 INFO - GECKO(2941) | #17 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:310:3 (libxul.so+0x143bcec)
[task 2021-05-28T10:05:26.452Z] 10:05:26 INFO - GECKO(2941) | #18 base::Thread::ThreadMain() /builds/worker/checkouts/gecko/ipc/chromium/src/base/thread.cc:191:16 (libxul.so+0x144d076)
[task 2021-05-28T10:05:26.452Z] 10:05:26 INFO - GECKO(2941) | #19 ThreadFunc(void*) /builds/worker/checkouts/gecko/ipc/chromium/src/base/platform_thread_posix.cc:40:13 (libxul.so+0x14467be)
[task 2021-05-28T10:05:26.452Z] 10:05:26 INFO - GECKO(2941) | Thread T4 'IPC I/O Parent' (tid=2951, running) created by main thread at:
[task 2021-05-28T10:05:26.452Z] 10:05:26 INFO - GECKO(2941) | #0 pthread_create /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:965:3 (firefox+0x577eb)
[task 2021-05-28T10:05:26.453Z] 10:05:26 INFO - GECKO(2941) | #1 CreateThread /builds/worker/checkouts/gecko/ipc/chromium/src/base/platform_thread_posix.cc:123:14 (libxul.so+0x1443727)
[task 2021-05-28T10:05:26.453Z] 10:05:26 INFO - GECKO(2941) | #2 PlatformThread::Create(unsigned long, PlatformThread::Delegate*, unsigned long*) /builds/worker/checkouts/gecko/ipc/chromium/src/base/platform_thread_posix.cc:134:10 (libxul.so+0x1443727)
[task 2021-05-28T10:05:26.453Z] 10:05:26 INFO - GECKO(2941) | #3 base::Thread::StartWithOptions(base::Thread::Options const&) /builds/worker/checkouts/gecko/ipc/chromium/src/base/thread.cc:97:8 (libxul.so+0x144cc31)
[task 2021-05-28T10:05:26.453Z] 10:05:26 INFO - GECKO(2941) | #4 NS_InitXPCOM /builds/worker/checkouts/gecko/xpcom/build/XPCOMInit.cpp:317:9 (libxul.so+0xc1d0bc)
[task 2021-05-28T10:05:26.453Z] 10:05:26 INFO - GECKO(2941) | #5 ScopedXPCOMStartup::Initialize(bool) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:1707:8 (libxul.so+0x6a2308d)
[task 2021-05-28T10:05:26.454Z] 10:05:26 INFO - GECKO(2941) | #6 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5438:22 (libxul.so+0x6a2df61)
[task 2021-05-28T10:05:26.455Z] 10:05:26 INFO - GECKO(2941) | #7 XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5501:21 (libxul.so+0x6a2e514)
[task 2021-05-28T10:05:26.456Z] 10:05:26 INFO - GECKO(2941) | #8 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0x6a38ad2)
[task 2021-05-28T10:05:26.456Z] 10:05:26 INFO - GECKO(2941) | #9 do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:224:22 (firefox+0xca6e0)
[task 2021-05-28T10:05:26.457Z] 10:05:26 INFO - GECKO(2941) | #10 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:351:16 (firefox+0xca6e0)
[task 2021-05-28T10:05:26.458Z] 10:05:26 INFO - GECKO(2941) | SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:925:10 in Unsound_NumQueuedMessages
[task 2021-05-28T10:05:26.459Z] 10:05:26 INFO - GECKO(2941) | ==================
Updated•3 years ago
|
Updated•3 years ago
|
Comment 1•3 years ago
|
||
This is happening while running browser_data_documents_aboutmemory.js
Comment 2•3 years ago
|
||
Sorry, I should have looked at this more closely. I think it is an existing issue that was just exposed by this new test. So good job on adding the test. :)
It looks like ContentParentsMemoryReporter::CollectReports() calls channel->Unsound_NumQueuedMessages(); which should be guarded by a lock or something.
Updated•3 years ago
|
Comment 3•3 years ago
|
||
FWIW, it looks like these are intentionally racy calls: https://searchfox.org/mozilla-central/rev/74f3c420ee54001059e1850bef3be876749ff873/ipc/glue/MessageChannel.h#313
Comment 4•3 years ago
|
||
Is this something worth adding a suppression for? I'm imagining if the race is intentional then the fix would be nontrivial.
Updated•3 years ago
|
Comment 5•3 years ago
|
||
Fwiw, the comment there makes an assumption that does not hold when racing: It assumes that you either get an old value, or a more recent one. In reality, you can get anything (particularly garbage) if the setting method is inlined somewhere more complex and the compiler decides to use the storage space for spilling a register.
The solution here is again to use atomics (the most relaxed form), to achieve what the comment wants.
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 9•3 years ago
|
||
Updated•3 years ago
|
Comment 10•3 years ago
|
||
Pushed by nlayzell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/27cc1cfda0c7 Use atomics for Unsound_IsClosed and Unsound_NumQueuedMessages, r=ipc-reviewers,mccr8
Comment hidden (Intermittent Failures Robot) |
Comment 12•3 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Description
•