The following test failed in the JDK23 CI:
vmTestbase/nsk/jdi/StepRequest/addClassFilter_rt/filter_rt003/TestDescription.java
Here's a snippet from the log file:
#section:main
----------messages:(6/1096)----------
command: main nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003 -verbose -arch=linux-x64 -waittime=5 -debugee.vmkind=java -transport.address=dynamic -debugee.vmkeys="-XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/tmp -Duse.JTREG_TEST_THREAD_FACTORY=Virtual -XX:-VerifyContinuations"
reason: User specified action: run main/othervm nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003 -verbose -arch=${os.family}-${os.simpleArch} -waittime=5 -debugee.vmkind=java -transport.address=dynamic -debugee.vmkeys="${test.vm.opts} ${test.java.opts}"
started: Mon Jan 08 19:23:52 UTC 2024
Mode: othervm [/othervm specified]
finished: Mon Jan 08 19:23:56 UTC 2024
elapsed time (seconds): 3.146
----------configuration:(0/0)----------
----------System.out:(179/13754)*----------
binder> VirtualMachineManager: version 23.0
binder> Finding connector: default
binder> LaunchingConnector:
binder> name: com.sun.jdi.CommandLineLaunch
binder> description: Launches target using Sun Java VM command line and attaches to it
binder> transport: com.sun.tools.jdi.SunCommandLineLauncher$2@355ef956
binder> Connector arguments:
binder> main=nsk.share.MainWrapper Virtual nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a \u0000-verbose\u0000 \u0000-arch=linux-x64\u0000 \u0000-waittime=5\u0000 \u0000-debugee.vmkind=java\u0000 \u0000-transport.address=dynamic\u0000 \u0000-debugee.vmkeys="-XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/tmp -Duse.JTREG_TEST_THREAD_FACTORY=Virtual -XX:-VerifyContinuations"\u0000 \u0000-pipe.port=43359\u0000
binder> includevirtualthreads=y
binder> quote=\u0000
binder> home=/opt/mach5/mesos/work_dir/jib-master/install/jdk-23+5-227/linux-x64-debug.jdk/jdk-23/fastdebug
binder> vmexec=java
binder> suspend=true
binder> options=-XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/tmp -Duse.JTREG_TEST_THREAD_FACTORY=Virtual -XX:-VerifyContinuations -Djdk.virtualThreadScheduler.parallelism=15
binder> Launching debugee
binder> Waiting for VM initialized
Initial VMStartEvent received: VMStartEvent in thread main
EventHandler> Adding listener nsk.share.jdi.EventHandler$2@63b5964d
EventHandler> Adding listener nsk.share.jdi.EventHandler$3@13b4847b
EventHandler> Adding listener nsk.share.jdi.EventHandler$4@5d42e815
EventHandler> Adding listener nsk.share.jdi.EventHandler$5@39320f97
EventHandler> Adding listener nsk.share.jdi.EventHandler$6@31adfb54
EventHandler> Adding listener nsk.share.jdi.EventHandler$1@ebfd57
EventHandler> waitForRequestedEventCommon: enabling remove of listener nsk.share.jdi.EventHandler$7@1e532967
EventHandler> Adding listener nsk.share.jdi.EventHandler$7@1e532967
EventHandler> Adding listener nsk.share.jdi.EventHandler$1@171a4769
EventHandler> Adding listener nsk.share.jdi.EventHandler$8@23567210
EventHandler> waitForRequestedEventCommon: vm.resume called
EventHandler> Received event set with policy = SUSPEND_EVENT_THREAD
EventHandler> waitForRequestedEventCommon: Received event set: event set, policy:1, count:1 = {ClassPrepareEvent in thread main}
EventHandler> Event: ClassPrepareEventImpl req class prepare request (enabled)
EventHandler> waitForRequestedEventCommon: Received event(ClassPrepareEvent in thread main) for request(class prepare request (enabled))
EventHandler> Removing listener nsk.share.jdi.EventHandler$7@1e532967
EventHandler> Removing listener nsk.share.jdi.EventHandler$1@171a4769
EventHandler> Removing listener nsk.share.jdi.EventHandler$8@23567210
debugger> Received ClassPrepareEvent for debuggee class: nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a
binder> Breakpoint set:
breakpoint request nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a:86 (disabled)
EventHandler> Adding listener nsk.share.jdi.TestDebuggerType1$1@66a2d47f
debugger> TESTING BEGINS
debugger> RESUME DEBUGGEE VM
debugger> shouldRunAfterBreakpoint: entered
debugger> shouldRunAfterBreakpoint: waiting for breakpoint event during 1 sec.
debugee.stderr> **> debuggee: 'run': enter :: threadName == thread1
debugee.stderr> **> debuggee: 'run': enter :: threadName == thread2
debugee.stdout> ThreadState(thread='thread2', state='init') set state to threadStarted
debugee.stdout> ThreadState(thread='thread2', state='threadStarted') waiting for state jdiInited
debugee.stdout> ThreadState(thread='main', state='init') waiting for state threadStarted
debugee.stdout> ThreadState(thread='thread1', state='init') set state to threadStarted
debugee.stdout> ThreadState(thread='thread1', state='threadStarted') waiting for state jdiInited
debugee.stdout> ThreadState(thread='main', state='threadStarted') got state threadStarted
debugee.stdout> ThreadState(thread='main', state='threadStarted') waiting for state threadStarted
debugee.stdout> ThreadState(thread='main', state='threadStarted') got state threadStarted
debugee.stderr> **> debuggee: debuggee started!
debugee.stderr> **> debuggee: methodForCommunication();
EventHandler> Received event set with policy = SUSPEND_ALL
EventHandler> Event: BreakpointEventImpl req breakpoint request nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a:86 (enabled)
debugger> Received communication breakpoint event.
debugger> shouldRunAfterBreakpoint: received breakpoint event.
debugger> shouldRunAfterBreakpoint: exited with true.
debugger> :::::: case: # 0
debugger> ......setting up StepRequest:
debugger> thread: instance of java.lang.VirtualThread(name='thread1', id=374); property: StepRequest1
debugger> StepRequest has been set up
debugger> ......setting up StepRequest:
debugger> thread: instance of java.lang.VirtualThread(name='thread2', id=390); property: StepRequest2
debugger> StepRequest has been set up
debugger> ......waiting for StepEvent in expected thread
debugee.stdout> #
debugee.stdout> # A fatal error has been detected by the Java Runtime Environment:
debugee.stdout> #
debugee.stdout> # Internal Error (/opt/mach5/mesos/work_dir/slaves/0db9c48f-6638-40d0-9a4b-bd9cc7533eb8-S10262/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/0b91328d-7c4a-4404-9abc-9a2a2333c5c6/runs/f59a2153-6e08-4200-aa20-924b12479b30/workspace/open/src/hotspot/share/memory/resourceArea.cpp:66), pid=1381722, tid=1381788
debugee.stdout> # fatal error: memory leak: allocating without ResourceMark
debugee.stdout> #
debugee.stdout> # JRE version: Java(TM) SE Runtime Environment (23.0+5) (fastdebug build 23-ea+5-227)
debugee.stdout> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-ea+5-227, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
debugee.stdout> # Problematic frame:
debugee.stdout> # V [libjvm.so+0x15cfec6] ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26
debugee.stdout> #
debugee.stdout> # Core dump will be written. Default location: /opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/scratch/2/core.1381722
debugee.stdout> #
debugee.stdout> # An error report file with more information is saved as:
debugee.stdout> # /opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/scratch/2/hs_err_pid1381722.log
debugee.stdout> [2.304s][warning][os] Loading hsdis library failed
debugee.stdout> #
debugee.stdout> # If you would like to submit a bug report, please visit:
debugee.stdout> # https://bugreport.java.com/bugreport/crash.jsp
debugee.stdout> #
EventHandler> Received event set with policy = SUSPEND_NONE
EventHandler> Event: VMDisconnectEventImpl req null
EventHandler> receieved VMDisconnect
EventHandler> Removing listener nsk.share.jdi.EventHandler$5@39320f97
EventHandler> finished
# ERROR: debugger> Unexpected VMDisconnectedException
The following stacktrace is for failure analysis.
nsk.share.TestFailure: debugger> Unexpected VMDisconnectedException
at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
at nsk.share.Log.complain(Log.java:402)
at nsk.share.jdi.TestDebuggerType1.complain(TestDebuggerType1.java:78)
at nsk.share.jdi.TestDebuggerType1.setFailedStatus(TestDebuggerType1.java:85)
at nsk.share.jdi.TestDebuggerType1.runThis(TestDebuggerType1.java:142)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.run(filter_rt003.java:84)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.main(filter_rt003.java:79)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
com.sun.jdi.VMDisconnectedException
at jdk.jdi/com.sun.tools.jdi.TargetVM.waitForReply(TargetVM.java:304)
at jdk.jdi/com.sun.tools.jdi.VirtualMachineImpl.waitForTargetReply(VirtualMachineImpl.java:1176)
at jdk.jdi/com.sun.tools.jdi.PacketStream.waitForReply(PacketStream.java:89)
at jdk.jdi/com.sun.tools.jdi.JDWP$EventRequest$Set.waitForReply(JDWP.java:7099)
at jdk.jdi/com.sun.tools.jdi.JDWP$EventRequest$Set.process(JDWP.java:7064)
at jdk.jdi/com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.set(EventRequestManagerImpl.java:229)
at jdk.jdi/com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.setEnabled(EventRequestManagerImpl.java:194)
at jdk.jdi/com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.enable(EventRequestManagerImpl.java:179)
at nsk.share.jdi.EventHandler.waitForRequestedEventCommon(EventHandler.java:461)
at nsk.share.jdi.EventHandler.waitForRequestedEvent(EventHandler.java:518)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.testRun(filter_rt003.java:137)
at nsk.share.jdi.TestDebuggerType1.runThis(TestDebuggerType1.java:119)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.run(filter_rt003.java:84)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.main(filter_rt003.java:79)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
# ERROR: binder> Debugee VM has not exited correctly: trying to kill it
The following stacktrace is for failure analysis.
nsk.share.TestFailure: binder> Debugee VM has not exited correctly: trying to kill it
at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
at nsk.share.Log.complain(Log.java:402)
at nsk.share.jpda.DebugeeProcess.complain(DebugeeProcess.java:458)
at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:438)
at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
------------ Try to print debuggee threads before killing process ------------
The following stacktrace is for failure analysis.
nsk.share.TestFailure:
at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
at nsk.share.Log.complain(Log.java:402)
at nsk.share.jdi.Debugee.printThreadsInfo(Debugee.java:629)
at nsk.share.jdi.Debugee.killDebugee(Debugee.java:640)
at nsk.share.jdi.LocalLaunchedDebugee.killDebugee(Binder.java:1048)
at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:439)
at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
com.sun.jdi.VMDisconnectedException: connection is closed
at jdk.jdi/com.sun.tools.jdi.TargetVM.send(TargetVM.java:293)
at jdk.jdi/com.sun.tools.jdi.VirtualMachineImpl.sendToTarget(VirtualMachineImpl.java:1172)
at jdk.jdi/com.sun.tools.jdi.PacketStream.send(PacketStream.java:79)
at jdk.jdi/com.sun.tools.jdi.JDWP$ObjectReference$ReferenceType.enqueueCommand(JDWP.java:4415)
at jdk.jdi/com.sun.tools.jdi.JDWP$ObjectReference$ReferenceType.process(JDWP.java:4401)
at jdk.jdi/com.sun.tools.jdi.ObjectReferenceImpl.referenceType(ObjectReferenceImpl.java:170)
at jdk.jdi/com.sun.tools.jdi.ThreadReferenceImpl.toString(ThreadReferenceImpl.java:636)
at java.base/java.lang.String.valueOf(String.java:4507)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
at java.base/java.util.AbstractCollection.toString(AbstractCollection.java:459)
at java.base/java.lang.String.valueOf(String.java:4507)
at nsk.share.jdi.Debugee.printThreadsInfo(Debugee.java:599)
at nsk.share.jdi.Debugee.killDebugee(Debugee.java:640)
at nsk.share.jdi.LocalLaunchedDebugee.killDebugee(Binder.java:1048)
at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:439)
at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
binder> Killing debuggee by forcing target VM to exit
binder> Ignore VMDisconnectedException while forcing debuggee VM to exit:
com.sun.jdi.VMDisconnectedException: connection is closed
Killing debugee VM process
#>
#> SUMMARY: Following errors occured
#> during test execution:
#>
# ERROR: debugger> Unexpected VMDisconnectedException
# ERROR: binder> Debugee VM has not exited correctly: trying to kill it
----------System.err:(13/723)----------
nsk.share.Failure
at nsk.share.jdi.TestDebuggerType1.runThis(TestDebuggerType1.java:144)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.run(filter_rt003.java:84)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.main(filter_rt003.java:79)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
JavaTest Message: Test threw exception: nsk.share.Failure
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: nsk.share.Failure
----------rerun:(38/8869)*----------
Here's the crashing thread's stack:
--------------- T H R E A D ---------------
Current thread (0x00007f49b0007520): JavaThread "ForkJoinPool-1-worker-5" daemon [_thread_in_vm, id=1381788, stack(0x00007f4a3d330000,0x00007f4a3d430000) (1024K)]
Stack: [0x00007f4a3d330000,0x00007f4a3d430000], sp=0x00007f4a3d42b230, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x15cfec6] ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26 (resourceArea.cpp:66)
V [libjvm.so+0x15d04f6] (arena.hpp:140)
V [libjvm.so+0x18540e0] vframe::new_vframe(frame const*, RegisterMap const*, JavaThread*)+0xa0 (allocation.hpp:437)
V [libjvm.so+0x1854418] vframeStreamCommon::asJavaVFrame()+0xd8 (vframe.cpp:613)
V [libjvm.so+0x1187238] JvmtiEnvBase::get_vthread_jvf(oop)+0x108 (jvmtiEnvBase.cpp:708)
V [libjvm.so+0x1188209] SetFramePopClosure::do_vthread(Handle)+0x39 (jvmtiEnvBase.cpp:2440)
V [libjvm.so+0xda10d7] HandshakeOperation::do_handshake(JavaThread*)+0x47 (handshake.cpp:326)
V [libjvm.so+0xda1301] HandshakeState::process_by_self(bool, bool)+0x141 (handshake.cpp:577)
V [libjvm.so+0x15f4305] SafepointMechanism::process(JavaThread*, bool, bool)+0x65 (safepointMechanism.cpp:159)
V [libjvm.so+0x1410d4c] Monitor::wait(unsigned long)+0x4bc (safepointMechanism.inline.hpp:83)
V [libjvm.so+0x11db0d2] JvmtiVTMSTransitionDisabler::start_VTMS_transition(_jobject*, bool)+0x272 (mutexLocker.hpp:283)
V [libjvm.so+0x11db740] JvmtiVTMSTransitionDisabler::VTMS_unmount_begin(_jobject*, bool)+0x40 (jvmtiThreadState.cpp:658)
V [libjvm.so+0xff1e66] JVM_VirtualThreadUnmount+0xd6 (jvm.cpp:3980)
j java.lang.VirtualThread.notifyJvmtiUnmount(Z)V+0 java.base@23-ea
j java.lang.VirtualThread.yieldContinuation()Z+2 java.base@23-ea
j java.lang.VirtualThread.parkNanos(J)V+64 java.base@23-ea
j java.lang.System$2.parkVirtualThread(J)V+20 java.base@23-ea
j jdk.internal.misc.VirtualThreads.park(J)V+4 java.base@23-ea
j java.util.concurrent.locks.LockSupport.parkNanos(Ljava/lang/Object;J)V+23 java.base@23-ea
j java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(JLjava/util/concurrent/TimeUnit;)Z+134 java.base@23-ea
j nsk.share.jdi.ThreadState.waitForState(Ljava/lang/String;)V+38
j nsk.share.jdi.ThreadState.setAndWait(Ljava/lang/String;Ljava/lang/String;)V+7
j nsk.jdi.StepRequest.addClassFilter_rt.Thread2filter_rt003a.run()V+20
j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@23-ea
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@23-ea
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@23-ea
j jdk.internal.vm.Continuation.enter0()V+4 java.base@23-ea
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@23-ea
J 78 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@23-ea (0 bytes) @ 0x00007f4a5470f6c4 [0x00007f4a5470f560+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@23-ea
j java.lang.VirtualThread.runContinuation()V+72 java.base@23-ea
j java.lang.VirtualThread$$Lambda+0x00007f49ef048140.run()V+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Void;+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Object;+1 java.base@23-ea
j java.util.concurrent.ForkJoinTask$InterruptibleTask.exec()Z+51 java.base@23-ea
j java.util.concurrent.ForkJoinTask.doExec()V+10 java.base@23-ea
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V+49 java.base@23-ea
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;JI)J+245 java.base@23-ea
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+62 java.base@23-ea
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@23-ea
v ~StubRoutines::call_stub 0x00007f4a54176d21
V [libjvm.so+0xe84609] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x4a9 (javaCalls.cpp:415)
V [libjvm.so+0xe84cc5] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x345 (javaCalls.cpp:329)
V [libjvm.so+0xe84ee6] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x76 (javaCalls.cpp:191)
V [libjvm.so+0xfedb13] thread_entry(JavaThread*, JavaThread*)+0x93 (jvm.cpp:2937)
V [libjvm.so+0xeb948c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:721)
V [libjvm.so+0x179dd46] Thread::call_run()+0xb6 (thread.cpp:220)
V [libjvm.so+0x14a8697] thread_native_entry(Thread*)+0x127 (os_linux.cpp:789)
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.VirtualThread.notifyJvmtiUnmount(Z)V+0 java.base@23-ea
j java.lang.VirtualThread.yieldContinuation()Z+2 java.base@23-ea
j java.lang.VirtualThread.parkNanos(J)V+64 java.base@23-ea
j java.lang.System$2.parkVirtualThread(J)V+20 java.base@23-ea
j jdk.internal.misc.VirtualThreads.park(J)V+4 java.base@23-ea
j java.util.concurrent.locks.LockSupport.parkNanos(Ljava/lang/Object;J)V+23 java.base@23-ea
j java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(JLjava/util/concurrent/TimeUnit;)Z+134 java.base@23-ea
j nsk.share.jdi.ThreadState.waitForState(Ljava/lang/String;)V+38
j nsk.share.jdi.ThreadState.setAndWait(Ljava/lang/String;Ljava/lang/String;)V+7
j nsk.jdi.StepRequest.addClassFilter_rt.Thread2filter_rt003a.run()V+20
j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@23-ea
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@23-ea
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@23-ea
j jdk.internal.vm.Continuation.enter0()V+4 java.base@23-ea
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@23-ea
J 78 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@23-ea (0 bytes) @ 0x00007f4a5470f6c4 [0x00007f4a5470f560+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@23-ea
j java.lang.VirtualThread.runContinuation()V+72 java.base@23-ea
j java.lang.VirtualThread$$Lambda+0x00007f49ef048140.run()V+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Void;+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Object;+1 java.base@23-ea
j java.util.concurrent.ForkJoinTask$InterruptibleTask.exec()Z+51 java.base@23-ea
j java.util.concurrent.ForkJoinTask.doExec()V+10 java.base@23-ea
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V+49 java.base@23-ea
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;JI)J+245 java.base@23-ea
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+62 java.base@23-ea
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@23-ea
v ~StubRoutines::call_stub 0x00007f4a54176d21
This failure mode appears to be heavily involved with JVM/TI and Loom
so I'm starting this bug off in hotspot/jvmti for initial triage.
vmTestbase/nsk/jdi/StepRequest/addClassFilter_rt/filter_rt003/TestDescription.java
Here's a snippet from the log file:
#section:main
----------messages:(6/1096)----------
command: main nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003 -verbose -arch=linux-x64 -waittime=5 -debugee.vmkind=java -transport.address=dynamic -debugee.vmkeys="-XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/tmp -Duse.JTREG_TEST_THREAD_FACTORY=Virtual -XX:-VerifyContinuations"
reason: User specified action: run main/othervm nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003 -verbose -arch=${os.family}-${os.simpleArch} -waittime=5 -debugee.vmkind=java -transport.address=dynamic -debugee.vmkeys="${test.vm.opts} ${test.java.opts}"
started: Mon Jan 08 19:23:52 UTC 2024
Mode: othervm [/othervm specified]
finished: Mon Jan 08 19:23:56 UTC 2024
elapsed time (seconds): 3.146
----------configuration:(0/0)----------
----------System.out:(179/13754)*----------
binder> VirtualMachineManager: version 23.0
binder> Finding connector: default
binder> LaunchingConnector:
binder> name: com.sun.jdi.CommandLineLaunch
binder> description: Launches target using Sun Java VM command line and attaches to it
binder> transport: com.sun.tools.jdi.SunCommandLineLauncher$2@355ef956
binder> Connector arguments:
binder> main=nsk.share.MainWrapper Virtual nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a \u0000-verbose\u0000 \u0000-arch=linux-x64\u0000 \u0000-waittime=5\u0000 \u0000-debugee.vmkind=java\u0000 \u0000-transport.address=dynamic\u0000 \u0000-debugee.vmkeys="-XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/tmp -Duse.JTREG_TEST_THREAD_FACTORY=Virtual -XX:-VerifyContinuations"\u0000 \u0000-pipe.port=43359\u0000
binder> includevirtualthreads=y
binder> quote=\u0000
binder> home=/opt/mach5/mesos/work_dir/jib-master/install/jdk-23+5-227/linux-x64-debug.jdk/jdk-23/fastdebug
binder> vmexec=java
binder> suspend=true
binder> options=-XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/tmp -Duse.JTREG_TEST_THREAD_FACTORY=Virtual -XX:-VerifyContinuations -Djdk.virtualThreadScheduler.parallelism=15
binder> Launching debugee
binder> Waiting for VM initialized
Initial VMStartEvent received: VMStartEvent in thread main
EventHandler> Adding listener nsk.share.jdi.EventHandler$2@63b5964d
EventHandler> Adding listener nsk.share.jdi.EventHandler$3@13b4847b
EventHandler> Adding listener nsk.share.jdi.EventHandler$4@5d42e815
EventHandler> Adding listener nsk.share.jdi.EventHandler$5@39320f97
EventHandler> Adding listener nsk.share.jdi.EventHandler$6@31adfb54
EventHandler> Adding listener nsk.share.jdi.EventHandler$1@ebfd57
EventHandler> waitForRequestedEventCommon: enabling remove of listener nsk.share.jdi.EventHandler$7@1e532967
EventHandler> Adding listener nsk.share.jdi.EventHandler$7@1e532967
EventHandler> Adding listener nsk.share.jdi.EventHandler$1@171a4769
EventHandler> Adding listener nsk.share.jdi.EventHandler$8@23567210
EventHandler> waitForRequestedEventCommon: vm.resume called
EventHandler> Received event set with policy = SUSPEND_EVENT_THREAD
EventHandler> waitForRequestedEventCommon: Received event set: event set, policy:1, count:1 = {ClassPrepareEvent in thread main}
EventHandler> Event: ClassPrepareEventImpl req class prepare request (enabled)
EventHandler> waitForRequestedEventCommon: Received event(ClassPrepareEvent in thread main) for request(class prepare request (enabled))
EventHandler> Removing listener nsk.share.jdi.EventHandler$7@1e532967
EventHandler> Removing listener nsk.share.jdi.EventHandler$1@171a4769
EventHandler> Removing listener nsk.share.jdi.EventHandler$8@23567210
debugger> Received ClassPrepareEvent for debuggee class: nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a
binder> Breakpoint set:
breakpoint request nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a:86 (disabled)
EventHandler> Adding listener nsk.share.jdi.TestDebuggerType1$1@66a2d47f
debugger> TESTING BEGINS
debugger> RESUME DEBUGGEE VM
debugger> shouldRunAfterBreakpoint: entered
debugger> shouldRunAfterBreakpoint: waiting for breakpoint event during 1 sec.
debugee.stderr> **> debuggee: 'run': enter :: threadName == thread1
debugee.stderr> **> debuggee: 'run': enter :: threadName == thread2
debugee.stdout> ThreadState(thread='thread2', state='init') set state to threadStarted
debugee.stdout> ThreadState(thread='thread2', state='threadStarted') waiting for state jdiInited
debugee.stdout> ThreadState(thread='main', state='init') waiting for state threadStarted
debugee.stdout> ThreadState(thread='thread1', state='init') set state to threadStarted
debugee.stdout> ThreadState(thread='thread1', state='threadStarted') waiting for state jdiInited
debugee.stdout> ThreadState(thread='main', state='threadStarted') got state threadStarted
debugee.stdout> ThreadState(thread='main', state='threadStarted') waiting for state threadStarted
debugee.stdout> ThreadState(thread='main', state='threadStarted') got state threadStarted
debugee.stderr> **> debuggee: debuggee started!
debugee.stderr> **> debuggee: methodForCommunication();
EventHandler> Received event set with policy = SUSPEND_ALL
EventHandler> Event: BreakpointEventImpl req breakpoint request nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003a:86 (enabled)
debugger> Received communication breakpoint event.
debugger> shouldRunAfterBreakpoint: received breakpoint event.
debugger> shouldRunAfterBreakpoint: exited with true.
debugger> :::::: case: # 0
debugger> ......setting up StepRequest:
debugger> thread: instance of java.lang.VirtualThread(name='thread1', id=374); property: StepRequest1
debugger> StepRequest has been set up
debugger> ......setting up StepRequest:
debugger> thread: instance of java.lang.VirtualThread(name='thread2', id=390); property: StepRequest2
debugger> StepRequest has been set up
debugger> ......waiting for StepEvent in expected thread
debugee.stdout> #
debugee.stdout> # A fatal error has been detected by the Java Runtime Environment:
debugee.stdout> #
debugee.stdout> # Internal Error (/opt/mach5/mesos/work_dir/slaves/0db9c48f-6638-40d0-9a4b-bd9cc7533eb8-S10262/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/0b91328d-7c4a-4404-9abc-9a2a2333c5c6/runs/f59a2153-6e08-4200-aa20-924b12479b30/workspace/open/src/hotspot/share/memory/resourceArea.cpp:66), pid=1381722, tid=1381788
debugee.stdout> # fatal error: memory leak: allocating without ResourceMark
debugee.stdout> #
debugee.stdout> # JRE version: Java(TM) SE Runtime Environment (23.0+5) (fastdebug build 23-ea+5-227)
debugee.stdout> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-ea+5-227, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
debugee.stdout> # Problematic frame:
debugee.stdout> # V [libjvm.so+0x15cfec6] ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26
debugee.stdout> #
debugee.stdout> # Core dump will be written. Default location: /opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/scratch/2/core.1381722
debugee.stdout> #
debugee.stdout> # An error report file with more information is saved as:
debugee.stdout> # /opt/mach5/mesos/work_dir/slaves/b8be9c31-0e0c-4781-900b-aa9694854b6a-S439/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/00cb182a-aaa9-46ed-9000-57692b6641c0/runs/1edd1434-3205-402d-8738-c91f18ec2782/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/scratch/2/hs_err_pid1381722.log
debugee.stdout> [2.304s][warning][os] Loading hsdis library failed
debugee.stdout> #
debugee.stdout> # If you would like to submit a bug report, please visit:
debugee.stdout> # https://bugreport.java.com/bugreport/crash.jsp
debugee.stdout> #
EventHandler> Received event set with policy = SUSPEND_NONE
EventHandler> Event: VMDisconnectEventImpl req null
EventHandler> receieved VMDisconnect
EventHandler> Removing listener nsk.share.jdi.EventHandler$5@39320f97
EventHandler> finished
# ERROR: debugger> Unexpected VMDisconnectedException
The following stacktrace is for failure analysis.
nsk.share.TestFailure: debugger> Unexpected VMDisconnectedException
at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
at nsk.share.Log.complain(Log.java:402)
at nsk.share.jdi.TestDebuggerType1.complain(TestDebuggerType1.java:78)
at nsk.share.jdi.TestDebuggerType1.setFailedStatus(TestDebuggerType1.java:85)
at nsk.share.jdi.TestDebuggerType1.runThis(TestDebuggerType1.java:142)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.run(filter_rt003.java:84)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.main(filter_rt003.java:79)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
com.sun.jdi.VMDisconnectedException
at jdk.jdi/com.sun.tools.jdi.TargetVM.waitForReply(TargetVM.java:304)
at jdk.jdi/com.sun.tools.jdi.VirtualMachineImpl.waitForTargetReply(VirtualMachineImpl.java:1176)
at jdk.jdi/com.sun.tools.jdi.PacketStream.waitForReply(PacketStream.java:89)
at jdk.jdi/com.sun.tools.jdi.JDWP$EventRequest$Set.waitForReply(JDWP.java:7099)
at jdk.jdi/com.sun.tools.jdi.JDWP$EventRequest$Set.process(JDWP.java:7064)
at jdk.jdi/com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.set(EventRequestManagerImpl.java:229)
at jdk.jdi/com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.setEnabled(EventRequestManagerImpl.java:194)
at jdk.jdi/com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.enable(EventRequestManagerImpl.java:179)
at nsk.share.jdi.EventHandler.waitForRequestedEventCommon(EventHandler.java:461)
at nsk.share.jdi.EventHandler.waitForRequestedEvent(EventHandler.java:518)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.testRun(filter_rt003.java:137)
at nsk.share.jdi.TestDebuggerType1.runThis(TestDebuggerType1.java:119)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.run(filter_rt003.java:84)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.main(filter_rt003.java:79)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
# ERROR: binder> Debugee VM has not exited correctly: trying to kill it
The following stacktrace is for failure analysis.
nsk.share.TestFailure: binder> Debugee VM has not exited correctly: trying to kill it
at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
at nsk.share.Log.complain(Log.java:402)
at nsk.share.jpda.DebugeeProcess.complain(DebugeeProcess.java:458)
at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:438)
at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
------------ Try to print debuggee threads before killing process ------------
The following stacktrace is for failure analysis.
nsk.share.TestFailure:
at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
at nsk.share.Log.complain(Log.java:402)
at nsk.share.jdi.Debugee.printThreadsInfo(Debugee.java:629)
at nsk.share.jdi.Debugee.killDebugee(Debugee.java:640)
at nsk.share.jdi.LocalLaunchedDebugee.killDebugee(Binder.java:1048)
at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:439)
at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
com.sun.jdi.VMDisconnectedException: connection is closed
at jdk.jdi/com.sun.tools.jdi.TargetVM.send(TargetVM.java:293)
at jdk.jdi/com.sun.tools.jdi.VirtualMachineImpl.sendToTarget(VirtualMachineImpl.java:1172)
at jdk.jdi/com.sun.tools.jdi.PacketStream.send(PacketStream.java:79)
at jdk.jdi/com.sun.tools.jdi.JDWP$ObjectReference$ReferenceType.enqueueCommand(JDWP.java:4415)
at jdk.jdi/com.sun.tools.jdi.JDWP$ObjectReference$ReferenceType.process(JDWP.java:4401)
at jdk.jdi/com.sun.tools.jdi.ObjectReferenceImpl.referenceType(ObjectReferenceImpl.java:170)
at jdk.jdi/com.sun.tools.jdi.ThreadReferenceImpl.toString(ThreadReferenceImpl.java:636)
at java.base/java.lang.String.valueOf(String.java:4507)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
at java.base/java.util.AbstractCollection.toString(AbstractCollection.java:459)
at java.base/java.lang.String.valueOf(String.java:4507)
at nsk.share.jdi.Debugee.printThreadsInfo(Debugee.java:599)
at nsk.share.jdi.Debugee.killDebugee(Debugee.java:640)
at nsk.share.jdi.LocalLaunchedDebugee.killDebugee(Binder.java:1048)
at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:439)
at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
binder> Killing debuggee by forcing target VM to exit
binder> Ignore VMDisconnectedException while forcing debuggee VM to exit:
com.sun.jdi.VMDisconnectedException: connection is closed
Killing debugee VM process
#>
#> SUMMARY: Following errors occured
#> during test execution:
#>
# ERROR: debugger> Unexpected VMDisconnectedException
# ERROR: binder> Debugee VM has not exited correctly: trying to kill it
----------System.err:(13/723)----------
nsk.share.Failure
at nsk.share.jdi.TestDebuggerType1.runThis(TestDebuggerType1.java:144)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.run(filter_rt003.java:84)
at nsk.jdi.StepRequest.addClassFilter_rt.filter_rt003.main(filter_rt003.java:79)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
JavaTest Message: Test threw exception: nsk.share.Failure
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: nsk.share.Failure
----------rerun:(38/8869)*----------
Here's the crashing thread's stack:
--------------- T H R E A D ---------------
Current thread (0x00007f49b0007520): JavaThread "ForkJoinPool-1-worker-5" daemon [_thread_in_vm, id=1381788, stack(0x00007f4a3d330000,0x00007f4a3d430000) (1024K)]
Stack: [0x00007f4a3d330000,0x00007f4a3d430000], sp=0x00007f4a3d42b230, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x15cfec6] ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26 (resourceArea.cpp:66)
V [libjvm.so+0x15d04f6] (arena.hpp:140)
V [libjvm.so+0x18540e0] vframe::new_vframe(frame const*, RegisterMap const*, JavaThread*)+0xa0 (allocation.hpp:437)
V [libjvm.so+0x1854418] vframeStreamCommon::asJavaVFrame()+0xd8 (vframe.cpp:613)
V [libjvm.so+0x1187238] JvmtiEnvBase::get_vthread_jvf(oop)+0x108 (jvmtiEnvBase.cpp:708)
V [libjvm.so+0x1188209] SetFramePopClosure::do_vthread(Handle)+0x39 (jvmtiEnvBase.cpp:2440)
V [libjvm.so+0xda10d7] HandshakeOperation::do_handshake(JavaThread*)+0x47 (handshake.cpp:326)
V [libjvm.so+0xda1301] HandshakeState::process_by_self(bool, bool)+0x141 (handshake.cpp:577)
V [libjvm.so+0x15f4305] SafepointMechanism::process(JavaThread*, bool, bool)+0x65 (safepointMechanism.cpp:159)
V [libjvm.so+0x1410d4c] Monitor::wait(unsigned long)+0x4bc (safepointMechanism.inline.hpp:83)
V [libjvm.so+0x11db0d2] JvmtiVTMSTransitionDisabler::start_VTMS_transition(_jobject*, bool)+0x272 (mutexLocker.hpp:283)
V [libjvm.so+0x11db740] JvmtiVTMSTransitionDisabler::VTMS_unmount_begin(_jobject*, bool)+0x40 (jvmtiThreadState.cpp:658)
V [libjvm.so+0xff1e66] JVM_VirtualThreadUnmount+0xd6 (jvm.cpp:3980)
j java.lang.VirtualThread.notifyJvmtiUnmount(Z)V+0 java.base@23-ea
j java.lang.VirtualThread.yieldContinuation()Z+2 java.base@23-ea
j java.lang.VirtualThread.parkNanos(J)V+64 java.base@23-ea
j java.lang.System$2.parkVirtualThread(J)V+20 java.base@23-ea
j jdk.internal.misc.VirtualThreads.park(J)V+4 java.base@23-ea
j java.util.concurrent.locks.LockSupport.parkNanos(Ljava/lang/Object;J)V+23 java.base@23-ea
j java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(JLjava/util/concurrent/TimeUnit;)Z+134 java.base@23-ea
j nsk.share.jdi.ThreadState.waitForState(Ljava/lang/String;)V+38
j nsk.share.jdi.ThreadState.setAndWait(Ljava/lang/String;Ljava/lang/String;)V+7
j nsk.jdi.StepRequest.addClassFilter_rt.Thread2filter_rt003a.run()V+20
j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@23-ea
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@23-ea
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@23-ea
j jdk.internal.vm.Continuation.enter0()V+4 java.base@23-ea
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@23-ea
J 78 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@23-ea (0 bytes) @ 0x00007f4a5470f6c4 [0x00007f4a5470f560+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@23-ea
j java.lang.VirtualThread.runContinuation()V+72 java.base@23-ea
j java.lang.VirtualThread$$Lambda+0x00007f49ef048140.run()V+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Void;+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Object;+1 java.base@23-ea
j java.util.concurrent.ForkJoinTask$InterruptibleTask.exec()Z+51 java.base@23-ea
j java.util.concurrent.ForkJoinTask.doExec()V+10 java.base@23-ea
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V+49 java.base@23-ea
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;JI)J+245 java.base@23-ea
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+62 java.base@23-ea
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@23-ea
v ~StubRoutines::call_stub 0x00007f4a54176d21
V [libjvm.so+0xe84609] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x4a9 (javaCalls.cpp:415)
V [libjvm.so+0xe84cc5] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x345 (javaCalls.cpp:329)
V [libjvm.so+0xe84ee6] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x76 (javaCalls.cpp:191)
V [libjvm.so+0xfedb13] thread_entry(JavaThread*, JavaThread*)+0x93 (jvm.cpp:2937)
V [libjvm.so+0xeb948c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:721)
V [libjvm.so+0x179dd46] Thread::call_run()+0xb6 (thread.cpp:220)
V [libjvm.so+0x14a8697] thread_native_entry(Thread*)+0x127 (os_linux.cpp:789)
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.VirtualThread.notifyJvmtiUnmount(Z)V+0 java.base@23-ea
j java.lang.VirtualThread.yieldContinuation()Z+2 java.base@23-ea
j java.lang.VirtualThread.parkNanos(J)V+64 java.base@23-ea
j java.lang.System$2.parkVirtualThread(J)V+20 java.base@23-ea
j jdk.internal.misc.VirtualThreads.park(J)V+4 java.base@23-ea
j java.util.concurrent.locks.LockSupport.parkNanos(Ljava/lang/Object;J)V+23 java.base@23-ea
j java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(JLjava/util/concurrent/TimeUnit;)Z+134 java.base@23-ea
j nsk.share.jdi.ThreadState.waitForState(Ljava/lang/String;)V+38
j nsk.share.jdi.ThreadState.setAndWait(Ljava/lang/String;Ljava/lang/String;)V+7
j nsk.jdi.StepRequest.addClassFilter_rt.Thread2filter_rt003a.run()V+20
j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@23-ea
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@23-ea
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@23-ea
j jdk.internal.vm.Continuation.enter0()V+4 java.base@23-ea
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@23-ea
J 78 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@23-ea (0 bytes) @ 0x00007f4a5470f6c4 [0x00007f4a5470f560+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@23-ea
j java.lang.VirtualThread.runContinuation()V+72 java.base@23-ea
j java.lang.VirtualThread$$Lambda+0x00007f49ef048140.run()V+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Void;+4 java.base@23-ea
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Object;+1 java.base@23-ea
j java.util.concurrent.ForkJoinTask$InterruptibleTask.exec()Z+51 java.base@23-ea
j java.util.concurrent.ForkJoinTask.doExec()V+10 java.base@23-ea
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V+49 java.base@23-ea
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;JI)J+245 java.base@23-ea
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+62 java.base@23-ea
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@23-ea
v ~StubRoutines::call_stub 0x00007f4a54176d21
This failure mode appears to be heavily involved with JVM/TI and Loom
so I'm starting this bug off in hotspot/jvmti for initial triage.
- duplicates
-
JDK-8321685 Missing ResourceMark in code called from JvmtiEnvBase::get_vthread_jvf
- Resolved
- relates to
-
JDK-8043571 [REDO] JDK-8041934 com/sun/jdi/RepStep.java fails in RT_Baseline on all platforms with assert(_cur_stack_depth == count_frames()) failed: cur_stack_depth out of sync
- Open