Closed Bug 1713294 Opened 3 years ago Closed 3 years ago

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)

defect

Tracking

()

RESOLVED FIXED
91 Branch
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) | ==================
Group: core-security
Blocks: tsan
Group: core-security → dom-core-security
Keywords: csectype-race

This is happening while running browser_data_documents_aboutmemory.js

Flags: needinfo?(sefeng)
Regressed by: 1690905

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.

Flags: needinfo?(sefeng)
No longer regressed by: 1690905
Component: DOM: Core & HTML → DOM: Content Processes

Is this something worth adding a suppression for? I'm imagining if the race is intentional then the fix would be nontrivial.

Group: dom-core-security

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.

Assignee: nobody → nika
Status: NEW → ASSIGNED
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
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: