Test
compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest.java when executed with test thread factory plugin
hits
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S79032/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/750846d8-d033-408e-81ca-585a129691d7/runs/2557e57f-d43b-4f45-909b-c725b6a3a577/workspace/open/src/hotspot/share/runtime/vframe_hp.cpp:112), pid=430325, tid=430475
# assert(!Continuation::is_frame_in_continuation(thread(), fr())) failed: No support for deferred values in continuations
#
# JRE version: Java(TM) SE Runtime Environment (21.0) (fastdebug build 21-internal-LTS-2023-04-28-0130129.leonid.mesnik.jdk-ttf-build)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-internal-LTS-2023-04-28-0130129.leonid.mesnik.jdk-ttf-build, mixed mode, tiered, jvmci, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x181226e] compiledVFrame::update_deferred_value(BasicType, int, jvalue)+0x33e
....
Current thread (0x00007f1bcc5572d0): JavaThread "ForkJoinPool-1-worker-1" daemon [_thread_in_vm, id=430475, stack(0x00007f1ba5bfb000,0x00007f1ba5cfc000)]
Stack: [0x00007f1ba5bfb000,0x00007f1ba5cfc000], sp=0x00007f1ba5cf7290, free space=1008k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x181226e] compiledVFrame::update_deferred_value(BasicType, int, jvalue)+0x33e (vframe_hp.cpp:112)
V [libjvm.so+0x1011200] c2v_materializeVirtualObjects(JNIEnv_*, _jobject*, _jobject*, bool)+0xa00 (jvmciCompilerToVM.cpp:1649)
j jdk.vm.ci.hotspot.CompilerToVM.materializeVirtualObjects(Ljdk/vm/ci/hotspot/HotSpotStackFrameReference;Z)V+0 jdk.internal.vm.ci@21-internal
j jdk.vm.ci.hotspot.CompilerToVMHelper.materializeVirtualObjects(Ljdk/vm/ci/hotspot/HotSpotStackFrameReference;Z)V+5 jdk.internal.vm.ci@21-internal
j compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.check(I)V+202
J 578 c2 compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.recurse(II)V (70 bytes) @ 0x00007f1bbc7a3c08 [0x00007f1bbc7a3bc0+0x0000000000000048]
J 586 c2 compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.testFrame2(Ljava/lang/String;I)V (115 bytes) @ 0x00007f1bbc7acdd8 [0x00007f1bbc7acd80+0x0000000000000058]
J 585 c2 compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.testFrame(Ljava/lang/String;I)V (55 bytes) @ 0x00007f1bbc7a9eac [0x00007f1bbc7a9e60+0x000000000000004c]
j compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.test()V+117
j compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.main([Ljava/lang/String;)V+37
j java.lang.invoke.LambdaForm$DMH+0x00000001000c0000.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@21-internal
j java.lang.invoke.LambdaForm$MH+0x00000001000c5000.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@21-internal
j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base@21-internal
j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@21-internal
j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@21-internal
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@21-internal
j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
j java.lang.VirtualThread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@21-internal
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+65 java.base@21-internal
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@21-internal
j jdk.internal.vm.Continuation.enter0()V+4 java.base@21-internal
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@21-internal
J 308 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@21-internal (0 bytes) @ 0x00007f1bbc773ec4 [0x00007f1bbc773d60+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@21-internal
j java.lang.VirtualThread.runContinuation()V+76 java.base@21-internal
j java.lang.VirtualThread$$Lambda+0x00000001000ad970.run()V+4 java.base@21-internal
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@21-internal
j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@21-internal
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@21-internal
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@21-internal
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@21-internal
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@21-internal
v ~StubRoutines::call_stub 0x00007f1bbc1c5d21
V [libjvm.so+0xe55d02] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x462 (javaCalls.cpp:415)
V [libjvm.so+0xe562e3] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x283 (javaCalls.cpp:329)
V [libjvm.so+0xe564f1] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x71 (javaCalls.cpp:191)
V [libjvm.so+0xfa5666] thread_entry(JavaThread*, JavaThread*)+0x96 (jvm.cpp:2918)
V [libjvm.so+0xe87e9e] JavaThread::thread_main_inner()+0x17e (javaThread.cpp:717)
V [libjvm.so+0x1758538] Thread::call_run()+0xb8 (thread.cpp:215)
V [libjvm.so+0x145984a] thread_native_entry(Thread*)+0x11a (os_linux.cpp:740)
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j jdk.vm.ci.hotspot.CompilerToVM.materializeVirtualObjects(Ljdk/vm/ci/hotspot/HotSpotStackFrameReference;Z)V+0 jdk.internal.vm.ci@21-internal
j jdk.vm.ci.hotspot.CompilerToVMHelper.materializeVirtualObjects(Ljdk/vm/ci/hotspot/HotSpotStackFrameReference;Z)V+5 jdk.internal.vm.ci@21-internal
j compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.check(I)V+202
J 578 c2 compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.recurse(II)V (70 bytes) @ 0x00007f1bbc7a3c08 [0x00007f1bbc7a3bc0+0x0000000000000048]
J 586 c2 compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.testFrame2(Ljava/lang/String;I)V (115 bytes) @ 0x00007f1bbc7acdd8 [0x00007f1bbc7acd80+0x0000000000000058]
J 585 c2 compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.testFrame(Ljava/lang/String;I)V (55 bytes) @ 0x00007f1bbc7a9eac [0x00007f1bbc7a9e60+0x000000000000004c]
j compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.test()V+117
j compiler.jvmci.compilerToVM.MaterializeVirtualObjectTest.main([Ljava/lang/String;)V+37
j java.lang.invoke.LambdaForm$DMH+0x00000001000c0000.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@21-internal
j java.lang.invoke.LambdaForm$MH+0x00000001000c5000.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@21-internal
j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base@21-internal
j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@21-internal
j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@21-internal
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@21-internal
j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
j java.lang.VirtualThread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@21-internal
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+65 java.base@21-internal
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@21-internal
j jdk.internal.vm.Continuation.enter0()V+4 java.base@21-internal
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@21-internal
J 308 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@21-internal (0 bytes) @ 0x00007f1bbc773ec4 [0x00007f1bbc773d60+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@21-internal
j java.lang.VirtualThread.runContinuation()V+76 java.base@21-internal
j java.lang.VirtualThread$$Lambda+0x00000001000ad970.run()V+4 java.base@21-internal
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@21-internal
j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@21-internal
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@21-internal
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@21-internal
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@21-internal
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@21-internal
v ~StubRoutines::call_stub 0x00007f1bbc1c5d21
Registers:
RAX=0x00007f1bd5fa7000, RBX=0x00007f1b748588d0, RCX=0x00007f1bd4eef1e0, RDX=0x00007f1bd4eef210
RSP=0x00007f1ba5cf7290, RBP=0x00007f1ba5cf7330, RSI=0x0000000000000070, RDI=0x00007f1bd4eeef78
R8 =0x0000000000000001, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000000
R12=0x00007f1ba5cf72c0, R13=0x0000000000000000, R14=0x00007f1b74859d40, R15=0x00007f1b748588d0
RIP=0x00007f1bd4be926e, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
TRAPNO=0x000000000000000e