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

out_of_memory_recovery_synchronous_test times out on vm-kernel-linux-debug-x64c #48920

Open
aam opened this issue Apr 28, 2022 · 5 comments
Open
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. gardening

Comments

@aam
Copy link
Contributor

aam commented Apr 28, 2022

Logs

--- Command "vm" (took 02:00.000089s):
DART_CONFIGURATION=DebugX64C out/DebugX64C/dart --old_gen_heap_size=20 -Dtest_runner.configuration=dartk-linux-debug-x64c --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart

exit code:
null

diagnostics:
Process list including children: [27730]
Trying to capture stack trace for pid 27730
PID 27730 - process
TID 27730:
#0  0x00007fae17d00ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x00005599a39e390d dart::Monitor::WaitMicros(long)
#2  0x00005599a3f101aa Dart_RunLoop
#3  0x00005599a35c48ee dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#4  0x00005599a35c5782 dart::bin::main(int, char**)
#5  0x00005599a35c6789 main
#6  0x00007fae17585c87 __libc_start_main
#7  0x00005599a35bd629 _start
TID 27731:
#0  0x00007fae17685947 epoll_wait
#1  0x00005599a35d6575 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x00005599a377a862 dart::bin::ThreadStart(void*)
#3  0x00007fae17cfa6db start_thread
#4  0x00007fae1768561f __clone
TID 27732:
#0  0x00007fae17d00fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x00005599a39e38ed dart::Monitor::WaitMicros(long)
#2  0x00005599a3aa8d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x00005599a3aa94f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x00005599a39e2ad4 dart::ThreadStart(void*)
#5  0x00007fae17cfa6db start_thread
#6  0x00007fae1768561f __clone
TID 27733:
#0  0x00007fae17d00ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x00005599a39e390d dart::Monitor::WaitMicros(long)
#2  0x00005599a3aefa57 dart::BlockStack<64>::WaitForWork(dart::RelaxedAtomic<unsigned long>*)
#3  0x00005599a3af657e dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#4  0x00005599a3af7978 dart::ParallelScavengerTask::Run()
#5  0x00005599a3aa8b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#6  0x00005599a3aa94f7 dart::ThreadPool::Worker::Main(unsigned long)
#7  0x00005599a39e2ad4 dart::ThreadStart(void*)
#8  0x00007fae17cfa6db start_thread
#9  0x00007fae1768561f __clone
TID 27734:
#0  0x00007fae17d00fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x00005599a39e38ed dart::Monitor::WaitMicros(long)
#2  0x00005599a3aa8d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x00005599a3aa94f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x00005599a39e2ad4 dart::ThreadStart(void*)
#5  0x00007fae17cfa6db start_thread
#6  0x00007fae1768561f __clone
TID 27735:
#0  0x00007fae17d00fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x00005599a39e38ed dart::Monitor::WaitMicros(long)
#2  0x00005599a3aa8d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x00005599a3aa94f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x00005599a39e2ad4 dart::ThreadStart(void*)
#5  0x00007fae17cfa6db start_thread
#6  0x00007fae1768561f __clone
TID 27748:
#0  0x00005599a3af88a5 dart::ScavengerVisitorBase<true>::VisitCompressedPointers(unsigned long, dart::CompressedObjectPtr*, dart::CompressedObjectPtr*)
#1  0x00005599a3a0957b dart::UntaggedGrowableObjectArray::VisitGrowableObjectArrayPointers(dart::GrowableObjectArrayPtr, dart::ObjectPointerVisitor*)
#2  0x00005599a3a05022 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)
#3  0x00005599a3af9401 dart::ScavengerVisitorBase<true>::ProcessToSpace()
#4  0x00005599a3af7cf8 dart::ScavengerVisitorBase<true>::ProcessSurvivors()
#5  0x00005599a3af6526 dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#6  0x00005599a3af5a66 dart::Scavenger::ParallelScavenge(dart::SemiSpace*)
#7  0x00005599a3af5334 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)
#8  0x00005599a3ad9919 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)
#9  0x00005599a3ad8f1a dart::Heap::AllocateOld(dart::Thread*, long, dart::OldPage::PageType)
#10 0x00005599a39053ad dart::Object::Allocate(long, long, dart::Heap::Space, bool)
#11 0x00005599a3a518d5 dart::DRT_AllocateObject(dart::NativeArguments)
#12 0x00007fae171029d2
#13 0x00007fae17102718
#14 0x00007fae14227764
#15 0x00007fae1422670a
#16 0x00007fae1422662f
#17 0x00007fae1422547b
#18 0x00007fae142251d7
#19 0x00007fae14224a6b
#20 0x00007fae17102e60
#21 0x00005599a38491e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)
#22 0x00005599a3848dda dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
#23 0x00005599a384ba4b dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#24 0x00005599a3881a3c dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#25 0x00005599a38c2115 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#26 0x00005599a38c2ef9 dart::MessageHandler::TaskCallback()
#27 0x00005599a3aa8b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#28 0x00005599a3aa94f7 dart::ThreadPool::Worker::Main(unsigned long)
#29 0x00005599a39e2ad4 dart::ThreadStart(void*)
#30 0x00007fae17cfa6db start_thread
#31 0x00007fae1768561f __clone



stdout:
Okay
Okay

stderr:
Exhausted heap space, trying to allocate 32 bytes.
Exhausted heap space, trying to allocate 32 bytes.

--- Re-run this test:
python3 tools/test.py -n dartk-linux-debug-x64c standalone_2/out_of_memory_recovery_synchronous_test


======================================================

--- Command "vm" (took 02:00.000679s):
DART_CONFIGURATION=DebugX64C out/DebugX64C/dart --old_gen_heap_size=20 -Dtest_runner.configuration=dartk-linux-debug-x64c --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart

exit code:
null

diagnostics:
Process list including children: [11364]
Trying to capture stack trace for pid 11364
PID 11364 - process
TID 11364:
#0  0x00007fd45ae98ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x0000564fbf55b90d dart::Monitor::WaitMicros(long)
#2  0x0000564fbfa881aa Dart_RunLoop
#3  0x0000564fbf13c8ee dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#4  0x0000564fbf13d782 dart::bin::main(int, char**)
#5  0x0000564fbf13e789 main
#6  0x00007fd45a71dc87 __libc_start_main
#7  0x0000564fbf135629 _start
TID 11366:
#0  0x00007fd45a81d947 epoll_wait
#1  0x0000564fbf14e575 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x0000564fbf2f2862 dart::bin::ThreadStart(void*)
#3  0x00007fd45ae926db start_thread
#4  0x00007fd45a81d61f __clone
TID 11367:
#0  0x00007fd45ae98fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000564fbf55b8ed dart::Monitor::WaitMicros(long)
#2  0x0000564fbf620d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000564fbf6214f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000564fbf55aad4 dart::ThreadStart(void*)
#5  0x00007fd45ae926db start_thread
#6  0x00007fd45a81d61f __clone
TID 11368:
#0  0x00007fd45ae98fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000564fbf55b8ed dart::Monitor::WaitMicros(long)
#2  0x0000564fbf620d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000564fbf6214f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000564fbf55aad4 dart::ThreadStart(void*)
#5  0x00007fd45ae926db start_thread
#6  0x00007fd45a81d61f __clone
TID 11369:
#0  0x00007fd45ae98ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x0000564fbf55b90d dart::Monitor::WaitMicros(long)
#2  0x0000564fbf667a57 dart::BlockStack<64>::WaitForWork(dart::RelaxedAtomic<unsigned long>*)
#3  0x0000564fbf66e57e dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#4  0x0000564fbf66f978 dart::ParallelScavengerTask::Run()
#5  0x0000564fbf620b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#6  0x0000564fbf6214f7 dart::ThreadPool::Worker::Main(unsigned long)
#7  0x0000564fbf55aad4 dart::ThreadStart(void*)
#8  0x00007fd45ae926db start_thread
#9  0x00007fd45a81d61f __clone
TID 11370:
#0  0x00007fd45ae98fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000564fbf55b8ed dart::Monitor::WaitMicros(long)
#2  0x0000564fbf620d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000564fbf6214f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000564fbf55aad4 dart::ThreadStart(void*)
#5  0x00007fd45ae926db start_thread
#6  0x00007fd45a81d61f __clone
TID 11373:
#0  0x0000564fbf670890 dart::ScavengerVisitorBase<true>::VisitCompressedPointers(unsigned long, dart::CompressedObjectPtr*, dart::CompressedObjectPtr*)
#1  0x0000564fbf5813f9 dart::UntaggedArray::VisitArrayPointers(dart::ArrayPtr, dart::ObjectPointerVisitor*)
#2  0x0000564fbf57cf92 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)
#3  0x0000564fbf671401 dart::ScavengerVisitorBase<true>::ProcessToSpace()
#4  0x0000564fbf66fcf8 dart::ScavengerVisitorBase<true>::ProcessSurvivors()
#5  0x0000564fbf66e526 dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#6  0x0000564fbf66da66 dart::Scavenger::ParallelScavenge(dart::SemiSpace*)
#7  0x0000564fbf66d334 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)
#8  0x0000564fbf651919 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)
#9  0x0000564fbf650c02 dart::Heap::AllocateNew(dart::Thread*, long)
#10 0x0000564fbf47d3ad dart::Object::Allocate(long, long, dart::Heap::Space, bool)
#11 0x0000564fbf5c98d5 dart::DRT_AllocateObject(dart::NativeArguments)
#12 0x00007fd45a2829d2
#13 0x00007fd45a282718
#14 0x00007fd4573a7416
#15 0x00007fd4573a670a
#16 0x00007fd4573a662f
#17 0x00007fd4573a547b
#18 0x00007fd4573a51d7
#19 0x00007fd4573a4a6b
#20 0x00007fd45a282e60
#21 0x0000564fbf3c11e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)
#22 0x0000564fbf3c0dda dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
#23 0x0000564fbf3c3a4b dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#24 0x0000564fbf3f9a3c dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#25 0x0000564fbf43a115 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#26 0x0000564fbf43aef9 dart::MessageHandler::TaskCallback()
#27 0x0000564fbf620b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#28 0x0000564fbf6214f7 dart::ThreadPool::Worker::Main(unsigned long)
#29 0x0000564fbf55aad4 dart::ThreadStart(void*)
#30 0x00007fd45ae926db start_thread
#31 0x00007fd45a81d61f __clone



--- Re-run this test:
python3 tools/test.py -n dartk-linux-debug-x64c standalone_2/out_of_memory_recovery_synchronous_test


======================================================

--- Command "vm" (took 02:00.000099s):
DART_CONFIGURATION=DebugX64C out/DebugX64C/dart --old_gen_heap_size=20 -Dtest_runner.configuration=dartk-linux-debug-x64c --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart

exit code:
null

diagnostics:
Process list including children: [11379]
Trying to capture stack trace for pid 11379
PID 11379 - process
TID 11379:
#0  0x00007f42bbc75ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x00005584e8a1b90d dart::Monitor::WaitMicros(long)
#2  0x00005584e8f481aa Dart_RunLoop
#3  0x00005584e85fc8ee dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#4  0x00005584e85fd782 dart::bin::main(int, char**)
#5  0x00005584e85fe789 main
#6  0x00007f42bb4fac87 __libc_start_main
#7  0x00005584e85f5629 _start
TID 11380:
#0  0x00007f42bb5fa947 epoll_wait
#1  0x00005584e860e575 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x00005584e87b2862 dart::bin::ThreadStart(void*)
#3  0x00007f42bbc6f6db start_thread
#4  0x00007f42bb5fa61f __clone
TID 11381:
#0  0x00007f42bbc75fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x00005584e8a1b8ed dart::Monitor::WaitMicros(long)
#2  0x00005584e8ae0d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x00005584e8ae14f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x00005584e8a1aad4 dart::ThreadStart(void*)
#5  0x00007f42bbc6f6db start_thread
#6  0x00007f42bb5fa61f __clone
TID 11382:
#0  0x00007f42bbc75fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x00005584e8a1b8ed dart::Monitor::WaitMicros(long)
#2  0x00005584e8ae0d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x00005584e8ae14f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x00005584e8a1aad4 dart::ThreadStart(void*)
#5  0x00007f42bbc6f6db start_thread
#6  0x00007f42bb5fa61f __clone
TID 11383:
#0  0x00007f42bbc75fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x00005584e8a1b8ed dart::Monitor::WaitMicros(long)
#2  0x00005584e8ae0d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x00005584e8ae14f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x00005584e8a1aad4 dart::ThreadStart(void*)
#5  0x00007f42bbc6f6db start_thread
#6  0x00007f42bb5fa61f __clone
TID 11384:
#0  0x00005584e8b24d56 dart::FreeList::TryAllocateSmallLocked(long)
#1  0x00005584e8b24d1e dart::PageSpace::TryAllocatePromoLockedSlow(dart::FreeList*, long)
#2  0x00005584e8b3094d dart::ScavengerVisitorBase<true>::VisitCompressedPointers(unsigned long, dart::CompressedObjectPtr*, dart::CompressedObjectPtr*)
#3  0x00005584e8a4157b dart::UntaggedGrowableObjectArray::VisitGrowableObjectArrayPointers(dart::GrowableObjectArrayPtr, dart::ObjectPointerVisitor*)
#4  0x00005584e8a3d022 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)
#5  0x00005584e8b31401 dart::ScavengerVisitorBase<true>::ProcessToSpace()
#6  0x00005584e8b2fcf8 dart::ScavengerVisitorBase<true>::ProcessSurvivors()
#7  0x00005584e8b2e526 dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#8  0x00005584e8b2f978 dart::ParallelScavengerTask::Run()
#9  0x00005584e8ae0b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#10 0x00005584e8ae14f7 dart::ThreadPool::Worker::Main(unsigned long)
#11 0x00005584e8a1aad4 dart::ThreadStart(void*)
#12 0x00007f42bbc6f6db start_thread
#13 0x00007f42bb5fa61f __clone
TID 11387:
#0  0x00007f42bbc75ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x00005584e8a1b90d dart::Monitor::WaitMicros(long)
#2  0x00005584e8b27a57 dart::BlockStack<64>::WaitForWork(dart::RelaxedAtomic<unsigned long>*)
#3  0x00005584e8b2e57e dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#4  0x00005584e8b2da66 dart::Scavenger::ParallelScavenge(dart::SemiSpace*)
#5  0x00005584e8b2d334 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)
#6  0x00005584e8b11919 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)
#7  0x00005584e8b10c02 dart::Heap::AllocateNew(dart::Thread*, long)
#8  0x00005584e893d3ad dart::Object::Allocate(long, long, dart::Heap::Space, bool)
#9  0x00005584e89c5db1 dart::Array::New(long, long, dart::Heap::Space)
#10 0x00005584e892d1d5 dart::Array::New(long, dart::Heap::Space)
#11 0x00005584e8a87903 dart::DRT_AllocateArray(dart::NativeArguments)
#12 0x00007f42bb0829d2
#13 0x00007f42bb080ca3
#14 0x00007f42b81a7651
#15 0x00007f42b81a670a
#16 0x00007f42b81a662f
#17 0x00007f42b81a547b
#18 0x00007f42b81a51d7
#19 0x00007f42b81a4a6b
#20 0x00007f42bb082e60
#21 0x00005584e88811e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)
#22 0x00005584e8880dda dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
#23 0x00005584e8883a4b dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#24 0x00005584e88b9a3c dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#25 0x00005584e88fa115 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#26 0x00005584e88faef9 dart::MessageHandler::TaskCallback()
#27 0x00005584e8ae0b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#28 0x00005584e8ae14f7 dart::ThreadPool::Worker::Main(unsigned long)
#29 0x00005584e8a1aad4 dart::ThreadStart(void*)
#30 0x00007f42bbc6f6db start_thread
#31 0x00007f42bb5fa61f __clone



stdout:
Okay

stderr:
Exhausted heap space, trying to allocate 32 bytes.

--- Re-run this test:
python3 tools/test.py -n dartk-linux-debug-x64c standalone_2/out_of_memory_recovery_synchronous_test


======================================================

--- Command "vm" (took 02:00.000073s):
DART_CONFIGURATION=DebugX64C out/DebugX64C/dart --old_gen_heap_size=20 -Dtest_runner.configuration=dartk-linux-debug-x64c --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart

exit code:
null

diagnostics:
Process list including children: [11429]
Trying to capture stack trace for pid 11429
PID 11429 - process
TID 11429:
#0  0x00007f333a358ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x0000564b3a8b090d dart::Monitor::WaitMicros(long)
#2  0x0000564b3addd1aa Dart_RunLoop
#3  0x0000564b3a4918ee dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#4  0x0000564b3a492782 dart::bin::main(int, char**)
#5  0x0000564b3a493789 main
#6  0x00007f3339bddc87 __libc_start_main
#7  0x0000564b3a48a629 _start
TID 11430:
#0  0x00007f3339cdd947 epoll_wait
#1  0x0000564b3a4a3575 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x0000564b3a647862 dart::bin::ThreadStart(void*)
#3  0x00007f333a3526db start_thread
#4  0x00007f3339cdd61f __clone
TID 11431:
#0  0x00007f333a358fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000564b3a8b08ed dart::Monitor::WaitMicros(long)
#2  0x0000564b3a975d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000564b3a9764f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000564b3a8afad4 dart::ThreadStart(void*)
#5  0x00007f333a3526db start_thread
#6  0x00007f3339cdd61f __clone
TID 11432:
#0  0x00007f333a358fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000564b3a8b08ed dart::Monitor::WaitMicros(long)
#2  0x0000564b3a975d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000564b3a9764f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000564b3a8afad4 dart::ThreadStart(void*)
#5  0x00007f333a3526db start_thread
#6  0x00007f3339cdd61f __clone
TID 11433:
#0  0x00007f333a358fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000564b3a8b08ed dart::Monitor::WaitMicros(long)
#2  0x0000564b3a975d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000564b3a9764f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000564b3a8afad4 dart::ThreadStart(void*)
#5  0x00007f333a3526db start_thread
#6  0x00007f3339cdd61f __clone
TID 11434:
#0  0x00007f333a358fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000564b3a8b08ed dart::Monitor::WaitMicros(long)
#2  0x0000564b3a975d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000564b3a9764f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000564b3a8afad4 dart::ThreadStart(void*)
#5  0x00007f333a3526db start_thread
#6  0x00007f3339cdd61f __clone
TID 11437:
#0  0x0000564b3a8d63ec dart::UntaggedArray::VisitArrayPointers(dart::ArrayPtr, dart::ObjectPointerVisitor*)
#1  0x0000564b3a8d1f92 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)
#2  0x0000564b3a9c1a85 dart::NewPage::VisitObjects(dart::ObjectVisitor*) const
#3  0x0000564b3a9c19eb dart::Scavenger::VisitObjects(dart::ObjectVisitor*) const
#4  0x0000564b3a9a6cc6 dart::Heap::VisitObjects(dart::ObjectVisitor*)
#5  0x0000564b3a9a0011 dart::Become::FollowForwardingPointers(dart::Thread*)
#6  0x0000564b3a9c2e25 dart::Scavenger::ReverseScavenge(dart::SemiSpace**)
#7  0x0000564b3a9c2380 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)
#8  0x0000564b3a9a6919 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)
#9  0x0000564b3a9a5c02 dart::Heap::AllocateNew(dart::Thread*, long)
#10 0x0000564b3a7d23ad dart::Object::Allocate(long, long, dart::Heap::Space, bool)
#11 0x0000564b3a91e8d5 dart::DRT_AllocateObject(dart::NativeArguments)
#12 0x00007f33397029d2
#13 0x00007f3339702718
#14 0x00007f33368278e4
#15 0x00007f333682670a
#16 0x00007f333682662f
#17 0x00007f333682547b
#18 0x00007f33368251d7
#19 0x00007f3336824a6b
#20 0x00007f3339702e60
#21 0x0000564b3a7161e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)
#22 0x0000564b3a715dda dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
#23 0x0000564b3a718a4b dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#24 0x0000564b3a74ea3c dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#25 0x0000564b3a78f115 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#26 0x0000564b3a78fef9 dart::MessageHandler::TaskCallback()
#27 0x0000564b3a975b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#28 0x0000564b3a9764f7 dart::ThreadPool::Worker::Main(unsigned long)
#29 0x0000564b3a8afad4 dart::ThreadStart(void*)
#30 0x00007f333a3526db start_thread
#31 0x00007f3339cdd61f __clone



stdout:
Okay
Okay

stderr:
Exhausted heap space, trying to allocate 32 bytes.
Exhausted heap space, trying to allocate 32 bytes.

--- Re-run this test:
python3 tools/test.py -n dartk-linux-debug-x64c standalone_2/out_of_memory_recovery_synchronous_test


======================================================

--- Command "vm" (took 02:00.000082s):
DART_CONFIGURATION=DebugX64C out/DebugX64C/dart --old_gen_heap_size=20 -Dtest_runner.configuration=dartk-linux-debug-x64c --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart

exit code:
null

diagnostics:
Process list including children: [11456]
Trying to capture stack trace for pid 11456
PID 11456 - process
TID 11456:
#0  0x00007f3fe5995ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x0000555a2ee0790d dart::Monitor::WaitMicros(long)
#2  0x0000555a2f3341aa Dart_RunLoop
#3  0x0000555a2e9e88ee dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#4  0x0000555a2e9e9782 dart::bin::main(int, char**)
#5  0x0000555a2e9ea789 main
#6  0x00007f3fe521ac87 __libc_start_main
#7  0x0000555a2e9e1629 _start
TID 11457:
#0  0x00007f3fe531a947 epoll_wait
#1  0x0000555a2e9fa575 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x0000555a2eb9e862 dart::bin::ThreadStart(void*)
#3  0x00007f3fe598f6db start_thread
#4  0x00007f3fe531a61f __clone
TID 11458:
#0  0x00007f3fe5995fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000555a2ee078ed dart::Monitor::WaitMicros(long)
#2  0x0000555a2eeccd0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000555a2eecd4f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000555a2ee06ad4 dart::ThreadStart(void*)
#5  0x00007f3fe598f6db start_thread
#6  0x00007f3fe531a61f __clone
TID 11459:
#0  0x00007f3fe5995fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000555a2ee078ed dart::Monitor::WaitMicros(long)
#2  0x0000555a2eeccd0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000555a2eecd4f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000555a2ee06ad4 dart::ThreadStart(void*)
#5  0x00007f3fe598f6db start_thread
#6  0x00007f3fe531a61f __clone
TID 11460:
#0  0x00007f3fe5995ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x0000555a2ee0790d dart::Monitor::WaitMicros(long)
#2  0x0000555a2ef13a57 dart::BlockStack<64>::WaitForWork(dart::RelaxedAtomic<unsigned long>*)
#3  0x0000555a2ef1a57e dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#4  0x0000555a2ef1b978 dart::ParallelScavengerTask::Run()
#5  0x0000555a2eeccb4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#6  0x0000555a2eecd4f7 dart::ThreadPool::Worker::Main(unsigned long)
#7  0x0000555a2ee06ad4 dart::ThreadStart(void*)
#8  0x00007f3fe598f6db start_thread
#9  0x00007f3fe531a61f __clone
TID 11461:
#0  0x00007f3fe5995fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x0000555a2ee078ed dart::Monitor::WaitMicros(long)
#2  0x0000555a2eeccd0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x0000555a2eecd4f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x0000555a2ee06ad4 dart::ThreadStart(void*)
#5  0x00007f3fe598f6db start_thread
#6  0x00007f3fe531a61f __clone
TID 11464:
#0  0x00007f3fe5993886 __pthread_mutex_unlock
#1  0x0000555a2ee0729f dart::Mutex::Unlock()
#2  0x0000555a2ef00d9a dart::PageSpace::GetCurrentUsage() const
#3  0x0000555a2ef0b9b6 dart::PageSpace::TryAllocateInFreshPage(long, dart::FreeList*, dart::OldPage::PageType, dart::PageSpace::GrowthPolicy, bool)
#4  0x0000555a2ef1c94d dart::ScavengerVisitorBase<true>::VisitCompressedPointers(unsigned long, dart::CompressedObjectPtr*, dart::CompressedObjectPtr*)
#5  0x0000555a2ee2d3f9 dart::UntaggedArray::VisitArrayPointers(dart::ArrayPtr, dart::ObjectPointerVisitor*)
#6  0x0000555a2ee28f92 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)
#7  0x0000555a2ef1d401 dart::ScavengerVisitorBase<true>::ProcessToSpace()
#8  0x0000555a2ef1bcf8 dart::ScavengerVisitorBase<true>::ProcessSurvivors()
#9  0x0000555a2ef1a526 dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#10 0x0000555a2ef19a66 dart::Scavenger::ParallelScavenge(dart::SemiSpace*)
#11 0x0000555a2ef19334 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)
#12 0x0000555a2eefd919 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)
#13 0x0000555a2eefcc02 dart::Heap::AllocateNew(dart::Thread*, long)
#14 0x0000555a2ed293ad dart::Object::Allocate(long, long, dart::Heap::Space, bool)
#15 0x0000555a2edb1db1 dart::Array::New(long, long, dart::Heap::Space)
#16 0x0000555a2ed191d5 dart::Array::New(long, dart::Heap::Space)
#17 0x0000555a2ee73903 dart::DRT_AllocateArray(dart::NativeArguments)
#18 0x00007f3fe4d829d2
#19 0x00007f3fe4d80ca3
#20 0x00007f3fe1ea78b2
#21 0x00007f3fe1ea670a
#22 0x00007f3fe1ea662f
#23 0x00007f3fe1ea547b
#24 0x00007f3fe1ea51d7
#25 0x00007f3fe1ea4a6b
#26 0x00007f3fe4d82e60
#27 0x0000555a2ec6d1e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)
#28 0x0000555a2ec6cdda dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
#29 0x0000555a2ec6fa4b dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#30 0x0000555a2eca5a3c dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#31 0x0000555a2ece6115 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#32 0x0000555a2ece6ef9 dart::MessageHandler::TaskCallback()
#33 0x0000555a2eeccb4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#34 0x0000555a2eecd4f7 dart::ThreadPool::Worker::Main(unsigned long)
#35 0x0000555a2ee06ad4 dart::ThreadStart(void*)
#36 0x00007f3fe598f6db start_thread
#37 0x00007f3fe531a61f __clone



stdout:
Okay
Okay

stderr:
Exhausted heap space, trying to allocate 32 bytes.
Exhausted heap space, trying to allocate 32 bytes.

--- Re-run this test:
python3 tools/test.py -n dartk-linux-debug-x64c standalone_2/out_of_memory_recovery_synchronous_test


======================================================

--- Command "vm" (took 02:00.000077s):
DART_CONFIGURATION=DebugX64C out/DebugX64C/dart --old_gen_heap_size=20 -Dtest_runner.configuration=dartk-linux-debug-x64c --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart

exit code:
null

diagnostics:
Process list including children: [11509]
Trying to capture stack trace for pid 11509
PID 11509 - process
TID 11509:
#0  0x00007f8f1c5f3ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055d6a0c7b90d dart::Monitor::WaitMicros(long)
#2  0x000055d6a11a81aa Dart_RunLoop
#3  0x000055d6a085c8ee dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)
#4  0x000055d6a085d782 dart::bin::main(int, char**)
#5  0x000055d6a085e789 main
#6  0x00007f8f1be78c87 __libc_start_main
#7  0x000055d6a0855629 _start
TID 11510:
#0  0x00007f8f1bf78947 epoll_wait
#1  0x000055d6a086e575 dart::bin::EventHandlerImplementation::Poll(unsigned long)
#2  0x000055d6a0a12862 dart::bin::ThreadStart(void*)
#3  0x00007f8f1c5ed6db start_thread
#4  0x00007f8f1bf7861f __clone
TID 11511:
#0  0x00007f8f1c5f3fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x000055d6a0c7b8ed dart::Monitor::WaitMicros(long)
#2  0x000055d6a0d40d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x000055d6a0d414f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x000055d6a0c7aad4 dart::ThreadStart(void*)
#5  0x00007f8f1c5ed6db start_thread
#6  0x00007f8f1bf7861f __clone
TID 11512:
#0  0x00007f8f1c5f3fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x000055d6a0c7b8ed dart::Monitor::WaitMicros(long)
#2  0x000055d6a0d40d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x000055d6a0d414f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x000055d6a0c7aad4 dart::ThreadStart(void*)
#5  0x00007f8f1c5ed6db start_thread
#6  0x00007f8f1bf7861f __clone
TID 11513:
#0  0x00007f8f1c5f3ad3 pthread_cond_wait@@GLIBC_2.3.2
#1  0x000055d6a0c7b90d dart::Monitor::WaitMicros(long)
#2  0x000055d6a0d87a57 dart::BlockStack<64>::WaitForWork(dart::RelaxedAtomic<unsigned long>*)
#3  0x000055d6a0d8e57e dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#4  0x000055d6a0d8f978 dart::ParallelScavengerTask::Run()
#5  0x000055d6a0d40b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#6  0x000055d6a0d414f7 dart::ThreadPool::Worker::Main(unsigned long)
#7  0x000055d6a0c7aad4 dart::ThreadStart(void*)
#8  0x00007f8f1c5ed6db start_thread
#9  0x00007f8f1bf7861f __clone
TID 11514:
#0  0x00007f8f1c5f3fb9 pthread_cond_timedwait@@GLIBC_2.3.2
#1  0x000055d6a0c7b8ed dart::Monitor::WaitMicros(long)
#2  0x000055d6a0d40d0f dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#3  0x000055d6a0d414f7 dart::ThreadPool::Worker::Main(unsigned long)
#4  0x000055d6a0c7aad4 dart::ThreadStart(void*)
#5  0x00007f8f1c5ed6db start_thread
#6  0x00007f8f1bf7861f __clone
TID 11517:
#0  0x000055d6a0d90890 dart::ScavengerVisitorBase<true>::VisitCompressedPointers(unsigned long, dart::CompressedObjectPtr*, dart::CompressedObjectPtr*)
#1  0x000055d6a0ca13f9 dart::UntaggedArray::VisitArrayPointers(dart::ArrayPtr, dart::ObjectPointerVisitor*)
#2  0x000055d6a0c9cf92 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)
#3  0x000055d6a0d91401 dart::ScavengerVisitorBase<true>::ProcessToSpace()
#4  0x000055d6a0d8fcf8 dart::ScavengerVisitorBase<true>::ProcessSurvivors()
#5  0x000055d6a0d8e526 dart::ParallelScavengerTask::RunEnteredIsolateGroup()
#6  0x000055d6a0d8da66 dart::Scavenger::ParallelScavenge(dart::SemiSpace*)
#7  0x000055d6a0d8d334 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)
#8  0x000055d6a0d71919 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)
#9  0x000055d6a0d70c02 dart::Heap::AllocateNew(dart::Thread*, long)
#10 0x000055d6a0b9d3ad dart::Object::Allocate(long, long, dart::Heap::Space, bool)
#11 0x000055d6a0ce98d5 dart::DRT_AllocateObject(dart::NativeArguments)
#12 0x00007f8f1ba029d2
#13 0x00007f8f1ba02718
#14 0x00007f8f18b27416
#15 0x00007f8f18b2670a
#16 0x00007f8f18b2662f
#17 0x00007f8f18b2547b
#18 0x00007f8f18b251d7
#19 0x00007f8f18b24a6b
#20 0x00007f8f1ba02e60
#21 0x000055d6a0ae11e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)
#22 0x000055d6a0ae0dda dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
#23 0x000055d6a0ae3a4b dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)
#24 0x000055d6a0b19a3c dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)
#25 0x000055d6a0b5a115 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
#26 0x000055d6a0b5aef9 dart::MessageHandler::TaskCallback()
#27 0x000055d6a0d40b4b dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)
#28 0x000055d6a0d414f7 dart::ThreadPool::Worker::Main(unsigned long)
#29 0x000055d6a0c7aad4 dart::ThreadStart(void*)
#30 0x00007f8f1c5ed6db start_thread
#31 0x00007f8f1bf7861f __clone



--- Re-run this test:
python3 tools/test.py -n dartk-linux-debug-x64c standalone_2/out_of_memory_recovery_synchronous_test

cc @rmacnak-google

@aam aam added the gardening label Apr 28, 2022
@lrhn lrhn added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label Apr 28, 2022
@a-siva
Copy link
Contributor

a-siva commented Apr 28, 2022

From the stact traces dumped here it doesn't appear to be a deadlock, we have one thread doing work in dart::ScavengerVisitorBase::VisitCompressedPointers
Is this just a case of having to mark this test as slow ?

@aam
Copy link
Contributor Author

aam commented Apr 28, 2022

the test seems to be failing to complete in reasonable time when is run locally as well:

$  DART_CONFIGURATION=DebugX64C out/DebugX64C/dart --old_gen_heap_size=20 -Dtest_runner.configuration=dartk-linux-debug-x64c --ignore-unrecognized-flags --packages=$HOME/p/d/dart-sdk/sdk/.packages $HOME/p/d/dart-sdk/sdk/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart
Exhausted heap space, trying to allocate 32 bytes.
Okay
Exhausted heap space, trying to allocate 32 bytes.
Okay

was running for over 16 minutes already, still didn't finish

update: finished in ~20 minutes

@dcharkes
Copy link
Contributor

Also on Windows ia32.

log

@dcharkes
Copy link
Contributor

dcharkes commented Jun 14, 2022

cc @rmacnak-google 305c3e3 might have made this test slower. (It is the only GC related commit in the range where ia32 Windows started timing out.) It changed

soft_gc_threshold_in_words_ = threshold;

to

soft_gc_threshold_in_words_ = kIntptrMax / kWordSize;

for ia32.

@dcharkes
Copy link
Contributor

dcharkes commented May 11, 2023

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
Projects
None yet
Development

No branches or pull requests

4 participants