sdk icon indicating copy to clipboard operation
sdk copied to clipboard

[gardening] Flaky crashes / sanitizer reports in timeline related functionality

Open mkustermann opened this issue 1 month ago • 3 comments

From this log

/=====================================================================\
| vm/dart/stream_timeline_to_test failed again (Crash, expected Pass) |
\=====================================================================/

--- Command "vm_compile_to_kernel" (took 04.000149s):
DART_CONFIGURATION=ReleaseTSANARM64 /Volumes/Work/s/w/ir/cache/builder/sdk/pkg/vm/tool/gen_kernel --aot --platform=xcodebuild/ReleaseTSANARM64/vm_platform.dill -o /Volumes/Work/s/w/ir/cache/builder/sdk/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/runtime_tests_vm_dart_stream_timeline_to_test/out.dill /Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart -Dtest_runner.configuration=vm-aot-tsan-mac-release-arm64 --packages=/Volumes/Work/s/w/ir/cache/builder/sdk/.dart_tool/package_config.json -Ddart.vm.product=false

exit code:
0

--- Command "precompiler" (took 27.000711s):
DART_CONFIGURATION=ReleaseTSANARM64 xcodebuild/ReleaseTSANARM64/gen_snapshot --snapshot-kind=app-aot-macho-dylib --macho=/Volumes/Work/s/w/ir/cache/builder/sdk/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/runtime_tests_vm_dart_stream_timeline_to_test/libout.dylib -Dtest_runner.configuration=vm-aot-tsan-mac-release-arm64 --ignore-unrecognized-flags --packages=/Volumes/Work/s/w/ir/cache/builder/sdk/.dart_tool/package_config.json /Volumes/Work/s/w/ir/cache/builder/sdk/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/runtime_tests_vm_dart_stream_timeline_to_test/out.dill

exit code:
0

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

exit code:
0

--- Command "vm" (took 746ms):
DART_CONFIGURATION=ReleaseTSANARM64 TEST_COMPILATION_DIR=/Volumes/Work/s/w/ir/cache/builder/sdk/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/runtime_tests_vm_dart_stream_timeline_to_test xcodebuild/ReleaseTSANARM64/dartaotruntime -Dtest_runner.configuration=vm-aot-tsan-mac-release-arm64 --ignore-unrecognized-flags --packages=/Volumes/Work/s/w/ir/cache/builder/sdk/.dart_tool/package_config.json /Volumes/Work/s/w/ir/cache/builder/sdk/xcodebuild/ReleaseTSANARM64/generated_compilations/vm-aot-tsan-mac-release-arm64/runtime_tests_vm_dart_stream_timeline_to_test/libout.dylib

exit code:
-6

stderr:
==================
WARNING: ThreadSanitizer: data race (pid=28939)
  Write of size 8 at 0x000107b07348 by thread T9 (mutexes: write M0):
    #0 dart::TimelineEventFileRecorderBase::DrainBlockChain(dart::TimelineEventBlock*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2122:21 (dartaotruntime:arm64+0x10048677c)
    #1 dart::TimelineEventFileRecorderBase::Drain() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2101:7 (dartaotruntime:arm64+0x10048677c)
    #2 dart::TimelineEventFileRecorderBaseStart(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2028:64 (dartaotruntime:arm64+0x100486b20)
    #3 dart::ThreadStart(void*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:94:5 (dartaotruntime:arm64+0x1004110f0)

  Previous read of size 8 at 0x000107b07348 by thread T6 (mutexes: write M1):
    #0 dart::TimelineEventFileRecorderBase::GetNewBlockLocked() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2220:7 (dartaotruntime:arm64+0x100486b5c)
    #1 dart::TimelineEventRecorder::ThreadBlockStartEvent() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc (dartaotruntime:arm64+0x1004840b8)
    #2 dart::TimelineEventFileRecorderBase::StartEvent() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2162:10 (dartaotruntime:arm64+0x100486824)
    #3 dart::TimelineStream::StartEvent() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:1188:36 (dartaotruntime:arm64+0x100483a4c)
    #4 dart::TimelineBeginEndScope::EmitEnd() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:1317:36 (dartaotruntime:arm64+0x100483a4c)
    #5 dart::TimelineBeginEndScope::~TimelineBeginEndScope() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:1294:3 (dartaotruntime:arm64+0x100483c28)
    #6 dart::TimelineBeginEndScope::~TimelineBeginEndScope() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:1293:49 (dartaotruntime:arm64+0x100483c28)
    #7 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason) xcodebuild/ReleaseTSANARM64/../../runtime/vm/heap/heap.cc:519:5 (dartaotruntime:arm64+0x1004a5464)
    #8 dart::Heap::CollectGarbage(dart::Thread*, dart::GCType, dart::GCReason) xcodebuild/ReleaseTSANARM64/../../runtime/vm/heap/heap.cc:587:7 (dartaotruntime:arm64+0x1004a3464)
    #9 dart::Heap::AllocateNew(dart::Thread*, long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/heap/heap.cc:113:7 (dartaotruntime:arm64+0x1004a3464)
    #10 dart::Heap::Allocate(dart::Thread*, long, dart::Heap::Space) xcodebuild/ReleaseTSANARM64/../../runtime/vm/heap/heap.h:73:16 (dartaotruntime:arm64+0x1003664e0)
    #11 dart::Object::Allocate(long, long, dart::Heap::Space, bool, unsigned long, unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/object.cc:2882:25 (dartaotruntime:arm64+0x100379b18)
    #12 dart::Array::ObjectPtrType dart::Object::AllocateVariant<dart::Array>(long, dart::Heap::Space, long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/object.h:814:9 (dartaotruntime:arm64+0x1003bd464)
    #13 dart::Array::NewUninitialized(long, long, dart::Heap::Space) xcodebuild/ReleaseTSANARM64/../../runtime/vm/object.cc:25693:14 (dartaotruntime:arm64+0x1003bd464)
    #14 dart::Array::New(long, long, dart::Heap::Space) xcodebuild/ReleaseTSANARM64/../../runtime/vm/object.cc:25706:12 (dartaotruntime:arm64+0x1003bd798)
    #15 dart::Array::New(long, dart::Heap::Space) xcodebuild/ReleaseTSANARM64/../../runtime/vm/object.h:11240:12 (dartaotruntime:arm64+0x100432234)
    #16 dart::DRT_HelperAllocateArray(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments) xcodebuild/ReleaseTSANARM64/../../runtime/vm/runtime_entry.cc:499:7 (dartaotruntime:arm64+0x100432234)
    #17 DRT_AllocateArray xcodebuild/ReleaseTSANARM64/../../runtime/vm/runtime_entry.cc:477:1 (dartaotruntime:arm64+0x100432234)
    #18 stub CallToRuntime <null> (libout.dylib:arm64+0x12fac)
    #19 List._allocateData dart:core-patch/growable_array.dart (libout.dylib:arm64+0x32f10)
    #20 List._grow dart:core-patch/growable_array.dart:388 (libout.dylib:arm64+0x32fa4)
    #21 List._growToNextCapacity dart:core-patch/growable_array.dart:408 (libout.dylib:arm64+0x125bd8)
    #22 List.add dart:core-patch/growable_array.dart:288 (libout.dylib:arm64+0x1e43a0)
    #23 workload.<anonymous closure> file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:24 (libout.dylib:arm64+0x1e43a0)
    #24 Timeline.timeSync dart:developer/timeline.dart:184 (libout.dylib:arm64+0x11c140)
    #25 workload file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:19 (libout.dylib:arm64+0x1e111c)
    #26 testPerfettoRecorder file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:47 (libout.dylib:arm64+0x1e0158)
    #27 main.<anonymous closure> file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:124 (libout.dylib:arm64+0x1e4a94)
    #28 withTempDir file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/use_flag_test_helper.dart:308 (libout.dylib:arm64+0x1e3b40)
    #29 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:123 (libout.dylib:arm64+0x1e3a2c)
    #30 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:122 (libout.dylib:arm64+0x1e3d04)
    #31 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eaff8)
    #32 delayEntrypointInvocation.<anonymous closure> dart:isolate-patch/isolate_patch.dart:314 (libout.dylib:arm64+0x38b3c)
    #33 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eb7e0)
    #34 RawReceivePort._handleMessage dart:isolate-patch/isolate_patch.dart:193 (libout.dylib:arm64+0x33f7c)
    #35 stub InvokeDartCode <null> (libout.dylib:arm64+0x125cc)
    #36 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:41:10 (dartaotruntime:arm64+0x100316d80)
    #37 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:773:28 (dartaotruntime:arm64+0x100316d80)
    #38 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) xcodebuild/ReleaseTSANARM64/../../runtime/vm/isolate.cc:1561:15 (dartaotruntime:arm64+0x1003380e8)
    #39 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:229:16 (dartaotruntime:arm64+0x1003495e4)
    #40 dart::MessageHandler::TaskCallback() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:443:18 (dartaotruntime:arm64+0x100349c0c)
    #41 dart::MessageHandlerTask::Run() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:31:15 (dartaotruntime:arm64+0x10034a1c8)
    #42 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:207:15 (dartaotruntime:arm64+0x10047e640)
    #43 dart::ThreadPool::Worker::Main(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:367:9 (dartaotruntime:arm64+0x10047ea6c)
    #44 dart::ThreadStart(void*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:94:5 (dartaotruntime:arm64+0x1004110f0)

  Location is heap block of size 1360 at 0x000107b07200 allocated by thread T6:
    #0 malloc <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x643c0)
    #1 dart::malloc(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/platform/allocation.cc:20:18 (dartaotruntime:arm64+0x10000a664)
    #2 dart::MallocAllocated::operator new(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/platform/allocation.h:47:44 (dartaotruntime:arm64+0x10048905c)
    #3 dart::CreateTimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2317:10 (dartaotruntime:arm64+0x10048905c)
    #4 dart::Timeline::StreamTo(char const*, char const*, char const*, char const**) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2490:9 (dartaotruntime:arm64+0x10048905c)
    #5 dart::DN_HelperDeveloper_NativeRuntime_streamTimelineTo(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:256:19 (dartaotruntime:arm64+0x1002d6158)
    #6 dart::BootstrapNatives::DN_Developer_NativeRuntime_streamTimelineTo(dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:235:1 (dartaotruntime:arm64+0x1002d6158)
    #7 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:150:37 (dartaotruntime:arm64+0x100363cb4)
    #8 dart::NativeEntry::LinkNativeCall(_Dart_NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:330:5 (dartaotruntime:arm64+0x100364058)
    #9 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:135:5 (dartaotruntime:arm64+0x100363d48)
    #10 DRT_BootstrapNativeCall xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:117:3 (dartaotruntime:arm64+0x100363c1c)
    #11 stub CallBootstrapNative <null> (libout.dylib:arm64+0x12cec)
    #12 NativeRuntime.streamTimelineTo dart:developer-patch/developer.dart:309 (libout.dylib:arm64+0x1e17f4)
    #13 testPerfettoRecorder file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:42 (libout.dylib:arm64+0x1e0154)
    #14 main.<anonymous closure> file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:124 (libout.dylib:arm64+0x1e4a94)
    #15 withTempDir file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/use_flag_test_helper.dart:308 (libout.dylib:arm64+0x1e3b40)
    #16 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:123 (libout.dylib:arm64+0x1e3a2c)
    #17 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:122 (libout.dylib:arm64+0x1e3d04)
    #18 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eaff8)
    #19 delayEntrypointInvocation.<anonymous closure> dart:isolate-patch/isolate_patch.dart:314 (libout.dylib:arm64+0x38b3c)
    #20 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eb7e0)
    #21 RawReceivePort._handleMessage dart:isolate-patch/isolate_patch.dart:193 (libout.dylib:arm64+0x33f7c)
    #22 stub InvokeDartCode <null> (libout.dylib:arm64+0x125cc)
    #23 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:41:10 (dartaotruntime:arm64+0x100316d80)
    #24 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:773:28 (dartaotruntime:arm64+0x100316d80)
    #25 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) xcodebuild/ReleaseTSANARM64/../../runtime/vm/isolate.cc:1561:15 (dartaotruntime:arm64+0x1003380e8)
    #26 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:229:16 (dartaotruntime:arm64+0x1003495e4)
    #27 dart::MessageHandler::TaskCallback() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:443:18 (dartaotruntime:arm64+0x100349c0c)
    #28 dart::MessageHandlerTask::Run() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:31:15 (dartaotruntime:arm64+0x10034a1c8)
    #29 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:207:15 (dartaotruntime:arm64+0x10047e640)
    #30 dart::ThreadPool::Worker::Main(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:367:9 (dartaotruntime:arm64+0x10047ea6c)
    #31 dart::ThreadStart(void*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:94:5 (dartaotruntime:arm64+0x1004110f0)

  Mutex M0 (0x000107b072c0) created at:
    #0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x32f54)
    #1 dart::Mutex::Mutex() xcodebuild/ReleaseTSANARM64/../../runtime/platform/synchronization_posix.cc:31:12 (dartaotruntime:arm64+0x10000b0ac)
    #2 dart::Mutex::Mutex() xcodebuild/ReleaseTSANARM64/../../runtime/platform/synchronization_posix.cc:21:16 (dartaotruntime:arm64+0x10000b23c)
    #3 dart::Monitor::Monitor() xcodebuild/ReleaseTSANARM64/../../runtime/platform/synchronization.h:101:3 (dartaotruntime:arm64+0x100486338)
    #4 dart::Monitor::Monitor() xcodebuild/ReleaseTSANARM64/../../runtime/platform/synchronization.h:101:13 (dartaotruntime:arm64+0x100486338)
    #5 dart::TimelineEventFileRecorderBase::TimelineEventFileRecorderBase(char const*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2031:32 (dartaotruntime:arm64+0x100486338)
    #6 dart::TimelineEventRecorderWithPerfettoSupport<dart::TimelineEventFileRecorderBase>::TimelineEventRecorderWithPerfettoSupport<char const*&>(char const*&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:1602:7 (dartaotruntime:arm64+0x100487924)
    #7 dart::TimelineEventPerfettoFileRecorder::TimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2341:7 (dartaotruntime:arm64+0x100487924)
    #8 dart::TimelineEventPerfettoFileRecorder::TimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2345:27 (dartaotruntime:arm64+0x100489068)
    #9 dart::CreateTimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2317:14 (dartaotruntime:arm64+0x100489068)
    #10 dart::Timeline::StreamTo(char const*, char const*, char const*, char const**) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2490:9 (dartaotruntime:arm64+0x100489068)
    #11 dart::DN_HelperDeveloper_NativeRuntime_streamTimelineTo(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:256:19 (dartaotruntime:arm64+0x1002d6158)
    #12 dart::BootstrapNatives::DN_Developer_NativeRuntime_streamTimelineTo(dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:235:1 (dartaotruntime:arm64+0x1002d6158)
    #13 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:150:37 (dartaotruntime:arm64+0x100363cb4)
    #14 dart::NativeEntry::LinkNativeCall(_Dart_NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:330:5 (dartaotruntime:arm64+0x100364058)
    #15 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:135:5 (dartaotruntime:arm64+0x100363d48)
    #16 DRT_BootstrapNativeCall xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:117:3 (dartaotruntime:arm64+0x100363c1c)
    #17 stub CallBootstrapNative <null> (libout.dylib:arm64+0x12cec)
    #18 NativeRuntime.streamTimelineTo dart:developer-patch/developer.dart:309 (libout.dylib:arm64+0x1e17f4)
    #19 testPerfettoRecorder file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:42 (libout.dylib:arm64+0x1e0154)
    #20 main.<anonymous closure> file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:124 (libout.dylib:arm64+0x1e4a94)
    #21 withTempDir file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/use_flag_test_helper.dart:308 (libout.dylib:arm64+0x1e3b40)
    #22 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:123 (libout.dylib:arm64+0x1e3a2c)
    #23 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:122 (libout.dylib:arm64+0x1e3d04)
    #24 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eaff8)
    #25 delayEntrypointInvocation.<anonymous closure> dart:isolate-patch/isolate_patch.dart:314 (libout.dylib:arm64+0x38b3c)
    #26 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eb7e0)
    #27 RawReceivePort._handleMessage dart:isolate-patch/isolate_patch.dart:193 (libout.dylib:arm64+0x33f7c)
    #28 stub InvokeDartCode <null> (libout.dylib:arm64+0x125cc)
    #29 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:41:10 (dartaotruntime:arm64+0x100316d80)
    #30 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:773:28 (dartaotruntime:arm64+0x100316d80)
    #31 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) xcodebuild/ReleaseTSANARM64/../../runtime/vm/isolate.cc:1561:15 (dartaotruntime:arm64+0x1003380e8)
    #32 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:229:16 (dartaotruntime:arm64+0x1003495e4)
    #33 dart::MessageHandler::TaskCallback() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:443:18 (dartaotruntime:arm64+0x100349c0c)
    #34 dart::MessageHandlerTask::Run() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:31:15 (dartaotruntime:arm64+0x10034a1c8)
    #35 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:207:15 (dartaotruntime:arm64+0x10047e640)
    #36 dart::ThreadPool::Worker::Main(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:367:9 (dartaotruntime:arm64+0x10047ea6c)
    #37 dart::ThreadStart(void*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:94:5 (dartaotruntime:arm64+0x1004110f0)

  Mutex M1 (0x000107b07208) created at:
    #0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x32f54)
    #1 dart::Mutex::Mutex() xcodebuild/ReleaseTSANARM64/../../runtime/platform/synchronization_posix.cc:31:12 (dartaotruntime:arm64+0x10000b0ac)
    #2 dart::Mutex::Mutex() xcodebuild/ReleaseTSANARM64/../../runtime/platform/synchronization_posix.cc:21:16 (dartaotruntime:arm64+0x10000b23c)
    #3 dart::TimelineEventRecorder::TimelineEventRecorder() xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:1361:24 (dartaotruntime:arm64+0x1004862ec)
    #4 dart::TimelineEventFileRecorderBase::TimelineEventFileRecorderBase(char const*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2032:7 (dartaotruntime:arm64+0x1004862ec)
    #5 dart::TimelineEventRecorderWithPerfettoSupport<dart::TimelineEventFileRecorderBase>::TimelineEventRecorderWithPerfettoSupport<char const*&>(char const*&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:1602:7 (dartaotruntime:arm64+0x100487924)
    #6 dart::TimelineEventPerfettoFileRecorder::TimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2341:7 (dartaotruntime:arm64+0x100487924)
    #7 dart::TimelineEventPerfettoFileRecorder::TimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2345:27 (dartaotruntime:arm64+0x100489068)
    #8 dart::CreateTimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2317:14 (dartaotruntime:arm64+0x100489068)
    #9 dart::Timeline::StreamTo(char const*, char const*, char const*, char const**) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2490:9 (dartaotruntime:arm64+0x100489068)
    #10 dart::DN_HelperDeveloper_NativeRuntime_streamTimelineTo(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:256:19 (dartaotruntime:arm64+0x1002d6158)
    #11 dart::BootstrapNatives::DN_Developer_NativeRuntime_streamTimelineTo(dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:235:1 (dartaotruntime:arm64+0x1002d6158)
    #12 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:150:37 (dartaotruntime:arm64+0x100363cb4)
    #13 dart::NativeEntry::LinkNativeCall(_Dart_NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:330:5 (dartaotruntime:arm64+0x100364058)
    #14 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:135:5 (dartaotruntime:arm64+0x100363d48)
    #15 DRT_BootstrapNativeCall xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:117:3 (dartaotruntime:arm64+0x100363c1c)
    #16 stub CallBootstrapNative <null> (libout.dylib:arm64+0x12cec)
    #17 NativeRuntime.streamTimelineTo dart:developer-patch/developer.dart:309 (libout.dylib:arm64+0x1e17f4)
    #18 testPerfettoRecorder file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:42 (libout.dylib:arm64+0x1e0154)
    #19 main.<anonymous closure> file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:124 (libout.dylib:arm64+0x1e4a94)
    #20 withTempDir file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/use_flag_test_helper.dart:308 (libout.dylib:arm64+0x1e3b40)
    #21 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:123 (libout.dylib:arm64+0x1e3a2c)
    #22 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:122 (libout.dylib:arm64+0x1e3d04)
    #23 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eaff8)
    #24 delayEntrypointInvocation.<anonymous closure> dart:isolate-patch/isolate_patch.dart:314 (libout.dylib:arm64+0x38b3c)
    #25 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eb7e0)
    #26 RawReceivePort._handleMessage dart:isolate-patch/isolate_patch.dart:193 (libout.dylib:arm64+0x33f7c)
    #27 stub InvokeDartCode <null> (libout.dylib:arm64+0x125cc)
    #28 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:41:10 (dartaotruntime:arm64+0x100316d80)
    #29 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:773:28 (dartaotruntime:arm64+0x100316d80)
    #30 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) xcodebuild/ReleaseTSANARM64/../../runtime/vm/isolate.cc:1561:15 (dartaotruntime:arm64+0x1003380e8)
    #31 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:229:16 (dartaotruntime:arm64+0x1003495e4)
    #32 dart::MessageHandler::TaskCallback() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:443:18 (dartaotruntime:arm64+0x100349c0c)
    #33 dart::MessageHandlerTask::Run() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:31:15 (dartaotruntime:arm64+0x10034a1c8)
    #34 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:207:15 (dartaotruntime:arm64+0x10047e640)
    #35 dart::ThreadPool::Worker::Main(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:367:9 (dartaotruntime:arm64+0x10047ea6c)
    #36 dart::ThreadStart(void*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:94:5 (dartaotruntime:arm64+0x1004110f0)

  Thread T9 (tid=291161, running) created by thread T6 at:
    #0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x314fc)
    #1 dart::OSThread::TryStart(char const*, void (*)(unsigned long), unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:113:12 (dartaotruntime:arm64+0x100410fa8)
    #2 dart::OSThread::Start(char const*, void (*)(unsigned long), unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread.cc:359:16 (dartaotruntime:arm64+0x100410de4)
    #3 dart::TimelineEventFileRecorderBase::StartUp(char const*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2196:3 (dartaotruntime:arm64+0x100487a94)
    #4 dart::TimelineEventPerfettoFileRecorder::TimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2357:3 (dartaotruntime:arm64+0x100487a94)
    #5 dart::TimelineEventPerfettoFileRecorder::TimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2345:27 (dartaotruntime:arm64+0x100489068)
    #6 dart::CreateTimelineEventPerfettoFileRecorder(char const*, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2317:14 (dartaotruntime:arm64+0x100489068)
    #7 dart::Timeline::StreamTo(char const*, char const*, char const*, char const**) xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2490:9 (dartaotruntime:arm64+0x100489068)
    #8 dart::DN_HelperDeveloper_NativeRuntime_streamTimelineTo(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:256:19 (dartaotruntime:arm64+0x1002d6158)
    #9 dart::BootstrapNatives::DN_Developer_NativeRuntime_streamTimelineTo(dart::Thread*, dart::Zone*, dart::NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/lib/developer.cc:235:1 (dartaotruntime:arm64+0x1002d6158)
    #10 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:150:37 (dartaotruntime:arm64+0x100363cb4)
    #11 dart::NativeEntry::LinkNativeCall(_Dart_NativeArguments*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:330:5 (dartaotruntime:arm64+0x100364058)
    #12 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:135:5 (dartaotruntime:arm64+0x100363d48)
    #13 DRT_BootstrapNativeCall xcodebuild/ReleaseTSANARM64/../../runtime/vm/native_entry.cc:117:3 (dartaotruntime:arm64+0x100363c1c)
    #14 stub CallBootstrapNative <null> (libout.dylib:arm64+0x12cec)
    #15 NativeRuntime.streamTimelineTo dart:developer-patch/developer.dart:309 (libout.dylib:arm64+0x1e17f4)
    #16 testPerfettoRecorder file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:42 (libout.dylib:arm64+0x1e0154)
    #17 main.<anonymous closure> file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:124 (libout.dylib:arm64+0x1e4a94)
    #18 withTempDir file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/use_flag_test_helper.dart:308 (libout.dylib:arm64+0x1e3b40)
    #19 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:123 (libout.dylib:arm64+0x1e3a2c)
    #20 main file:///Volumes/Work/s/w/ir/cache/builder/sdk/runtime/tests/vm/dart/stream_timeline_to_test.dart:122 (libout.dylib:arm64+0x1e3d04)
    #21 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eaff8)
    #22 delayEntrypointInvocation.<anonymous closure> dart:isolate-patch/isolate_patch.dart:314 (libout.dylib:arm64+0x38b3c)
    #23 Closure.call dart:core-patch/function.dart (libout.dylib:arm64+0x1eb7e0)
    #24 RawReceivePort._handleMessage dart:isolate-patch/isolate_patch.dart:193 (libout.dylib:arm64+0x33f7c)
    #25 stub InvokeDartCode <null> (libout.dylib:arm64+0x125cc)
    #26 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:41:10 (dartaotruntime:arm64+0x100316d80)
    #27 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_entry.cc:773:28 (dartaotruntime:arm64+0x100316d80)
    #28 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) xcodebuild/ReleaseTSANARM64/../../runtime/vm/isolate.cc:1561:15 (dartaotruntime:arm64+0x1003380e8)
    #29 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:229:16 (dartaotruntime:arm64+0x1003495e4)
    #30 dart::MessageHandler::TaskCallback() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:443:18 (dartaotruntime:arm64+0x100349c0c)
    #31 dart::MessageHandlerTask::Run() xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:31:15 (dartaotruntime:arm64+0x10034a1c8)
    #32 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:207:15 (dartaotruntime:arm64+0x10047e640)
    #33 dart::ThreadPool::Worker::Main(unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:367:9 (dartaotruntime:arm64+0x10047ea6c)
    #34 dart::ThreadStart(void*) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:94:5 (dartaotruntime:arm64+0x1004110f0)

  Thread T6 (tid=291158, running) created by main thread at:
    #0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x314fc)
    #1 dart::OSThread::TryStart(char const*, void (*)(unsigned long), unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread_macos.cc:113:12 (dartaotruntime:arm64+0x100410fa8)
    #2 dart::OSThread::Start(char const*, void (*)(unsigned long), unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/os_thread.cc:359:16 (dartaotruntime:arm64+0x100410de4)
    #3 dart::ThreadPool::Worker::StartThread() xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:337:3 (dartaotruntime:arm64+0x10047df00)
    #4 dart::ThreadPool::RunImpl(std::_d::unique_ptr<dart::ThreadPool::Task, std::_d::default_delete<dart::ThreadPool::Task>>) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.cc:130:17 (dartaotruntime:arm64+0x10047df00)
    #5 bool dart::ThreadPool::Run<dart::MessageHandlerTask, dart::MessageHandler*>(dart::MessageHandler*&&) xcodebuild/ReleaseTSANARM64/../../runtime/vm/thread_pool.h:48:12 (dartaotruntime:arm64+0x1003490a4)
    #6 dart::MessageHandler::Run(dart::ThreadPool*, dart::MessageHandler::MessageStatus (*)(unsigned long), void (*)(unsigned long), unsigned long) xcodebuild/ReleaseTSANARM64/../../runtime/vm/message_handler.cc:111:24 (dartaotruntime:arm64+0x1003490a4)
    #7 Dart_RunLoop xcodebuild/ReleaseTSANARM64/../../runtime/vm/dart_api_impl.cc:2031:31 (dartaotruntime:arm64+0x1005546dc)
    #8 dart::bin::RunMainIsolate(char const*, char const*, char const*, dart::bin::CommandLineOptions*) xcodebuild/ReleaseTSANARM64/../../runtime/bin/main_impl.cc:1062:12 (dartaotruntime:arm64+0x100003d3c)
    #9 dart::bin::main(int, char**) xcodebuild/ReleaseTSANARM64/../../runtime/bin/main_impl.cc:1402:7 (dartaotruntime:arm64+0x100004d7c)
    #10 main xcodebuild/ReleaseTSANARM64/../../runtime/bin/main.cc:9:3 (dartaotruntime:arm64+0x100003a8c)

SUMMARY: ThreadSanitizer: data race xcodebuild/ReleaseTSANARM64/../../runtime/vm/timeline.cc:2122:21 in dart::TimelineEventFileRecorderBase::DrainBlockChain(dart::TimelineEventBlock*)
==================

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

From this log

/=================================================================================================\
| vm-tsan-linux-release-x64:lib/mirrors/invocation_fuzz_test broke (Pass -> Crash, expected Pass) |
\=================================================================================================/

--- Command "vm" (took 15.000100s):
DART_CONFIGURATION=ReleaseTSANX64 out/ReleaseTSANX64/dart -Dtest_runner.configuration=vm-tsan-linux-release-x64 --ignore-unrecognized-flags --packages=/b/s/w/ir/.dart_tool/package_config.json /b/s/w/ir/tests/lib/mirrors/invocation_fuzz_test.dart

exit code:
-6

stdout:
unittest-suite-wait-for-done
Fuzzing with []
Symbol("dart.core")
Symbol("dart.isolate")
...
dart.developer.NativeRuntime.NativeRuntime
dart.developer.NativeRuntime.stopStreamingTimeline from null

stderr:
==================
WARNING: ThreadSanitizer: data race (pid=36291)
  Read of size 8 at 0x5555591a0658 by thread T4 (mutexes: write M0):
    #0 dart::TimelineStream::enabled() out/ReleaseTSANX64/../../runtime/vm/timeline.h:114:12 (dartvm+0x28b185f) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #1 dart::TimelineEventScope::Init() out/ReleaseTSANX64/../../runtime/vm/timeline.cc:1219:17 (dartvm+0x28b185f)
    #2 dart::TimelineEventScope::TimelineEventScope(dart::Thread*, dart::TimelineStream*, char const*) out/ReleaseTSANX64/../../runtime/vm/timeline.cc:1210:3 (dartvm+0x28b185f)
    #3 dart::TimelineBeginEndScope::TimelineBeginEndScope(dart::Thread*, dart::TimelineStream*, char const*) out/ReleaseTSANX64/../../runtime/vm/timeline.cc:1289:7 (dartvm+0x28b185f)
    #4 dart::CompileParsedFunctionHelper::Compile() out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:559:9 (dartvm+0x28ca10e) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #5 dart::CompileFunctionHelper(dart::Function const&, bool, long) out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:679:46 (dartvm+0x28cacc7) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #6 dart::Compiler::CompileFunction(dart::Thread*, dart::Function const&) out/ReleaseTSANX64/../../runtime/vm/compiler/jit/compiler.cc:808:10 (dartvm+0x28ca6bc) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #7 dart::Function::EnsureHasCodeNoThrow() const out/ReleaseTSANX64/../../runtime/vm/object.cc:11968:28 (dartvm+0x2773911) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #8 dart::Function::EnsureHasCode() const out/ReleaseTSANX64/../../runtime/vm/object.cc:11943:47 (dartvm+0x27737b7) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #9 dart::TrySwitchInstanceCall(dart::Thread*, dart::StackFrame*, dart::Code const&, dart::Function const&, dart::ICData const&, dart::Function const&) out/ReleaseTSANX64/../../runtime/vm/runtime_entry.cc:2400:61 (dartvm+0x284b8e6) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #10 dart::PatchableCallHandler::DoICDataMissJIT(dart::ICData const&, dart::Object const&, dart::Function const&) out/ReleaseTSANX64/../../runtime/vm/runtime_entry.cc:3057:7 (dartvm+0x284bafd) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #11 dart::PatchableCallHandler::HandleMissJIT(dart::Object const&, dart::Code const&, dart::Function const&) out/ReleaseTSANX64/../../runtime/vm/runtime_entry.cc:3343:7 (dartvm+0x284c6be) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #12 dart::PatchableCallHandler::ResolveSwitchAndReturn(dart::Object const&) out/ReleaseTSANX64/../../runtime/vm/runtime_entry.cc:3291:3 (dartvm+0x284c6be)
    #13 dart::InlineCacheMissHandler(dart::Thread*, dart::Zone*, dart::GrowableArray<dart::Instance const*> const&, dart::ICData const&, dart::NativeArguments) out/ReleaseTSANX64/../../runtime/vm/runtime_entry.cc:3373:11 (dartvm+0x2854fc8) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #14 dart::DRT_HelperInlineCacheMissHandlerOneArg(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments) out/ReleaseTSANX64/../../runtime/vm/runtime_entry.cc:3390:3 (dartvm+0x284c98a) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #15 DRT_InlineCacheMissHandlerOneArg out/ReleaseTSANX64/../../runtime/vm/runtime_entry.cc:3384:1 (dartvm+0x284c98a)
    #16 <null> <null> (0x7ffff618404a)
    #17 VMService.messageHandler dart:_vmservice:476:9 
    #18 VMService.messageHandler dart:_vmservice:450:3 
    #19 _Closure.call dart:core-patch/function.dart:1:1 
    #20 _RawReceivePort._handleMessage dart:isolate-patch/isolate_patch.dart:193:12 
    #21 dart-code-lookup-failed 00007ffff6184906 
    #22 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:41:10 (dartvm+0x2680ceb) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #23 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&) out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:773:28 (dartvm+0x2680ceb)
    #24 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) out/ReleaseTSANX64/../../runtime/vm/isolate.cc:1561:15 (dartvm+0x26bbb34) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #25 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:229:16 (dartvm+0x26fe952) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #26 dart::MessageHandler::TaskCallback() out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:443:18 (dartvm+0x26fefd1) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #27 dart::MessageHandlerTask::Run() out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:31:15 (dartvm+0x26ff5d3) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #28 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:207:15 (dartvm+0x28ac2e9) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #29 dart::ThreadPool::Worker::Main(unsigned long) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:367:9 (dartvm+0x28ac86f) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #30 dart::ThreadStart(void*) out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:97:5 (dartvm+0x2813106) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)

  Previous write of size 8 at 0x5555591a0658 by thread T7:
    #0 dart::TimelineStream::set_enabled(bool) out/ReleaseTSANX64/../../runtime/vm/timeline.h:118:45 (dartvm+0x28ae393) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #1 dart::Timeline::Cleanup() out/ReleaseTSANX64/../../runtime/vm/timeline.cc:347:3 (dartvm+0x28ae393)
    #2 dart::Timeline::StopStreaming() out/ReleaseTSANX64/../../runtime/vm/timeline.cc:2528:3 (dartvm+0x28b762c) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #3 dart::DN_HelperDeveloper_NativeRuntime_stopStreamingTimeline(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments*) out/ReleaseTSANX64/../../runtime/lib/developer.cc:276:3 (dartvm+0x25e1e44) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #4 dart::BootstrapNatives::DN_Developer_NativeRuntime_stopStreamingTimeline(dart::Thread*, dart::Zone*, dart::NativeArguments*) out/ReleaseTSANX64/../../runtime/lib/developer.cc:268:1 (dartvm+0x25e1e44)
    #5 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) out/ReleaseTSANX64/../../runtime/vm/native_entry.cc:150:37 (dartvm+0x271b1c4) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #6 DRT_BootstrapNativeCall out/ReleaseTSANX64/../../runtime/vm/native_entry.cc:117:3 (dartvm+0x271b150) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #7 <null> <null> (0x7ffff61842eb)
    #8 dart-code-lookup-failed 00007ffff6184906 
    #9 dart::Class::Invoke(dart::String const&, dart::Array const&, dart::Array const&, bool, bool) const out/ReleaseTSANX64/../../runtime/vm/object.cc:5230:10 (dartvm+0x2758d41) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #10 dart::DN_HelperClassMirror_invoke(dart::Isolate*, dart::Thread*, dart::Zone*, dart::NativeArguments*) out/ReleaseTSANX64/../../runtime/lib/mirrors.cc:1315:3 (dartvm+0x25f1d06) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #11 dart::BootstrapNatives::DN_ClassMirror_invoke(dart::Thread*, dart::Zone*, dart::NativeArguments*) out/ReleaseTSANX64/../../runtime/lib/mirrors.cc:1305:1 (dartvm+0x25f1d06)
    #12 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) out/ReleaseTSANX64/../../runtime/vm/native_entry.cc:150:37 (dartvm+0x271b1c4) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #13 DRT_BootstrapNativeCall out/ReleaseTSANX64/../../runtime/vm/native_entry.cc:117:3 (dartvm+0x271b150) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #14 <null> <null> (0x7ffff61842eb)
    #15 _ObjectMirror.invoke dart:mirrors-patch/mirrors_impl.dart:262:25 
    #16 checkMethod.<anonymous closure> file:///b/s/w/ir/tests/lib/mirrors/invocation_fuzz_test.dart:87:32 
    #17 _Closure.call dart:core-patch/function.dart:1:1 
    #18 doOneTask file:///b/s/w/ir/tests/lib/mirrors/invocation_fuzz_test.dart:162:16 
    #19 doOneTask file:///b/s/w/ir/tests/lib/mirrors/invocation_fuzz_test.dart:152:1 
    #20 _rootRun dart:async/zone.dart:1525:13 
    #21 _rootRun dart:async/zone.dart:1516:1 
    #22 _CustomZone.run dart:async/zone.dart:1422:19 
    #23 _CustomZone.bindCallback.<anonymous closure> dart:async/zone.dart:1345:23 
    #24 Timer._createTimer.<anonymous closure> dart:async-patch/timer_patch.dart:18:15 
    #25 _Timer._runTimers dart:isolate-patch/timer_impl.dart:423:19 
    #26 _Timer._handleMessage dart:isolate-patch/timer_impl.dart:454:5 
    #27 _Timer._handleMessage dart:isolate-patch/timer_impl.dart:444:3 
    #28 _Closure.call dart:core-patch/function.dart:1:1 
    #29 _RawReceivePort._handleMessage dart:isolate-patch/isolate_patch.dart:193:12 
    #30 dart-code-lookup-failed 00007ffff6184906 
    #31 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&) out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:41:10 (dartvm+0x2680ceb) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #32 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&) out/ReleaseTSANX64/../../runtime/vm/dart_entry.cc:773:28 (dartvm+0x2680ceb)
    #33 dart::IsolateMessageHandler::HandleMessage(std::_d::unique_ptr<dart::Message, std::_d::default_delete<dart::Message>>) out/ReleaseTSANX64/../../runtime/vm/isolate.cc:1561:15 (dartvm+0x26bbb34) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #34 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool) out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:229:16 (dartvm+0x26fe952) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #35 dart::MessageHandler::TaskCallback() out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:443:18 (dartvm+0x26fefd1) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #36 dart::MessageHandlerTask::Run() out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:31:15 (dartvm+0x26ff5d3) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #37 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:207:15 (dartvm+0x28ac2e9) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #38 dart::ThreadPool::Worker::Main(unsigned long) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:367:9 (dartvm+0x28ac86f) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #39 dart::ThreadStart(void*) out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:97:5 (dartvm+0x2813106) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)

  Location is global 'dart::Timeline::stream_CompilerVerbose_' of size 24 at 0x5555591a0648 (dartvm+0x3c4c658)

  Mutex M0 (0x727c000101d0) created at:
    #0 pthread_mutex_init ../../../../../../../../../llvm-llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1398:3 (dartvm+0x223e93c) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #1 dart::Mutex::Mutex() out/ReleaseTSANX64/../../runtime/platform/synchronization_posix.cc:31:12 (dartvm+0x22cb402) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #2 dart::IsolateGroup::IsolateGroup(std::_d::shared_ptr<dart::IsolateGroupSource>, void*, dart::ObjectStore*, Dart_IsolateFlags, bool) out/ReleaseTSANX64/../../runtime/vm/isolate.cc:352:7 (dartvm+0x26b3075) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #3 dart::IsolateGroup::IsolateGroup(std::_d::shared_ptr<dart::IsolateGroupSource>, void*, Dart_IsolateFlags, bool) out/ReleaseTSANX64/../../runtime/vm/isolate.cc:401:7 (dartvm+0x26b3878) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #4 Dart_CreateIsolateGroup out/ReleaseTSANX64/../../runtime/vm/dart_api_impl.cc:1344:20 (dartvm+0x2c50cb7) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #5 dart::bin::CreateAndSetupServiceIsolate(char const*, char const*, Dart_IsolateFlags*, char**, int*) out/ReleaseTSANX64/../../runtime/bin/main_impl.cc:547:13 (dartvm+0x22c4ec6) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #6 dart::bin::CreateIsolateGroupAndSetup(char const*, char const*, char const*, char const*, Dart_IsolateFlags*, void*, char**) out/ReleaseTSANX64/../../runtime/bin/main_impl.cc:856:12 (dartvm+0x22c4ec6)
    #7 dart::RunServiceTask::Run() out/ReleaseTSANX64/../../runtime/vm/service_isolate.cc:364:9 (dartvm+0x28820a5) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #8 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:207:15 (dartvm+0x28ac2e9) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #9 dart::ThreadPool::Worker::Main(unsigned long) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:367:9 (dartvm+0x28ac86f) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #10 dart::ThreadStart(void*) out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:97:5 (dartvm+0x2813106) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)

  Thread T4 'DartWorker' (tid=36301, running) created by thread T2 at:
    #0 pthread_create ../../../../../../../../../llvm-llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1078:3 (dartvm+0x223cfba) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #1 dart::OSThread::TryStart(char const*, void (*)(unsigned long), unsigned long) out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:116:12 (dartvm+0x2812fc5) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #2 dart::OSThread::Start(char const*, void (*)(unsigned long), unsigned long) out/ReleaseTSANX64/../../runtime/vm/os_thread.cc:359:16 (dartvm+0x2812ddf) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #3 dart::ThreadPool::Worker::StartThread() out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:337:3 (dartvm+0x28aba79) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #4 dart::ThreadPool::RunImpl(std::_d::unique_ptr<dart::ThreadPool::Task, std::_d::default_delete<dart::ThreadPool::Task>>) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:130:17 (dartvm+0x28aba79)
    #5 bool dart::ThreadPool::Run<dart::MessageHandlerTask, dart::MessageHandler*>(dart::MessageHandler*&&) out/ReleaseTSANX64/../../runtime/vm/thread_pool.h:48:12 (dartvm+0x26fe3c6) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #6 dart::MessageHandler::Run(dart::ThreadPool*, dart::MessageHandler::MessageStatus (*)(unsigned long), void (*)(unsigned long), unsigned long) out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:111:24 (dartvm+0x26fe3c6)
    #7 dart::RunServiceTask::Run() out/ReleaseTSANX64/../../runtime/vm/service_isolate.cc:404:33 (dartvm+0x2882332) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #8 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:207:15 (dartvm+0x28ac2e9) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #9 dart::ThreadPool::Worker::Main(unsigned long) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:367:9 (dartvm+0x28ac86f) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #10 dart::ThreadStart(void*) out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:97:5 (dartvm+0x2813106) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)

  Thread T7 'DartWorker' (tid=36349, running) created by main thread at:
    #0 pthread_create ../../../../../../../../../llvm-llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1078:3 (dartvm+0x223cfba) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #1 dart::OSThread::TryStart(char const*, void (*)(unsigned long), unsigned long) out/ReleaseTSANX64/../../runtime/vm/os_thread_linux.cc:116:12 (dartvm+0x2812fc5) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #2 dart::OSThread::Start(char const*, void (*)(unsigned long), unsigned long) out/ReleaseTSANX64/../../runtime/vm/os_thread.cc:359:16 (dartvm+0x2812ddf) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #3 dart::ThreadPool::Worker::StartThread() out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:337:3 (dartvm+0x28aba79) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #4 dart::ThreadPool::RunImpl(std::_d::unique_ptr<dart::ThreadPool::Task, std::_d::default_delete<dart::ThreadPool::Task>>) out/ReleaseTSANX64/../../runtime/vm/thread_pool.cc:130:17 (dartvm+0x28aba79)
    #5 bool dart::ThreadPool::Run<dart::MessageHandlerTask, dart::MessageHandler*>(dart::MessageHandler*&&) out/ReleaseTSANX64/../../runtime/vm/thread_pool.h:48:12 (dartvm+0x26fe3c6) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #6 dart::MessageHandler::Run(dart::ThreadPool*, dart::MessageHandler::MessageStatus (*)(unsigned long), void (*)(unsigned long), unsigned long) out/ReleaseTSANX64/../../runtime/vm/message_handler.cc:111:24 (dartvm+0x26fe3c6)
    #7 Dart_RunLoop out/ReleaseTSANX64/../../runtime/vm/dart_api_impl.cc:2031:31 (dartvm+0x2c54cf7) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #8 dart::bin::RunMainIsolate(char const*, char const*, char const*, dart::bin::CommandLineOptions*) out/ReleaseTSANX64/../../runtime/bin/main_impl.cc:1062:12 (dartvm+0x22c35f5) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #9 dart::bin::main(int, char**) out/ReleaseTSANX64/../../runtime/bin/main_impl.cc:1402:7 (dartvm+0x22c48ee) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)
    #10 main out/ReleaseTSANX64/../../runtime/bin/main.cc:9:3 (dartvm+0x22c32c4) (BuildId: 608d6f74a1bd781c56b959bbd9235a819e7e4dc8)

SUMMARY: ThreadSanitizer: data race out/ReleaseTSANX64/../../runtime/vm/timeline.h:114:12 in dart::TimelineStream::enabled()
==================

--- Re-run this test:
python3 tools/test.py -n vm-tsan-linux-release-x64 lib/mirrors/invocation_fuzz_test

/cc @mraleph Could this be related to your changes?

mkustermann avatar Oct 27 '25 12:10 mkustermann