dart-lang / sdk

The Dart SDK, including the VM, dart2js, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.02k stars 1.54k forks source link

ThreadSanitizer: data race ??:? in dart::Class::DeclarationType() const #44530

Open a-siva opened 3 years ago

a-siva commented 3 years ago
WARNING: ThreadSanitizer: data race (pid=16859)
   Read of size 8 at 0x7ff6f8dfa9f0 by thread T7:
     #0 dart::Class::DeclarationType() const ??:? (dart+0x1e11a26)
     #1 dart::kernel::TypeTranslator::BuildInterfaceType(bool) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_translation_helper.cc:3019 (dart+0x263454c)
     #2 dart::kernel::TypeTranslator::BuildTypeInternal() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_translation_helper.cc:2982 (dart+0x2633f84)
     #3 dart::kernel::TypeTranslator::BuildType() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_translation_helper.cc:2935 (dart+0x262cf5a)
     #4 dart::kernel::ScopeBuilder::BuildAndVisitVariableType() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1306 (dart+0x2640aaa)
     #5 dart::kernel::ScopeBuilder::VisitVariableDeclaration() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1258 (dart+0x2640aaa)
     #6 dart::kernel::ScopeBuilder::VisitStatement() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1214 (dart+0x264057c)
     #7 dart::kernel::ScopeBuilder::VisitStatement() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:958 (dart+0x2640057)
     #8 dart::kernel::ScopeBuilder::VisitFunctionNode() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:562 (dart+0x263efc0)
     #9 dart::kernel::ScopeBuilder::HandleLocalFunction(long) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1477 (dart+0x2641cb1)
     #10 dart::kernel::ScopeBuilder::VisitExpression() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:848 (dart+0x263d045)
     #11 dart::kernel::ScopeBuilder::VisitArguments() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1241 (dart+0x2640947)
     #12 dart::kernel::ScopeBuilder::VisitExpression() ??:? (dart+0x263d936)
     #13 dart::kernel::ScopeBuilder::VisitExpression() ??:? (dart+0x263d819)
     #14 dart::kernel::ScopeBuilder::VisitStatement() ??:? (dart+0x2640622)
     #15 dart::kernel::ScopeBuilder::VisitStatement() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:958 (dart+0x2640057)
     #16 dart::kernel::ScopeBuilder::VisitFunctionNode() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:562 (dart+0x263efc0)
     #17 dart::kernel::ScopeBuilder::VisitConstructor() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:501 (dart+0x263ebc7)
     #18 dart::kernel::ScopeBuilder::VisitNode() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:451 (dart+0x263dd4f)
     #19 dart::kernel::ScopeBuilder::BuildScopes() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:228 (dart+0x263ae87)
     #20 dart::ParsedFunction::EnsureKernelScopes() ../../out/ReleaseTSANX64/../../runtime/vm/parser.cc:133 (dart+0x1edb010)
     #21 dart::kernel::StreamingFlowGraphBuilder::ParseKernelASTFunction() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc:1075 (dart+0x25e3c79)
     #22 dart::kernel::StreamingFlowGraphBuilder::BuildGraph() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc:1008 (dart+0x25e3950)
     #23 dart::kernel::FlowGraphBuilder::BuildGraph() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_to_il.cc:766 (dart+0x26030f2)
     #24 dart::DartCompilationPipeline::BuildFlowGraph(dart::Zone*, dart::ParsedFunction*, dart::ZoneGrowableArray<dart::ICData const*>*, long, bool) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:138 (dart+0x1ff4fd1)
     #25 dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:558 (dart+0x1ff6acf)
     #26 dart::CompileFunctionHelper(dart::CompilationPipeline*, dart::Function const&, bool, long) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:735 (dart+0x1ff7f4d)
     #27 dart::Compiler::CompileFunction(dart::Thread*, dart::Function const&) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:870 (dart+0x1ff797f)
     #28 dart::Function::EnsureHasCode() const ../../out/ReleaseTSANX64/../../runtime/vm/object.cc:9576 (dart+0x1e45e87)
     #29 dart::DRT_HelperCompileFunction(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:231 (dart+0x1ff5674)
     #30 dart::DRT_CompileFunction(dart::NativeArguments) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:211 (dart+0x1ff5674)
     #31 <null> <null> (memfd:dart-codespace (deleted)+0x2212)
     #32 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long) ../../out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:147 (dart+0x1d4681b)
     #33 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) ../../out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:37 (dart+0x1d4ab51)
     #34 dart::DartLibraryCalls::HandleMessage(dart::Object const&, dart::Instance const&) ../../out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:790 (dart+0x1d4ab51)
     #35 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >) ../../out/ReleaseTSANX64/../../runtime/vm/isolate.cc:1389 (dart+0x1d93007)
     #36 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) ../../out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:233 (dart+0x1ddd510)
     #37 dart::MessageHandler::TaskCallback() ../../out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:443 (dart+0x1dddf14)
     #38 dart::MessageHandlerTask::Run() ../../out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:31 (dart+0x1dde983)
     #39 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) ../../out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:158 (dart+0x1fd1a8c)
     #40 dart::ThreadPool::Worker::Main(unsigned long) ../../out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:323 (dart+0x1fd2475)
     #41 dart::ThreadStart(void*) ../../out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:153 (dart+0x1ed9672)
   Previous atomic write of size 8 at 0x7ff6f8dfa9f0 by thread T11:
     #0 __tsan_atomic64_store ../recipe_cleanup/clangshYTOG/llvm_build_dir/tools/clang/stage2-bins/runtimes/runtimes-x86_64-unknown-linux-gnu-bins/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp:566 (dart+0x1ac6c75)
     #1 void std::__2::__cxx_atomic_store<dart::TypePtr>(std::__2::__cxx_atomic_base_impl<dart::TypePtr>*, dart::TypePtr, std::__2::memory_order) ../../out/ReleaseTSANX64/../../buildtools/linux-x64/clang/bin/../include/c++/v1/atomic:964 (dart+0x1e24857)
     #2 std::__2::__atomic_base<dart::TypePtr, false>::store(dart::TypePtr, std::__2::memory_order) ../../out/ReleaseTSANX64/../../buildtools/linux-x64/clang/bin/../include/c++/v1/atomic:1570 (dart+0x1e24857)
     #3 void dart::ObjectLayout::StorePointer<dart::TypePtr, (std::__2::memory_order)0>(dart::TypePtr const*, dart::TypePtr) ../../out/ReleaseTSANX64/../../runtime/vm/raw_object.h:549 (dart+0x1e24857)
     #4 void dart::ClassLayout::set_declaration_type<(std::__2::memory_order)0>(dart::TypePtr) ../../out/ReleaseTSANX64/../../runtime/vm/raw_object.h:826 (dart+0x1e24857)
     #5 dart::Class::set_declaration_type(dart::Type const&) const ../../out/ReleaseTSANX64/../../runtime/vm/object.cc:4985 (dart+0x1e24857)
     #6 dart::Class::DeclarationType() const ../../out/ReleaseTSANX64/../../runtime/vm/object.cc:5010 (dart+0x1e11a0f)
     #7 dart::kernel::TypeTranslator::BuildInterfaceType(bool) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_translation_helper.cc:3019 (dart+0x263454c)
     #8 dart::kernel::TypeTranslator::BuildTypeInternal() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_translation_helper.cc:2982 (dart+0x2633f84)
     #9 dart::kernel::TypeTranslator::BuildType() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_translation_helper.cc:2935 (dart+0x262cf5a)
     #10 dart::kernel::ScopeBuilder::BuildAndVisitVariableType() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1306 (dart+0x2640aaa)
     #11 dart::kernel::ScopeBuilder::VisitVariableDeclaration() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1258 (dart+0x2640aaa)
     #12 dart::kernel::ScopeBuilder::VisitStatement() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1214 (dart+0x264057c)
     #13 dart::kernel::ScopeBuilder::VisitStatement() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:958 (dart+0x2640057)
     #14 dart::kernel::ScopeBuilder::VisitFunctionNode() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:562 (dart+0x263efc0)
     #15 dart::kernel::ScopeBuilder::HandleLocalFunction(long) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1477 (dart+0x2641cb1)
     #16 dart::kernel::ScopeBuilder::VisitExpression() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:848 (dart+0x263d045)
     #17 dart::kernel::ScopeBuilder::VisitArguments() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:1241 (dart+0x2640947)
     #18 dart::kernel::ScopeBuilder::VisitExpression() ??:? (dart+0x263d936)
     #19 dart::kernel::ScopeBuilder::VisitExpression() ??:? (dart+0x263d819)
     #20 dart::kernel::ScopeBuilder::VisitStatement() ??:? (dart+0x2640622)
     #21 dart::kernel::ScopeBuilder::VisitStatement() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:958 (dart+0x2640057)
     #22 dart::kernel::ScopeBuilder::VisitFunctionNode() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:562 (dart+0x263efc0)
     #23 dart::kernel::ScopeBuilder::VisitConstructor() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:501 (dart+0x263ebc7)
     #24 dart::kernel::ScopeBuilder::VisitNode() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:451 (dart+0x263dd4f)
     #25 dart::kernel::ScopeBuilder::BuildScopes() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/scope_builder.cc:228 (dart+0x263ae87)
     #26 dart::ParsedFunction::EnsureKernelScopes() ../../out/ReleaseTSANX64/../../runtime/vm/parser.cc:133 (dart+0x1edb010)
     #27 dart::kernel::StreamingFlowGraphBuilder::ParseKernelASTFunction() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc:1075 (dart+0x25e3c79)
     #28 dart::kernel::StreamingFlowGraphBuilder::BuildGraph() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc:1008 (dart+0x25e3950)
     #29 dart::kernel::FlowGraphBuilder::BuildGraph() ../../out/ReleaseTSANX64/../../runtime/vm/compiler/frontend/kernel_to_il.cc:766 (dart+0x26030f2)
     #30 dart::DartCompilationPipeline::BuildFlowGraph(dart::Zone*, dart::ParsedFunction*, dart::ZoneGrowableArray<dart::ICData const*>*, long, bool) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:138 (dart+0x1ff4fd1)
     #31 dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:558 (dart+0x1ff6acf)
     #32 dart::CompileFunctionHelper(dart::CompilationPipeline*, dart::Function const&, bool, long) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:735 (dart+0x1ff7f4d)
     #33 dart::Compiler::CompileFunction(dart::Thread*, dart::Function const&) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:870 (dart+0x1ff797f)
     #34 dart::Function::EnsureHasCode() const ../../out/ReleaseTSANX64/../../runtime/vm/object.cc:9576 (dart+0x1e45e87)
     #35 dart::DRT_HelperCompileFunction(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:231 (dart+0x1ff5674)
     #36 dart::DRT_CompileFunction(dart::NativeArguments) ../../out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:211 (dart+0x1ff5674)
     #37 <null> <null> (memfd:dart-codespace (deleted)+0x2212)
     #38 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long) ../../out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:147 (dart+0x1d4681b)
     #39 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) ../../out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:37 (dart+0x1d4ab51)
     #40 dart::DartLibraryCalls::HandleMessage(dart::Object const&, dart::Instance const&) ../../out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:790 (dart+0x1d4ab51)
     #41 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >) ../../out/ReleaseTSANX64/../../runtime/vm/isolate.cc:1389 (dart+0x1d93007)
     #42 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) ../../out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:233 (dart+0x1ddd510)
     #43 dart::MessageHandler::TaskCallback() ../../out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:443 (dart+0x1dddf14)
     #44 dart::MessageHandlerTask::Run() ../../out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:31 (dart+0x1dde983)
     #45 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) ../../out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:158 (dart+0x1fd1a8c)
     #46 dart::ThreadPool::Worker::Main(unsigned long) ../../out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:323 (dart+0x1fd2475)
     #47 dart::ThreadStart(void*) ../../out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:153 (dart+0x1ed9672)
   Location is global '<null>' at 0x000000000000 (memfd:dart-oldspace (deleted)+0x00000007a9f0)
a-siva commented 3 years ago

/cc @rmacnak-google