Skip to content

language/vm/lazy_deopt_with_exception_concurrent_test PatchableCallHandler data race on vm-tsan-mac-release-arm64 #61718

@aam

Description

@aam

from logs

/============================================================================================\
| language/vm/lazy_deopt_with_exception_concurrent_test broke (Pass -> Crash, expected Pass) |
\============================================================================================/

--- Command "vm_compile_to_kernel" (took 762ms):
DART_CONFIGURATION=ReleaseTSANARM64 /Volumes/Work/s/w/ir/pkg/vm/tool/gen_kernel --aot --platform=xcodebuild/ReleaseTSANARM64/vm_platform.dill -o /Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/tests_language_vm_lazy_deopt_with_exception_concurrent_test/out.dill /Volumes/Work/s/w/ir/tests/language/vm/lazy_deopt_with_exception_concurrent_test.dart -Dtest_runner.configuration=vm-aot-tsan-mac-release-arm64 --packages=/Volumes/Work/s/w/ir/.dart_tool/package_config.json -Ddart.vm.product=false

exit code:
0

--- Command "precompiler" (took 18.000881s):
DART_CONFIGURATION=ReleaseTSANARM64 xcodebuild/ReleaseTSANARM64/gen_snapshot --snapshot-kind=app-aot-elf --elf=/Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/tests_language_vm_lazy_deopt_with_exception_concurrent_test/out.aotsnapshot --loading-unit-manifest=/Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/tests_language_vm_lazy_deopt_with_exception_concurrent_test/ignored.json --no-background-compilation -Dtest_runner.configuration=vm-aot-tsan-mac-release-arm64 --ignore-unrecognized-flags --packages=/Volumes/Work/s/w/ir/.dart_tool/package_config.json /Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/tests_language_vm_lazy_deopt_with_exception_concurrent_test/out.dill

exit code:
0

--- Command "remove_kernel_file" (took 7ms):
DART_CONFIGURATION=ReleaseTSANARM64 rm /Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/tests_language_vm_lazy_deopt_with_exception_concurrent_test/out.dill

exit code:
0

--- Command "vm" (took 01.000903s):
DART_CONFIGURATION=ReleaseTSANARM64 TEST_COMPILATION_DIR=/Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/tests_language_vm_lazy_deopt_with_exception_concurrent_test xcodebuild/ReleaseTSANARM64/dartaotruntime --optimization-counter-threshold=10 --no-background-compilation -Dtest_runner.configuration=vm-aot-tsan-mac-release-arm64 --ignore-unrecognized-flags --packages=/Volumes/Work/s/w/ir/.dart_tool/package_config.json /Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/tests_language_vm_lazy_deopt_with_exception_concurrent_test/out.aotsnapshot

exit code:
-6

stderr:
==================
WARNING: ThreadSanitizer: data race (pid=39545)
  Read of size 8 at 0x00010fc92ec8 by thread T8:
    #0 dart::PatchableCallHandler::ResolveTargetFunction(dart::Object const&) <null> (dartaotruntime:arm64+0x100436db0)
    #1 dart::PatchableCallHandler::ResolveSwitchAndReturn(dart::Object const&) <null> (dartaotruntime:arm64+0x100437198)
    #2 DRT_SwitchableCallMiss <null> (dartaotruntime:arm64+0x100437c74)
    #3 <null> <null> (0x000107602e30)
    #4 <null> <null> (0x00010767d850)
    #5 <null> <null> (0x00010767d154)
    #6 <null> <null> (0x00010767d050)
    #7 <null> <null> (0x00010779d4ec)
    #8 <null> <null> (0x0001076dbda0)
    #9 <null> <null> (0x00010779d4ec)
    #10 <null> <null> (0x0001076155c4)
    #11 <null> <null> (0x000107602450)
    #12 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) <null> (dartaotruntime:arm64+0x100316a84)
    #13 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) <null> (dartaotruntime:arm64+0x100337ee8)
    #14 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) <null> (dartaotruntime:arm64+0x100349420)
    #15 dart::MessageHandler::TaskCallback() <null> (dartaotruntime:arm64+0x100349a48)
    #16 dart::MessageHandlerTask::Run() <null> (dartaotruntime:arm64+0x10034a004)
    #17 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) <null> (dartaotruntime:arm64+0x10047ae88)
    #18 dart::ThreadPool::Worker::Main(unsigned long) <null> (dartaotruntime:arm64+0x10047b2ac)
    #19 dart::ThreadStart(void*) <null> (dartaotruntime:arm64+0x100411464)

  Previous write of size 8 at 0x00010fc92ec8 by thread T10 (mutexes: write M0):
    #0 dart::Object::InitializeObject(unsigned long, long, long, bool, unsigned long, unsigned long) <null> (dartaotruntime:arm64+0x100379780)
    #1 dart::Object::Allocate(long, long, dart::Heap::Space, bool, unsigned long, unsigned long) <null> (dartaotruntime:arm64+0x100379a00)
    #2 dart::ICData::NewDescriptor(dart::Zone*, dart::Function const&, dart::String const&, dart::Array const&, long, long, dart::ICData::RebindRule, dart::AbstractType const&) <null> (dartaotruntime:arm64+0x1003a40c8)
    #3 dart::ICData::NewWithCheck(dart::Function const&, dart::String const&, dart::Array const&, long, long, dart::ICData::RebindRule, dart::GrowableArray<long>*, dart::Function const&, dart::AbstractType const&) <null> (dartaotruntime:arm64+0x1003a4428)
    #4 dart::PatchableCallHandler::NewICDataWithTarget(long, dart::Function const&) <null> (dartaotruntime:arm64+0x10043549c)
    #5 dart::PatchableCallHandler::DoMonomorphicMissAOT(dart::Object const&, dart::Function const&) <null> (dartaotruntime:arm64+0x1004359f8)
    #6 dart::PatchableCallHandler::HandleMissAOT(dart::Object const&, unsigned long, dart::Function const&) <null> (dartaotruntime:arm64+0x10043734c)
    #7 dart::PatchableCallHandler::ResolveSwitchAndReturn(dart::Object const&) <null> (dartaotruntime:arm64+0x1004372b4)
    #8 DRT_SwitchableCallMiss <null> (dartaotruntime:arm64+0x100437c74)
    #9 <null> <null> (0x000107602e30)
    #10 <null> <null> (0x00010767d850)
    #11 <null> <null> (0x00010767d1bc)
    #12 <null> <null> (0x00010767d050)
    #13 <null> <null> (0x00010779d4ec)
    #14 <null> <null> (0x0001076dbda0)
    #15 <null> <null> (0x00010779d4ec)
    #16 <null> <null> (0x0001076155c4)
    #17 <null> <null> (0x000107602450)
    #18 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) <null> (dartaotruntime:arm64+0x100316a84)
    #19 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) <null> (dartaotruntime:arm64+0x100337ee8)
    #20 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) <null> (dartaotruntime:arm64+0x100349420)
    #21 dart::MessageHandler::TaskCallback() <null> (dartaotruntime:arm64+0x100349a48)
    #22 dart::MessageHandlerTask::Run() <null> (dartaotruntime:arm64+0x10034a004)
    #23 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) <null> (dartaotruntime:arm64+0x10047ae88)
    #24 dart::ThreadPool::Worker::Main(unsigned long) <null> (dartaotruntime:arm64+0x10047b2ac)
    #25 dart::ThreadStart(void*) <null> (dartaotruntime:arm64+0x100411464)

  Mutex M0 (0x000108001448) created at:
    #0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x32768)
    #1 dart::Mutex::Mutex() <null> (dartaotruntime:arm64+0x10000b150)
    #2 dart::Mutex::Mutex() <null> (dartaotruntime:arm64+0x10000b2e0)
    #3 dart::IsolateGroup::IsolateGroup(std::_d::shared_ptr<dart::IsolateGroupSource>, void*, dart::ObjectStore*, Dart_IsolateFlags, bool) <null> (dartaotruntime:arm64+0x1003316b8)
    #4 dart::IsolateGroup::IsolateGroup(std::_d::shared_ptr<dart::IsolateGroupSource>, void*, Dart_IsolateFlags, bool) <null> (dartaotruntime:arm64+0x100331e0c)
    #5 Dart_CreateIsolateGroup <null> (dartaotruntime:arm64+0x10054ee14)
    #6 dart::bin::CreateIsolateGroupAndSetupHelper(bool, char const*, char const*, char const*, char const*, Dart_IsolateFlags*, void*, char**, int*) <null> (dartaotruntime:arm64+0x10000412c)
    #7 dart::bin::RunMainIsolate(char const*, char const*, char const*, dart::bin::CommandLineOptions*) <null> (dartaotruntime:arm64+0x100003cf0)
    #8 dart::bin::main(int, char**) <null> (dartaotruntime:arm64+0x100004e8c)
    #9 main <null> (dartaotruntime:arm64+0x100003b9c)

  Thread T8 (tid=429177, running) created by thread T6 at:
    #0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x30df0)
    #1 dart::OSThread::TryStart(char const*, void (*)(unsigned long), unsigned long) <null> (dartaotruntime:arm64+0x100411324)
    #2 dart::OSThread::Start(char const*, void (*)(unsigned long), unsigned long) <null> (dartaotruntime:arm64+0x100411160)
    #3 dart::ThreadPool::RunImpl(std::_d::unique_ptr<dart::ThreadPool::Task, std::_d::default_delete<dart::ThreadPool::Task>>) <null> (dartaotruntime:arm64+0x10047a73c)
    #4 dart::BootstrapNatives::DN_Isolate_spawnFunction(dart::Thread*, dart::Zone*, dart::NativeArguments*) <null> (dartaotruntime:arm64+0x1002db4f0)
    #5 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) <null> (dartaotruntime:arm64+0x100363aa8)
    #6 DRT_BootstrapNativeCall <null> (dartaotruntime:arm64+0x100363a10)
    #7 <null> <null> (0x000107602b70)
    #8 <null> <null> (0x00010767f890)
    #9 <null> <null> (0x00010767db54)
    #10 <null> <null> (0x0001076a0dfc)
    #11 <null> <null> (0x00010779cd04)
    #12 <null> <null> (0x0001076dbd20)
    #13 <null> <null> (0x00010779d4ec)
    #14 <null> <null> (0x0001076155c4)
    #15 <null> <null> (0x000107602450)
    #16 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) <null> (dartaotruntime:arm64+0x100316a84)
    #17 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) <null> (dartaotruntime:arm64+0x100337ee8)
    #18 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) <null> (dartaotruntime:arm64+0x100349420)
    #19 dart::MessageHandler::TaskCallback() <null> (dartaotruntime:arm64+0x100349a48)
    #20 dart::MessageHandlerTask::Run() <null> (dartaotruntime:arm64+0x10034a004)
    #21 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) <null> (dartaotruntime:arm64+0x10047ae88)
    #22 dart::ThreadPool::Worker::Main(unsigned long) <null> (dartaotruntime:arm64+0x10047b2ac)
    #23 dart::ThreadStart(void*) <null> (dartaotruntime:arm64+0x100411464)

  Thread T10 (tid=429179, running) created by thread T7 at:
    #0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x30df0)
    #1 dart::OSThread::TryStart(char const*, void (*)(unsigned long), unsigned long) <null> (dartaotruntime:arm64+0x100411324)
    #2 dart::OSThread::Start(char const*, void (*)(unsigned long), unsigned long) <null> (dartaotruntime:arm64+0x100411160)
    #3 dart::ThreadPool::RunImpl(std::_d::unique_ptr<dart::ThreadPool::Task, std::_d::default_delete<dart::ThreadPool::Task>>) <null> (dartaotruntime:arm64+0x10047a73c)
    #4 dart::MessageHandler::Run(dart::ThreadPool*, dart::MessageHandler::MessageStatus (*)(unsigned long), void (*)(unsigned long), unsigned long) <null> (dartaotruntime:arm64+0x100348ee0)
    #5 dart::Isolate::Run() <null> (dartaotruntime:arm64+0x10033aaf4)
    #6 Dart_RunLoopAsync <null> (dartaotruntime:arm64+0x100552fa0)
    #7 dart::SpawnIsolateTask::Run(dart::Isolate*) <null> (dartaotruntime:arm64+0x1002df32c)
    #8 dart::SpawnIsolateTask::RunLightweight(char const*) <null> (dartaotruntime:arm64+0x1002decf4)
    #9 dart::SpawnIsolateTask::Run() <null> (dartaotruntime:arm64+0x1002dea58)
    #10 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) <null> (dartaotruntime:arm64+0x10047ae88)
    #11 dart::ThreadPool::Worker::Main(unsigned long) <null> (dartaotruntime:arm64+0x10047b2ac)
    #12 dart::ThreadStart(void*) <null> (dartaotruntime:arm64+0x100411464)

SUMMARY: ThreadSanitizer: data race (/Volumes/Work/s/w/ir/xcodebuild/ReleaseTSANARM64/dartaotruntime:arm64+0x100436db0) in dart::PatchableCallHandler::ResolveTargetFunction(dart::Object const&)
==================

--- Re-run this test:
python3 tools/test.py -n vm-aot-tsan-mac-release-arm64 language/vm/lazy_deopt_with_exception_concurrent_test

cc @rmacnak-google

Metadata

Metadata

Labels

P2A bug or feature request we're likely to work onarea-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.gardeningtriagedIssue has been triaged by sub team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions