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

Assignees

No one assigned

    Labels

    area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.gardening

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions