sdk icon indicating copy to clipboard operation
sdk copied to clipboard

Profiler/deopt data race

Open rmacnak-google opened this issue 6 months ago • 0 comments

WARNING: ThreadSanitizer: data race (pid=14664)
  Read of size 8 at 0xffffcfffd050 by thread T15:
    #0 dart::ProfilerNativeStackWalker::CallerPC(unsigned long*) const out/ReleaseTSANARM64/../../runtime/vm/profiler.cc:297:37 (dart+0x28927e8) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #1 dart::ProfilerNativeStackWalker::walk() out/ReleaseTSANARM64/../../runtime/vm/profiler.cc:250:12 (dart+0x28927e8)
    #2 dart::CollectSample(dart::Isolate*, bool, bool, dart::Sample*, dart::ProfilerNativeStackWalker*, dart::ProfilerDartStackWalker*, unsigned long, unsigned long, unsigned long, dart::ProfilerCounters*) out/ReleaseTSANARM64/../../runtime/vm/profiler.cc:1203:28 (dart+0x289496c) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #3 dart::Profiler::SampleThread(dart::Thread*, dart::InterruptedThreadState const&) out/ReleaseTSANARM64/../../runtime/vm/profiler.cc:1468:3 (dart+0x2894850) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #4 dart::ThreadInterrupterLinux::ThreadInterruptSignalHandler(int, siginfo_t*, void*) out/ReleaseTSANARM64/../../runtime/vm/thread_interrupter_linux.cc:44:5 (dart+0x29103b4) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #5 __tsan::CallUserSignalHandler(__tsan::ThreadState*, bool, bool, int, __sanitizer::__sanitizer_siginfo*, void*) ../../../../../../llvm-llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:2149:5 (dart+0x23534d0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #6 dart::ConditionVariable::WaitMicros(dart::Mutex*, long) out/ReleaseTSANARM64/../../runtime/platform/synchronization_posix.cc:144:18 (dart+0x23e3bc4) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #7 dart::SafepointHandler::BlockForSafepoint(dart::Thread*) out/ReleaseTSANARM64/../../runtime/vm/heap/safepoint.cc:333:5 (dart+0x29636bc) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #8 dart::Thread::BlockForSafepoint() out/ReleaseTSANARM64/../../runtime/vm/thread.cc:1489:41 (dart+0x290f0f0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #9 dart::TransitionGeneratedToVM::TransitionGeneratedToVM(dart::Thread*) out/ReleaseTSANARM64/../../runtime/vm/heap/safepoint.h:314:10 (dart+0x27a7338) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #10 dart::DRT_AllocateObject(dart::NativeArguments) out/ReleaseTSANARM64/../../runtime/vm/runtime_entry.cc:534:1 (dart+0x28b6374) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #11 <null> <null> ([anon:dart-code]+0x2608)
    #12 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) out/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:38:10 (dart+0x2719554) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #13 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&) out/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:734:28 (dart+0x2719554)
    #14 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) out/ReleaseTSANARM64/../../runtime/vm/isolate.cc:1539:15 (dart+0x274ee64) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #15 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) out/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:229:16 (dart+0x278ce68) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #16 dart::MessageHandler::TaskCallback() out/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:443:18 (dart+0x278d4b0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #17 dart::MessageHandlerTask::Run() out/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:31:15 (dart+0x278db14) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #18 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) out/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:207:15 (dart+0x291120c) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #19 dart::ThreadPool::Worker::Main(unsigned long) out/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:367:9 (dart+0x2911630) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #20 dart::ThreadStart(void*) out/ReleaseTSANARM64/../../runtime/vm/os_thread_linux.cc:97:5 (dart+0x288d3d0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)

  Previous write of size 8 at 0xffffcfffd050 by thread T24:
    #0 dart::StackFrame::set_pc(unsigned long) out/ReleaseTSANARM64/../../runtime/vm/stack_frame.h:81:51 (dart+0x28bf380) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #1 dart::StackFrame::MarkForLazyDeopt() out/ReleaseTSANARM64/../../runtime/vm/stack_frame.h:66:5 (dart+0x28bf380)
    #2 dart::DeoptimizeAt(dart::Thread*, dart::Code const&, dart::StackFrame*) out/ReleaseTSANARM64/../../runtime/vm/runtime_entry.cc:3690:12 (dart+0x28bf380)
    #3 dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)::operator()(dart::Isolate*) const out/ReleaseTSANARM64/../../runtime/vm/heap/weak_code.cc:73:17 (dart+0x297207c) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #4 decltype(std::declval<dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)&>()(std::declval<dart::Isolate*>())) std::_d::__invoke[abi:nn210000]<dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)&, dart::Isolate*>(dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)&, dart::Isolate*&&) out/ReleaseTSANARM64/../../third_party/libcxx/include/__type_traits/invoke.h:179:25 (dart+0x297207c)
    #5 void std::_d::__invoke_void_return_wrapper<void, true>::__call[abi:nn210000]<dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)&, dart::Isolate*>(dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)&, dart::Isolate*&&) out/ReleaseTSANARM64/../../third_party/libcxx/include/__type_traits/invoke.h:251:5 (dart+0x297207c)
    #6 void std::_d::__invoke_r[abi:nn210000]<void, dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)&, dart::Isolate*>(dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)&, dart::Isolate*&&) out/ReleaseTSANARM64/../../third_party/libcxx/include/__type_traits/invoke.h:273:10 (dart+0x297207c)
    #7 std::_d::__function::__alloc_func<dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*), std::_d::allocator<dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)>, void (dart::Isolate*)>::operator()[abi:nn210000](dart::Isolate*&&) out/ReleaseTSANARM64/../../third_party/libcxx/include/__functional/function.h:167:12 (dart+0x297207c)
    #8 std::_d::__function::__func<dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*), std::_d::allocator<dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const::'lambda'(dart::Isolate*)>, void (dart::Isolate*)>::operator()(dart::Isolate*&&) out/ReleaseTSANARM64/../../third_party/libcxx/include/__functional/function.h:319:10 (dart+0x297207c)
    #9 std::_d::__function::__value_func<void (dart::Isolate*)>::operator()[abi:nn210000](dart::Isolate*&&) const out/ReleaseTSANARM64/../../third_party/libcxx/include/__functional/function.h:436:12 (dart+0x274a24c) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #10 std::_d::function<void (dart::Isolate*)>::operator()(dart::Isolate*) const out/ReleaseTSANARM64/../../third_party/libcxx/include/__functional/function.h:995:10 (dart+0x274a24c)
    #11 dart::IsolateGroup::ForEachIsolate(std::_d::function<void (dart::Isolate*)>, bool) out/ReleaseTSANARM64/../../runtime/vm/isolate.cc:2902:7 (dart+0x274a24c)
    #12 dart::WeakCodeReferences::DisableCode(bool)::$_0::operator()() const out/ReleaseTSANARM64/../../runtime/vm/heap/weak_code.cc:58:20 (dart+0x2971944) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #13 dart::WeakCodeReferences::DisableCode(bool) out/ReleaseTSANARM64/../../runtime/vm/heap/weak_code.cc:131:5 (dart+0x29717e0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #14 dart::Field::DeoptimizeDependentCode(bool) const out/ReleaseTSANARM64/../../runtime/vm/object.cc:12890:5 (dart+0x2846ff0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #15 dart::Field::RecordStore(dart::Object const&) const::$_0::operator()() const out/ReleaseTSANARM64/../../runtime/vm/object.cc:13724:7 (dart+0x2846ff0)
    #16 dart::LambdaCallable<dart::Field::RecordStore(dart::Object const&) const::$_0>::Call() out/ReleaseTSANARM64/../../runtime/vm/isolate.h:120:17 (dart+0x2846ff0)
    #17 dart::IsolateGroup::RunWithStoppedMutatorsCallable(dart::Callable*, dart::Callable*, bool) out/ReleaseTSANARM64/../../runtime/vm/isolate.cc:2957:16 (dart+0x2753c1c) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #18 void dart::IsolateGroup::RunWithStoppedMutators<dart::Field::RecordStore(dart::Object const&) const::$_0>(dart::Field::RecordStore(dart::Object const&) const::$_0, bool) out/ReleaseTSANARM64/../../runtime/vm/isolate.h:624:5 (dart+0x27fdfc0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #19 dart::Field::RecordStore(dart::Object const&) const out/ReleaseTSANARM64/../../runtime/vm/object.cc:13722:20 (dart+0x27fdfc0)
    #20 dart::DRT_HelperUpdateFieldCid(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments) out/ReleaseTSANARM64/../../runtime/vm/runtime_entry.cc:4066:9 (dart+0x28c05e8) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #21 dart::DRT_UpdateFieldCid(dart::NativeArguments) out/ReleaseTSANARM64/../../runtime/vm/runtime_entry.cc:4062:1 (dart+0x28c05e8)
    #22 <null> <null> ([anon:dart-code]+0x2608)
    #23 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) out/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:38:10 (dart+0x2719554) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #24 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&) out/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:734:28 (dart+0x2719554)
    #25 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) out/ReleaseTSANARM64/../../runtime/vm/isolate.cc:1539:15 (dart+0x274ee64) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #26 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) out/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:229:16 (dart+0x278ce68) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #27 dart::MessageHandler::TaskCallback() out/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:443:18 (dart+0x278d4b0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #28 dart::MessageHandlerTask::Run() out/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:31:15 (dart+0x278db14) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #29 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) out/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:207:15 (dart+0x291120c) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #30 dart::ThreadPool::Worker::Main(unsigned long) out/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:367:9 (dart+0x2911630) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)
    #31 dart::ThreadStart(void*) out/ReleaseTSANARM64/../../runtime/vm/os_thread_linux.cc:97:5 (dart+0x288d3d0) (BuildId: 62f5c7b11389fb32afc448a56f5ceb9b4fa26b6a)

log

@bkonyi @derekxu16

rmacnak-google avatar May 27 '25 16:05 rmacnak-google