JDK-8353496 : SuspendResume1.java and SuspendResume2.java timeout after JDK-8319447
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: 25
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2025-04-02
  • Updated: 2025-05-29
  • Resolved: 2025-05-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 25
25 b23Fixed
Related Reports
Causes :  
Duplicate :  
Duplicate :  
Duplicate :  
Description
1. To reproduce with release build on linux-aarch64 server (Running Ubuntu 22.04.4 LTS):

$ make test TEST="serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java" TEST_VM_OPTS="-XX:TieredStopAtLevel=1"
$ make test TEST="serviceability/jvmti/vthread/SuspendResume2/SuspendResume2.java" TEST_VM_OPTS="-XX:TieredStopAtLevel=1"

Test result: SuspendResume1.java#no-vmcontinuations passes, but SuspendResume1.java#default timeouts. SuspendResume2.java is similar.

2. To reproduce with fastdebug build on linux-aarch64 server (Running Ubuntu 22.04.4 LTS):

$ make test TEST="serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java"
$ make test TEST="serviceability/jvmti/vthread/SuspendResume2/SuspendResume2.java"

Test result: SuspendResume1.java#no-vmcontinuations passes, but SuspendResume1.java#default timeouts. SuspendResume2.java is similar.

3. Same tests finish very quickly with either release or fastdebug build before JDK-8319447.
Comments
Changeset: 265bc5f4 Branch: master Author: Serguei Spitsyn <sspitsyn@openjdk.org> Date: 2025-05-14 08:21:54 +0000 URL: https://git.openjdk.org/jdk/commit/265bc5f47d4c0b973fd09d3c2d7576f5f786399f
14-05-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/25194 Date: 2025-05-12 23:19:58 +0000
13-05-2025

I was able to reproduce this deadlock with the patch: index e4673c3d017..a6ad02ebcd2 100644 --- a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java +++ b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java @@ -164,11 +164,11 @@ public void run() { // run in a loop threadReady = true; int i = 0; - int n = 1000; + int n = 10000; while (!shouldFinish) { if (n <= 0) { - n = 1000; - SuspendResume1.sleep(10); + n = 10000; + SuspendResume1.sleep(1); } if (i > n) { i = 0; The following patch also helps to reproduce this but with less probability: diff --git a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java index e4673c3d017..30c460c4e11 100644 --- a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java +++ b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java @@ -168,7 +168,7 @@ public void run() { while (!shouldFinish) { if (n <= 0) { n = 1000; - SuspendResume1.sleep(10); + SuspendResume1.sleep(1); } if (i > n) { i = 0; It proves the Alan's theory on the deadlock root cause.
12-05-2025

Thank you, Alan. It explains this deadlock. I'll try to bump the sleep but it would be nice to reproduce it first to see if the tweak fixed the problem. Also, it could make sense to decrease the busy part of this loop, to re-balance it with the sleep. This will remain fragile though.
08-05-2025

The JavaThread.dump.<pid>.0 has more information in a nice format: . . . { "tid": "25", "name": "MainThread", "stack": [ "java.base\/java.lang.Thread.sleepNanos0(Native Method)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:482)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "TestedThread.ensureReady(SuspendResume2.java:179)", "SuspendResume2.start_thread(SuspendResume2.java:140)", "SuspendResume2.test_vthreads(SuspendResume2.java:118)", "SuspendResume2.runIt(SuspendResume2.java:103)", "SuspendResume2.run(SuspendResume2.java:94)", "SuspendResume2.main(SuspendResume2.java:87)", "java.base\/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)", "java.base\/java.lang.reflect.Method.invoke(Method.java:565)", "com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)", "java.base\/java.lang.Thread.run(Thread.java:1447)" ] }, { "tid": "27", "name": "VirtualThread-unblocker", "stack": [ "java.base\/java.lang.VirtualThread.takeVirtualThreadListToUnblock(Native Method)", "java.base\/java.lang.VirtualThread.unblockVirtualThreads(VirtualThread.java:1489)", "java.base\/java.lang.Thread.run(Thread.java:1447)", "java.base\/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:148)" ] }, . . . { "tid": "32", "name": "TestedThread1", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "34", "name": "TestedThread2", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "36", "name": "TestedThread3", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "38", "name": "TestedThread4", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "40", "name": "TestedThread5", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "42", "name": "TestedThread6", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "44", "name": "TestedThread7", "stack": [ "TestedThread.run(SuspendResume2.java:171)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "46", "name": "TestedThread8", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "48", "name": "TestedThread9", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "50", "name": "TestedThread10", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "52", "name": "TestedThread11", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "28", "name": "TestedThread0", "stack": [ "java.base\/java.lang.VirtualThread.parkNanos(VirtualThread.java:788)", "java.base\/java.lang.VirtualThread.sleepNanos(VirtualThread.java:967)", "java.base\/java.lang.Thread.sleepNanos(Thread.java:480)", "java.base\/java.lang.Thread.sleep(Thread.java:513)", "SuspendResume2.sleep(SuspendResume2.java:79)", "TestedThread.run(SuspendResume2.java:165)", "java.base\/java.lang.VirtualThread.run(VirtualThread.java:466)" ] }, { "tid": "61", "name": "TestedThread12", "stack": [ ] } ], "threadCount": "22" }, { "container": "java.util.concurrent.ScheduledThreadPoolExecutor@5df18e2d", "parent": "<root>", "owner": null, "threads": [ { "tid": "30", "name": "VirtualThread-unparker", "stack": [ "java.base\/jdk.internal.misc.Unsafe.park(Native Method)", "java.base\/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:271)", "java.base\/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1802)", "java.base\/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1166)", "java.base\/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:883)", "java.base\/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1016)", "java.base\/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)", "java.base\/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)", "java.base\/java.lang.Thread.run(Thread.java:1447)", "java.base\/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:148)" ] } ], "threadCount": "1" }, { "container": "ForkJoinPool-1\/jdk.internal.vm.SharedThreadContainer@68ce96e1", "parent": "<root>", "owner": null, "threads": [ { "tid": "29", "name": "ForkJoinPool-1-worker-1", "stack": [ "java.base\/jdk.internal.vm.Continuation.run(Continuation.java:254)", "java.base\/java.lang.VirtualThread.runContinuation(VirtualThread.java:303)", "java.base\/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1750)", "java.base\/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1742)", "java.base\/java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(ForkJoinTask.java:1659)", "java.base\/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:511)", "java.base\/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1452)", "java.base\/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2027)", "java.base\/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)" ] } ], "threadCount": "1" }, { "container": "ForkJoinPool.commonPool\/jdk.internal.vm.SharedThreadContainer@13467001", "parent": "<root>", "owner": null, "threads": [ ], "threadCount": "0" }, { "container": "java.util.concurrent.ScheduledThreadPoolExecutor@676cf662", "parent": "<root>", "owner": null, "threads": [ ], "threadCount": "0" }, { "container": "java.util.concurrent.ThreadPoolExecutor@20e67fc7", "parent": "<root>", "owner": null, "threads": [ ], "threadCount": "0" } ] }
08-05-2025

The test should start 20 TestedThread virtual threads but only 15 of them have started. The test log is: ----------System.out:(20/700)---------- Agent init started Agent init finished ## Java: runIt: Starting threads ## Java: started thread: TestedThread0 ## Java: started thread: TestedThread1 ## Java: started thread: TestedThread2 ## Java: started thread: TestedThread3 ## Java: started thread: TestedThread4 ## Java: started thread: TestedThread5 ## Java: started thread: TestedThread6 ## Java: started thread: TestedThread7 ## Java: started thread: TestedThread8 ## Java: started thread: TestedThread9 ## Java: started thread: TestedThread10 ## Java: started thread: TestedThread11 ## Java: started thread: TestedThread12 ## Java: started thread: TestedThread13 Timeout signalled after 1200 seconds ## Java: started thread: TestedThread14 ----------System.err:(5/731)---------- I do not see TestedThread threads in one of the thread dumps but there are the following interesting threads (please, see below). The MainThread is waiting for one of the TestedThread* thread to start (it has to be the TestedThread15). It does not look like the JVMTI can be blamed here as there is a problem with virtual thread start. It can be a test problem though. Will look at other available thread dumps in hope to find more details. tid=0x0000000136975410 nid=42499 waiting on condition [0x000000017154e000] JavaThread state: _thread_blocked - java.lang.Thread.sleepNanos0(long) @bci=0 (Compiled frame; information may be imprecise) - java.lang.Thread.sleepNanos(long) @bci=33, line=482 (Compiled frame) - java.lang.Thread.sleep(long) @bci=25, line=513 (Compiled frame) - TestedThread.ensureReady() @bci=10, line=185 (Compiled frame) - SuspendResume1.start_thread(java.lang.String, TestedThread) @bci=17, line=146 (Interpreted frame) - SuspendResume1.test_vthreads() @bci=51, line=119 (Interpreted frame) - SuspendResume1.runIt(java.lang.String[], java.io.PrintStream) @bci=10, line=104 (Compiled frame) - SuspendResume1.run(java.lang.String[], java.io.PrintStream) @bci=9, line=95 (Interpreted frame) - SuspendResume1.main(java.lang.String[]) @bci=4, line=88 (Interpreted frame) - java.lang.invoke.LambdaForm$DMH+0x000001f001042000.invokeStatic(java.lang.Object, java.lang.Object) @bci=10 (Compiled frame) - java.lang.invoke.LambdaForm$MH+0x000001f001043400.invoke(java.lang.Object, java.lang.Object, java.lang.Object) @bci=33 (Compiled frame) - java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) @bci=20 (Compiled frame) - jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.lang.Object, java.lang.Object[]) @bci=55, line=155 (Interpreted frame) - jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.lang.Object, java.lang.Object[]) @bci=23, line=104 (Interpreted frame) - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) @bci=102, line=565 (Compiled frame) - com.sun.javatest.regtest.agent.MainWrapper$MainTask.run() @bci=134, line=138 (Interpreted frame) - java.lang.Thread.runWith(java.lang.Object, java.lang.Runnable) @bci=5, line=1460 (Compiled frame) - java.lang.Thread.run() @bci=19, line=1447 (Compiled frame) tid=0x000000012499fe10 nid=41987 runnable [0x000000017175a000] JavaThread state: _thread_blocked - java.lang.VirtualThread.takeVirtualThreadListToUnblock() @bci=0 (Compiled frame; information may be imprecise) - java.lang.VirtualThread.unblockVirtualThreads() @bci=0, line=1507 (Compiled frame) - java.lang.VirtualThread$$Lambda+0x000001f0010069c8.run() @bci=0 (Compiled frame) - java.lang.Thread.runWith(java.lang.Object, java.lang.Runnable) @bci=5, line=1460 (Compiled frame) - java.lang.Thread.run() @bci=19, line=1447 (Compiled frame) - jdk.internal.misc.InnocuousThread.run() @bci=20, line=148 (Compiled frame) tid=0x00000001249a1410 nid=41475 runnable [0x0000000000000000] JavaThread state: _thread_in_java - TestedThread.run() @bci=45, line=177 (Compiled frame; information may be imprecise) - jdk.internal.vm.Continuation.run() @bci=152, line=254 (Compiled frame) - java.lang.VirtualThread.runContinuation() @bci=100, line=293 (Compiled frame) - java.lang.VirtualThread$$Lambda+0x000001f0010070b0.run() @bci=4 (Compiled frame) - java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec() @bci=4, line=1593 (Compiled frame) - java.util.concurrent.ForkJoinTask.doExec() @bci=10, line=511 (Compiled frame) - java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(java.util.concurrent.ForkJoinTask, int) @bci=5, line=1450 (Compiled frame) - java.util.concurrent.ForkJoinPool.runWorker(java.util.concurrent.ForkJoinPool$WorkQueue) @bci=364, line=2019 (Compiled frame) - java.util.concurrent.ForkJoinWorkerThread.run() @bci=31, line=187 (Compiled frame) tid=0x00000001369f5010 nid=40967 waiting on condition [0x0000000171b72000] JavaThread state: _thread_blocked - jdk.internal.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise) - java.util.concurrent.DelayScheduler.loop(java.util.concurrent.ForkJoinPool) @bci=71, line=253 (Compiled frame) - java.util.concurrent.DelayScheduler.run() @bci=24, line=221 (Compiled frame)
08-05-2025

The same thread dump but printed by the attach based jstack in a different format: "MainThread" #34 [42499] prio=5 os_prio=31 cpu=386.04ms elapsed=6009.84s allocated=2345K defined_classes=35 tid=0x0000000136975410 nid=42499 waiting on condition [0x000000017154e000] java.lang.Thread.State: TIMED_WAITING (sleeping) Thread: 0x0000000136975410 [0xa603] State: _at_safepoint _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.Thread.sleepNanos0(java.base@25-ea/Native Method) at java.lang.Thread.sleepNanos(java.base@25-ea/Thread.java:482) at java.lang.Thread.sleep(java.base@25-ea/Thread.java:513) at TestedThread.ensureReady(SuspendResume1.java:185) at SuspendResume1.start_thread(SuspendResume1.java:146) at SuspendResume1.test_vthreads(SuspendResume1.java:119) at SuspendResume1.runIt(SuspendResume1.java:104) at SuspendResume1.run(SuspendResume1.java:95) at SuspendResume1.main(SuspendResume1.java:88) at java.lang.invoke.LambdaForm$DMH/0x000001f001042000.invokeStatic(java.base@25-ea/LambdaForm$DMH) at java.lang.invoke.LambdaForm$MH/0x000001f001043400.invoke(java.base@25-ea/LambdaForm$MH) at java.lang.invoke.Invokers$Holder.invokeExact_MT(java.base@25-ea/Invokers$Holder) at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@25-ea/DirectMethodHandleAccessor.java:155) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@25-ea/DirectMethodHandleAccessor.java:104) at java.lang.reflect.Method.invoke(java.base@25-ea/Method.java:565) at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138) at java.lang.Thread.runWith(java.base@25-ea/Thread.java:1460) at java.lang.Thread.run(java.base@25-ea/Thread.java:1447) Locked ownable synchronizers: - None "VirtualThread-unblocker" #36 [41987] daemon prio=5 os_prio=31 cpu=0.26ms elapsed=6006.89s allocated=0B defined_classes=0 tid=0x000000012499fe10 nid=41987 runnable [0x000000017175a000] java.lang.Thread.State: RUNNABLE Thread: 0x000000012499fe10 [0xa403] State: _at_safepoint _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.VirtualThread.takeVirtualThreadListToUnblock(java.base@25-ea/Native Method) at java.lang.VirtualThread.unblockVirtualThreads(java.base@25-ea/VirtualThread.java:1507) at java.lang.VirtualThread$$Lambda/0x000001f0010069c8.run(java.base@25-ea/Unknown Source) at java.lang.Thread.runWith(java.base@25-ea/Thread.java:1460) at java.lang.Thread.run(java.base@25-ea/Thread.java:1447) at jdk.internal.misc.InnocuousThread.run(java.base@25-ea/InnocuousThread.java:148) Locked ownable synchronizers: - None "ForkJoinPool-1-worker-1" #38 [41475] daemon prio=5 os_prio=31 cpu=5984009.93ms elapsed=6006.69s allocated=1013M defined_classes=7 tid=0x00000001249a1410 [0x0000000171966000] Carrying virtual thread #69 Thread: 0x00000001249a1410 [0xa203] State: _at_safepoint _at_poll_safepoint 1 JavaThread state: _thread_blocked at jdk.internal.vm.Continuation.run(java.base@25-ea/Continuation.java:254) at java.lang.VirtualThread.runContinuation(java.base@25-ea/VirtualThread.java:293) at java.lang.VirtualThread$$Lambda/0x000001f0010070b0.run(java.base@25-ea/Unknown Source) at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(java.base@25-ea/ForkJoinTask.java:1593) at java.util.concurrent.ForkJoinTask.doExec(java.base@25-ea/ForkJoinTask.java:511) at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(java.base@25-ea/ForkJoinPool.java:1450) at java.util.concurrent.ForkJoinPool.runWorker(java.base@25-ea/ForkJoinPool.java:2019) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@25-ea/ForkJoinWorkerThread.java:187) Mounted virtual thread #69 at TestedThread.run(SuspendResume1.java:168) at java.lang.Thread.runWith(java.base@25-ea/Thread.java:1460) at java.lang.VirtualThread.run(java.base@25-ea/VirtualThread.java:456) at java.lang.VirtualThread$VThreadContinuation$1.run(java.base@25-ea/VirtualThread.java:248) at jdk.internal.vm.Continuation.enter0(java.base@25-ea/Continuation.java:325) at jdk.internal.vm.Continuation.enter(java.base@25-ea/Continuation.java:316) Locked ownable synchronizers: - None "ForkJoinPool-1-delayScheduler" #39 [40967] daemon prio=5 os_prio=31 cpu=32831.50ms elapsed=6006.49s allocated=4960B defined_classes=0 tid=0x00000001369f5010 nid=40967 runnable [0x0000000171b72000] java.lang.Thread.State: TIMED_WAITING (parking) Thread: 0x00000001369f5010 [0xa007] State: _at_safepoint _at_poll_safepoint 0 JavaThread state: _thread_blocked at jdk.internal.misc.Unsafe.park(java.base@25-ea/Native Method) at java.util.concurrent.DelayScheduler.loop(java.base@25-ea/DelayScheduler.java:253) at java.util.concurrent.DelayScheduler.run(java.base@25-ea/DelayScheduler.java:221)
07-05-2025

These tests are failing every day in our CI. On PPC64 even without setting options.
14-04-2025