Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vm/dart/isolates/shared_test flakily fails on vm-reload-linux-release-x64 #56076

Closed
aam opened this issue Jun 24, 2024 · 5 comments
Closed

vm/dart/isolates/shared_test flakily fails on vm-reload-linux-release-x64 #56076

aam opened this issue Jun 24, 2024 · 5 comments
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. gardening P2 A bug or feature request we're likely to work on triaged Issue has been triaged by sub team

Comments

@aam
Copy link
Contributor

aam commented Jun 24, 2024

Example failure https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/vm-reload-linux-release-x64/462/overview

--- Command "vm" (took 04:00.000480s):
DART_CONFIGURATION=ReleaseX64 out/ReleaseX64/dart --hot-reload-test-mode --sound-null-safety -Dtest_runner.configuration=vm-reload-linux-release-x64 --ignore-unrecognized-flags --packages=/b/s/w/ir/.dart_tool/package_config.json /b/s/w/ir/runtime/tests/vm/dart/isolates/shared_test.dart

exit code:
1

diagnostics:
Process list including children: [51982, 52062]
Trying to capture stack trace for pid 51982
PID 51982 - process
TID 51982:
#0  0x00007fa95c8f6376 pthread_cond_wait@@GLIBC_2.3.2
#1  0x0000560a227e2305 dart::Monitor::WaitMicros(long)
#2  0x0000560a227e2230 dart::Monitor::Wait(long)
#3  0x0000560a22a493fa Dart_RunLoop
#4  0x0000560a225d36cf dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#5  0x0000560a225d443a dart::bin::main(int, char**)
#6  0x0000560a225d343d main
#7  0x00007fa95c5ca083 __libc_start_main
#8  0x0000560a225cd5e9 _start
TID 51983:
#0  0x00007fa95c6c568e epoll_wait
#1  0x0000560a225dacd8 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x0000560a22a41ba2 dart::bin::ThreadStart(void*)
#3  0x00007fa95c8ef609 start_thread
#4  0x00007fa95c6c5353 __clone
TID 52063:
#0  0x00007fa95c688c7f wait4
#1  0x0000560a225e1eb8 dart::bin::ExitCodeHandler::ExitCodeHandlerEntry(unsigned long)
#2  0x0000560a22a41ba2 dart::bin::ThreadStart(void*)
#3  0x00007fa95c8ef609 start_thread
#4  0x00007fa95c6c5353 __clone


Trying to capture stack trace for pid 52062
PID 52062 - process
TID 52062:
#0  0x00007fa754c22376 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055ecbd1a3305 dart::Monitor::WaitMicros(long)
#2  0x000055ecbd1a3230 dart::Monitor::Wait(long)
#3  0x000055ecbd40a3fa Dart_RunLoop
#4  0x000055ecbcf946cf dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#5  0x000055ecbcf9543a dart::bin::main(int, char**)
#6  0x000055ecbcf9443d main
#7  0x00007fa7548f6083 __libc_start_main
#8  0x000055ecbcf8e5e9 _start
TID 52064:
#0  0x00007fa7549f168e epoll_wait
#1  0x000055ecbcf9bcd8 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x000055ecbd402ba2 dart::bin::ThreadStart(void*)
#3  0x00007fa754c1b609 start_thread
#4  0x00007fa7549f1353 __clone
TID 52074:
#0  0x00007fa754c26170 __lll_lock_wait
#1  0x00007fa754c1e0a3 __pthread_mutex_lock
#2  0x00007fa7541870fb
#3  0x00007fa74bb5e0bc
#4  0x00007fa74bb5debe
#5  0x00007fa74bb5dccf
#6  0x00007fa753a59558
#7  0x00007fa753a62bfe
#8  0x00007fa753a62ab5
#9  0x00007fa753a627a6
#10 0x00007fa753a6248d
#11 0x00007fa753a615dc
#12 0x00007fa753a60237
#13 0x00007fa753a5fd86
#14 0x00007fa753a5fbd2
#15 0x00007fa753a5f0cd
#16 0x00007fa753a5d82c
#17 0x00007fa753a5d6bb
#18 0x00007fa753a267de
#19 0x00007fa753a256b5
#20 0x00007fa7541834d6
#21 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#22 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#23 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#24 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#25 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#26 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#27 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#28 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#29 0x00007fa754c1b609 start_thread
#30 0x00007fa7549f1353 __clone
TID 52092:
#0  0x00007fa754c22376 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055ecbd1a3305 dart::Monitor::WaitMicros(long)
#2  0x000055ecbd1a3230 dart::Monitor::Wait(long)
#3  0x000055ecbd2461e1 dart::SafepointHandler::ExitSafepointLocked(dart::Thread*, dart::MonitorLocker*, dart::SafepointLevel)
#4  0x000055ecbd2465b7 dart::SafepointHandler::BlockForSafepoint(dart::Thread*)
#5  0x000055ecbd0f816c dart::IsolateMessageHandler::HandleLibMessage(dart::Array const&)
#6  0x000055ecbd0f9503 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#7  0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#8  0x000055ecbd11baa5 dart::MessageHandler::HandleOOBMessages()
#9  0x000055ecbd215a50 dart::Thread::HandleInterrupts()
#10 0x000055ecbd1e8d60 dart::DRT_InterruptOrStackOverflow(dart::NativeArguments)
#11 0x00007fa754183093
#12 0x00007fa74bb5f15f
#13 0x00007fa753a596bc
#14 0x00007fa753a62bfe
#15 0x00007fa753a62ab5
#16 0x00007fa753a627a6
#17 0x00007fa753a6248d
#18 0x00007fa753a615dc
#19 0x00007fa753a60237
#20 0x00007fa753a5fd86
#21 0x00007fa753a5fbd2
#22 0x00007fa753a5f0cd
#23 0x00007fa753a5d82c
#24 0x00007fa753a5d6bb
#25 0x00007fa753a267de
#26 0x00007fa753a256b5
#27 0x00007fa7541834d6
#28 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#29 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#30 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#31 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#32 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#33 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#34 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#35 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#36 0x00007fa754c1b609 start_thread
#37 0x00007fa7549f1353 __clone
TID 52093:
#0  0x00007fa754c26170 __lll_lock_wait
#1  0x00007fa754c1e0a3 __pthread_mutex_lock
#2  0x00007fa7541870fb
#3  0x00007fa74bb5e0bc
#4  0x00007fa74bb5debe
#5  0x00007fa74bb5dccf
#6  0x00007fa753a59558
#7  0x00007fa753a62bfe
#8  0x00007fa753a62ab5
#9  0x00007fa753a627a6
#10 0x00007fa753a6248d
#11 0x00007fa753a615dc
#12 0x00007fa753a60237
#13 0x00007fa753a5fd86
#14 0x00007fa753a5fbd2
#15 0x00007fa753a5f0cd
#16 0x00007fa753a5d82c
#17 0x00007fa753a5d6bb
#18 0x00007fa753a267de
#19 0x00007fa753a256b5
#20 0x00007fa7541834d6
#21 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#22 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#23 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#24 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#25 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#26 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#27 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#28 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#29 0x00007fa754c1b609 start_thread
#30 0x00007fa7549f1353 __clone
TID 52094:
#0  0x00007fa754c22376 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055ecbd1a3305 dart::Monitor::WaitMicros(long)
#2  0x000055ecbd1a3230 dart::Monitor::Wait(long)
#3  0x000055ecbd2461e1 dart::SafepointHandler::ExitSafepointLocked(dart::Thread*, dart::MonitorLocker*, dart::SafepointLevel)
#4  0x000055ecbd2465b7 dart::SafepointHandler::BlockForSafepoint(dart::Thread*)
#5  0x000055ecbd0f816c dart::IsolateMessageHandler::HandleLibMessage(dart::Array const&)
#6  0x000055ecbd0f9503 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#7  0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#8  0x000055ecbd11baa5 dart::MessageHandler::HandleOOBMessages()
#9  0x000055ecbd215a50 dart::Thread::HandleInterrupts()
#10 0x000055ecbd1e8d60 dart::DRT_InterruptOrStackOverflow(dart::NativeArguments)
#11 0x00007fa754183093
#12 0x00007fa74bb5c25e
#13 0x00007fa753a596bc
#14 0x00007fa753a62bfe
#15 0x00007fa753a62ab5
#16 0x00007fa753a627a6
#17 0x00007fa753a6248d
#18 0x00007fa753a615dc
#19 0x00007fa753a60237
#20 0x00007fa753a5fd86
#21 0x00007fa753a5fbd2
#22 0x00007fa753a5f0cd
#23 0x00007fa753a5d82c
#24 0x00007fa753a5d6bb
#25 0x00007fa753a267de
#26 0x00007fa753a256b5
#27 0x00007fa7541834d6
#28 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#29 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#30 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#31 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#32 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#33 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#34 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#35 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#36 0x00007fa754c1b609 start_thread
#37 0x00007fa7549f1353 __clone
TID 52095:
#0  0x00007fa754c22376 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055ecbd1a3305 dart::Monitor::WaitMicros(long)
#2  0x000055ecbd1a3230 dart::Monitor::Wait(long)
#3  0x000055ecbd2461e1 dart::SafepointHandler::ExitSafepointLocked(dart::Thread*, dart::MonitorLocker*, dart::SafepointLevel)
#4  0x000055ecbd2465b7 dart::SafepointHandler::BlockForSafepoint(dart::Thread*)
#5  0x000055ecbd0f816c dart::IsolateMessageHandler::HandleLibMessage(dart::Array const&)
#6  0x000055ecbd0f9503 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#7  0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#8  0x000055ecbd11baa5 dart::MessageHandler::HandleOOBMessages()
#9  0x000055ecbd215a50 dart::Thread::HandleInterrupts()
#10 0x000055ecbd1e8d60 dart::DRT_InterruptOrStackOverflow(dart::NativeArguments)
#11 0x00007fa754183093
#12 0x00007fa74bb5e280
#13 0x00007fa74bb5dd64
#14 0x00007fa753a5976b
#15 0x00007fa753a62bfe
#16 0x00007fa753a62ab5
#17 0x00007fa753a627a6
#18 0x00007fa753a6248d
#19 0x00007fa753a615dc
#20 0x00007fa753a60237
#21 0x00007fa753a5fd86
#22 0x00007fa753a5fbd2
#23 0x00007fa753a5f0cd
#24 0x00007fa753a5d82c
#25 0x00007fa753a5d6bb
#26 0x00007fa753a267de
#27 0x00007fa753a256b5
#28 0x00007fa7541834d6
#29 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#30 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#31 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#32 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#33 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#34 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#35 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#36 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#37 0x00007fa754c1b609 start_thread
#38 0x00007fa7549f1353 __clone
TID 52096:
#0  0x00007fa754c22376 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055ecbd1a3305 dart::Monitor::WaitMicros(long)
#2  0x000055ecbd1a3230 dart::Monitor::Wait(long)
#3  0x000055ecbd2461e1 dart::SafepointHandler::ExitSafepointLocked(dart::Thread*, dart::MonitorLocker*, dart::SafepointLevel)
#4  0x000055ecbd2465b7 dart::SafepointHandler::BlockForSafepoint(dart::Thread*)
#5  0x000055ecbd0f816c dart::IsolateMessageHandler::HandleLibMessage(dart::Array const&)
#6  0x000055ecbd0f9503 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#7  0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#8  0x000055ecbd11baa5 dart::MessageHandler::HandleOOBMessages()
#9  0x000055ecbd215a50 dart::Thread::HandleInterrupts()
#10 0x000055ecbd1e8d60 dart::DRT_InterruptOrStackOverflow(dart::NativeArguments)
#11 0x00007fa754183093
#12 0x00007fa74bb5f85f
#13 0x00007fa753a596bc
#14 0x00007fa753a62bfe
#15 0x00007fa753a62ab5
#16 0x00007fa753a627a6
#17 0x00007fa753a6248d
#18 0x00007fa753a615dc
#19 0x00007fa753a60237
#20 0x00007fa753a5fd86
#21 0x00007fa753a5fbd2
#22 0x00007fa753a5f0cd
#23 0x00007fa753a5d82c
#24 0x00007fa753a5d6bb
#25 0x00007fa753a267de
#26 0x00007fa753a256b5
#27 0x00007fa7541834d6
#28 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#29 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#30 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#31 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#32 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#33 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#34 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#35 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#36 0x00007fa754c1b609 start_thread
#37 0x00007fa7549f1353 __clone
TID 52097:
#0  0x00007fa754c26170 __lll_lock_wait
#1  0x00007fa754c1e0a3 __pthread_mutex_lock
#2  0x00007fa7541870fb
#3  0x00007fa74bb5e0bc
#4  0x00007fa74bb5debe
#5  0x00007fa74bb594bf
#6  0x00007fa753a5976b
#7  0x00007fa753a62bfe
#8  0x00007fa753a62ab5
#9  0x00007fa753a627a6
#10 0x00007fa753a6248d
#11 0x00007fa753a615dc
#12 0x00007fa753a60237
#13 0x00007fa753a5fd86
#14 0x00007fa753a5fbd2
#15 0x00007fa753a5f0cd
#16 0x00007fa753a5d82c
#17 0x00007fa753a5d6bb
#18 0x00007fa753a267de
#19 0x00007fa753a256b5
#20 0x00007fa7541834d6
#21 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#22 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#23 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#24 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#25 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#26 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#27 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#28 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#29 0x00007fa754c1b609 start_thread
#30 0x00007fa7549f1353 __clone
TID 52099:
#0  0x00007fa754c227d1 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x000055ecbd1a32ef dart::Monitor::WaitMicros(long)
#2  0x000055ecbd1a3230 dart::Monitor::Wait(long)
#3  0x000055ecbd2460ab dart::SafepointHandler::LevelHandler::WaitUntilThreadsReachedSafepointLevel()
#4  0x000055ecbd24566c dart::SafepointHandler::SafepointThreads(dart::Thread*, dart::SafepointLevel)
#5  0x000055ecbd0fb124 dart::IsolateGroup::ReloadSources(dart::JSONStream*, bool, char const*, char const*, bool)
#6  0x000055ecbd1e8bea dart::DRT_InterruptOrStackOverflow(dart::NativeArguments)
#7  0x00007fa754183093
#8  0x00007fa74bb5f5bf
#9  0x00007fa753a596bc
#10 0x00007fa753a62bfe
#11 0x00007fa753a62ab5
#12 0x00007fa753a627a6
#13 0x00007fa753a6248d
#14 0x00007fa753a615dc
#15 0x00007fa753a60237
#16 0x00007fa753a5fd86
#17 0x00007fa753a5fbd2
#18 0x00007fa753a5f0cd
#19 0x00007fa753a5d82c
#20 0x00007fa753a5d6bb
#21 0x00007fa753a267de
#22 0x00007fa753a256b5
#23 0x00007fa7541834d6
#24 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#25 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#26 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#27 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#28 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#29 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#30 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#31 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#32 0x00007fa754c1b609 start_thread
#33 0x00007fa7549f1353 __clone
TID 52100:
#0  0x00007fa754c22376 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055ecbd1a3305 dart::Monitor::WaitMicros(long)
#2  0x000055ecbd1a3230 dart::Monitor::Wait(long)
#3  0x000055ecbd2461e1 dart::SafepointHandler::ExitSafepointLocked(dart::Thread*, dart::MonitorLocker*, dart::SafepointLevel)
#4  0x000055ecbd2465b7 dart::SafepointHandler::BlockForSafepoint(dart::Thread*)
#5  0x000055ecbd0f816c dart::IsolateMessageHandler::HandleLibMessage(dart::Array const&)
#6  0x000055ecbd0f9503 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#7  0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#8  0x000055ecbd11baa5 dart::MessageHandler::HandleOOBMessages()
#9  0x000055ecbd215a50 dart::Thread::HandleInterrupts()
#10 0x000055ecbd1e8d60 dart::DRT_InterruptOrStackOverflow(dart::NativeArguments)
#11 0x00007fa754183093
#12 0x00007fa753a22d43
#13 0x00007fa753a229f6
#14 0x00007fa753a225c7
#15 0x00007fa74bb5e726
#16 0x00007fa753a267de
#17 0x00007fa753a256b5
#18 0x00007fa7541834d6
#19 0x000055ecbd0da815 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&)
#20 0x000055ecbd0dc1d3 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#21 0x000055ecbd0f952f dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#22 0x000055ecbd11b91a dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#23 0x000055ecbd11bd18 dart::MessageHandler::TaskCallback()
#24 0x000055ecbd218da7 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#25 0x000055ecbd219032 dart::ThreadPool::Worker::Main(unsigned long)
#26 0x000055ecbd1a2bf6 dart::ThreadStart(void*)
#27 0x00007fa754c1b609 start_thread
#28 0x00007fa7549f1353 __clone



stdout:
unittest-suite-wait-for-done

--- Re-run this test:
python3 tools/test.py -n vm-reload-linux-release-x64 vm/dart/isolates/shared_test

Reason for the failure and timeout/hanging is that isolate that grabbed the mutex now sits at safepoint requested for reload, but some other isolate is waiting for a mutex, can't get to a safepoint check.

cc @mraleph

@aam aam added area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. gardening labels Jun 24, 2024
@aam aam self-assigned this Jun 24, 2024
@mraleph
Copy link
Member

mraleph commented Jun 25, 2024

Did we mark these functions as leaf accidentally? I would imagine that they should not be preventing threads from reaching safepoints.

@aam
Copy link
Contributor Author

aam commented Jun 25, 2024

Reload safepoints are different from gc and deopt safepoints, so currently getting to those is impossible when in ffi call.

// Transitioning to native doesn't mean we enter a safepoint that is

@a-siva a-siva added P2 A bug or feature request we're likely to work on triaged Issue has been triaged by sub team labels Jun 26, 2024
@a-siva
Copy link
Contributor

a-siva commented Jun 26, 2024

Marking P2 as this could be hit potentially by a user.

@dcharkes
Copy link
Contributor

dcharkes commented Jul 9, 2024

@aam aam closed this as completed Jul 24, 2024
@aam
Copy link
Contributor Author

aam commented Jul 24, 2024

Switched implementation away from using ffi.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. gardening P2 A bug or feature request we're likely to work on triaged Issue has been triaged by sub team
Projects
None yet
Development

No branches or pull requests

4 participants