diff options
author | 2023-09-09 23:19:28 +0000 | |
---|---|---|
committer | 2023-09-09 23:19:28 +0000 | |
commit | a43e67ea1a314e5c6faf77457ffc5ea39c24d4ca (patch) | |
tree | 9ffb0fce0deed66670477257567bd9a617449105 /openjdkjvmti/ti_stack.cc | |
parent | f9fdd3ce0180972dc8d4f0c8410ea7702828a703 (diff) |
Revert "Revert^14 "Thread suspension cleanup and deadlock fix""
This reverts commit f9fdd3ce0180972dc8d4f0c8410ea7702828a703.
Reason for revert: Very suspicious host-x86_64-debug failure on LUCI.
Change-Id: Ia01dd3df8d64d6bc0d12319b06a8380f64a46785
Diffstat (limited to 'openjdkjvmti/ti_stack.cc')
-rw-r--r-- | openjdkjvmti/ti_stack.cc | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/openjdkjvmti/ti_stack.cc b/openjdkjvmti/ti_stack.cc index f399a6738b..9af8861260 100644 --- a/openjdkjvmti/ti_stack.cc +++ b/openjdkjvmti/ti_stack.cc @@ -363,13 +363,7 @@ static void RunCheckpointAndWait(Data* data, size_t max_frame_count) REQUIRES_SHARED(art::Locks::mutator_lock_) { // Note: requires the mutator lock as the checkpoint requires the mutator lock. GetAllStackTracesVectorClosure<Data> closure(max_frame_count, data); - // TODO(b/253671779): Replace this use of RunCheckpointUnchecked() with RunCheckpoint(). This is - // currently not possible, since the following undesirable call chain (abbreviated here) is then - // possible and exercised by current tests: (jvmti) GetAllStackTraces -> <this function> -> - // RunCheckpoint -> GetStackTraceVisitor -> EncodeMethodId -> Class::EnsureMethodIds -> - // Class::Alloc -> AllocObjectWithAllocator -> potentially suspends, or runs GC, etc. -> CHECK - // failure. - size_t barrier_count = art::Runtime::Current()->GetThreadList()->RunCheckpointUnchecked(&closure); + size_t barrier_count = art::Runtime::Current()->GetThreadList()->RunCheckpoint(&closure, nullptr); if (barrier_count == 0) { return; } |