-
Bug
-
Resolution: Fixed
-
P3
-
21, 22
-
b21
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8323380 | 21.0.3-oracle | Aleksey Shipilev | P3 | Resolved | Fixed | b01 |
JDK-8320074 | 21.0.2 | Aleksey Shipilev | P3 | Resolved | Fixed | b08 |
Test java/lang/Thread/virtual/stress/Skynet.java#ZGenerational with ' -XX:+CheckUnhandledOops' crashes with
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S141889/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/2482e760-6b8d-48c4-b062-c03db9324bca/runs/3739b499-f91f-47a2-9386-602b54684864/workspace/open/src/hotspot/share/gc/z/zAddress.inline.hpp:296), pid=986260, tid=986296
# assert(!assert_on_failure) failed: Has low-order bits set: 0xfffffffffffffff1
#
# JRE version: Java(TM) SE Runtime Environment (22.0) (fastdebug build 22-internal-2023-09-18-0647334.leonid.mesnik.jdk-flags)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-internal-2023-09-18-0647334.leonid.mesnik.jdk-flags, mixed mode, sharing, tiered, compressed class ptrs, z gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x1962fda] initialize_check_oop_function()::{lambda(oopDesc*)#1}::_FUN(oopDesc*)+0x5a
#
The stack:
Current thread (0x00007f5c7c03dcd0): JavaThread "ForkJoinPool-1-worker-1" daemon [_thread_in_Java, id=986296, stack(0x00007f613d325000,0x00007f613d425000) (1024K)]
Stack: [0x00007f613d325000,0x00007f613d425000], sp=0x00007f613d4229e0, free space=1014k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1962fda] initialize_check_oop_function()::{lambda(oopDesc*)#1}::_FUN(oopDesc*)+0x5a (zAddress.inline.hpp:296)
V [libjvm.so+0xa6d484] ContinuationWrapper::~ContinuationWrapper()+0x24 (oopsHierarchy.hpp:89)
V [libjvm.so+0xa66c83] int freeze_internal<Config<(oop_kind)1, ZBarrierSet> >(JavaThread*, long*)+0x373 (continuationFreezeThaw.cpp:1584)
V [libjvm.so+0xa6711b] int freeze<Config<(oop_kind)1, ZBarrierSet> >(JavaThread*, long*)+0x5b (continuationFreezeThaw.cpp:272)
J 216 jdk.internal.vm.Continuation.doYield()I java.base@22-internal (0 bytes) @ 0x00007f614c630875 [0x00007f614c630820+0x0000000000000055]
j jdk.internal.vm.Continuation.yield0(Ljdk/internal/vm/ContinuationScope;Ljdk/internal/vm/Continuation;)Z+18 java.base@22-internal
j jdk.internal.vm.Continuation.yield(Ljdk/internal/vm/ContinuationScope;)Z+69 java.base@22-internal
j java.lang.VirtualThread.yieldContinuation()Z+8 java.base@22-internal
j java.lang.VirtualThread.park()V+45 java.base@22-internal
j java.lang.System$2.parkVirtualThread()V+17 java.base@22-internal
j jdk.internal.misc.VirtualThreads.park()V+3 java.base@22-internal
j java.util.concurrent.locks.LockSupport.park()V+9 java.base@22-internal
j java.util.concurrent.LinkedTransferQueue$DualNode.await(Ljava/lang/Object;JLjava/lang/Object;Z)Ljava/lang/Object;+226 java.base@22-internal
j java.util.concurrent.SynchronousQueue$Transferer.xferLifo(Ljava/lang/Object;J)Ljava/lang/Object;+223 java.base@22-internal
j java.util.concurrent.SynchronousQueue.xfer(Ljava/lang/Object;J)Ljava/lang/Object;+27 java.base@22-internal
j java.util.concurrent.SynchronousQueue.take()Ljava/lang/Object;+11 java.base@22-internal
j Skynet$Channel.receive()Ljava/lang/Object;+6
j Skynet.skynet(LSkynet$Channel;III)V+82
j Skynet.lambda$skynet$0(LSkynet$Channel;I)V+5
j Skynet$$Lambda+0x00007f5cab003800.run()V+8
j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@22-internal
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@22-internal
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@22-internal
j jdk.internal.vm.Continuation.enter0()V+4 java.base@22-internal
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@22-internal
J 202 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@22-internal (0 bytes) @ 0x00007f614c62eb44 [0x00007f614c62e9e0+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@22-internal
j java.lang.VirtualThread.runContinuation()V+75 java.base@22-internal
j java.lang.VirtualThread$$Lambda+0x00007f5cab04df78.run()V+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@22-internal
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@22-internal
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@22-internal
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@22-internal
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@22-internal
v ~StubRoutines::call_stub 0x00007f614c08bd1a
V [libjvm.so+0xe84c4f] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x47f (javaCalls.cpp:415)
V [libjvm.so+0xe852a1] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x331 (javaCalls.cpp:329)
V [libjvm.so+0xe854b5] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x75 (javaCalls.cpp:191)
V [libjvm.so+0xfe13c3] thread_entry(JavaThread*, JavaThread*)+0x93 (jvm.cpp:2937)
V [libjvm.so+0xeba2cc] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:720)
V [libjvm.so+0x17a1a3a] Thread::call_run()+0xba (thread.cpp:220)
V [libjvm.so+0x14a68ea] thread_native_entry(Thread*)+0x12a (os_linux.cpp:785)
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 202 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@22-internal (0 bytes) @ 0x00007f614c62eb53 [0x00007f614c62e9e0+0x0000000000000173]
j jdk.internal.vm.Continuation.run()V+122 java.base@22-internal
j java.lang.VirtualThread.runContinuation()V+75 java.base@22-internal
j java.lang.VirtualThread$$Lambda+0x00007f5cab04df78.run()V+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@22-internal
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@22-internal
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@22-internal
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@22-internal
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@22-internal
v ~StubRoutines::call_stub 0x00007f614c08bd1a
Registers:
RAX=0x00007f616554b000, RBX=0x00007f613d422a50, RCX=0x00007f616424cbb9, RDX=0x00007f61642bb618
RSP=0x00007f613d4229e0, RBP=0x00007f613d4229e0, RSI=0x0000000000000128, RDI=0x00007f61642bb640
R8 =0x00007f616424cc70, R9 =0xfffffffffffffff1, R10=0x00007f6161c82000, R11=0x0000000000000000
R12=0x00007f5c7c03dcd0, R13=0x0000000000000000, R14=0x00007f613d422a80, R15=0x00007f613d422a50
RIP=0x00007f6164163fda, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
TRAPNO=0x000000000000000e
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S141889/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/2482e760-6b8d-48c4-b062-c03db9324bca/runs/3739b499-f91f-47a2-9386-602b54684864/workspace/open/src/hotspot/share/gc/z/zAddress.inline.hpp:296), pid=986260, tid=986296
# assert(!assert_on_failure) failed: Has low-order bits set: 0xfffffffffffffff1
#
# JRE version: Java(TM) SE Runtime Environment (22.0) (fastdebug build 22-internal-2023-09-18-0647334.leonid.mesnik.jdk-flags)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-internal-2023-09-18-0647334.leonid.mesnik.jdk-flags, mixed mode, sharing, tiered, compressed class ptrs, z gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x1962fda] initialize_check_oop_function()::{lambda(oopDesc*)#1}::_FUN(oopDesc*)+0x5a
#
The stack:
Current thread (0x00007f5c7c03dcd0): JavaThread "ForkJoinPool-1-worker-1" daemon [_thread_in_Java, id=986296, stack(0x00007f613d325000,0x00007f613d425000) (1024K)]
Stack: [0x00007f613d325000,0x00007f613d425000], sp=0x00007f613d4229e0, free space=1014k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1962fda] initialize_check_oop_function()::{lambda(oopDesc*)#1}::_FUN(oopDesc*)+0x5a (zAddress.inline.hpp:296)
V [libjvm.so+0xa6d484] ContinuationWrapper::~ContinuationWrapper()+0x24 (oopsHierarchy.hpp:89)
V [libjvm.so+0xa66c83] int freeze_internal<Config<(oop_kind)1, ZBarrierSet> >(JavaThread*, long*)+0x373 (continuationFreezeThaw.cpp:1584)
V [libjvm.so+0xa6711b] int freeze<Config<(oop_kind)1, ZBarrierSet> >(JavaThread*, long*)+0x5b (continuationFreezeThaw.cpp:272)
J 216 jdk.internal.vm.Continuation.doYield()I java.base@22-internal (0 bytes) @ 0x00007f614c630875 [0x00007f614c630820+0x0000000000000055]
j jdk.internal.vm.Continuation.yield0(Ljdk/internal/vm/ContinuationScope;Ljdk/internal/vm/Continuation;)Z+18 java.base@22-internal
j jdk.internal.vm.Continuation.yield(Ljdk/internal/vm/ContinuationScope;)Z+69 java.base@22-internal
j java.lang.VirtualThread.yieldContinuation()Z+8 java.base@22-internal
j java.lang.VirtualThread.park()V+45 java.base@22-internal
j java.lang.System$2.parkVirtualThread()V+17 java.base@22-internal
j jdk.internal.misc.VirtualThreads.park()V+3 java.base@22-internal
j java.util.concurrent.locks.LockSupport.park()V+9 java.base@22-internal
j java.util.concurrent.LinkedTransferQueue$DualNode.await(Ljava/lang/Object;JLjava/lang/Object;Z)Ljava/lang/Object;+226 java.base@22-internal
j java.util.concurrent.SynchronousQueue$Transferer.xferLifo(Ljava/lang/Object;J)Ljava/lang/Object;+223 java.base@22-internal
j java.util.concurrent.SynchronousQueue.xfer(Ljava/lang/Object;J)Ljava/lang/Object;+27 java.base@22-internal
j java.util.concurrent.SynchronousQueue.take()Ljava/lang/Object;+11 java.base@22-internal
j Skynet$Channel.receive()Ljava/lang/Object;+6
j Skynet.skynet(LSkynet$Channel;III)V+82
j Skynet.lambda$skynet$0(LSkynet$Channel;I)V+5
j Skynet$$Lambda+0x00007f5cab003800.run()V+8
j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@22-internal
j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@22-internal
j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@22-internal
j jdk.internal.vm.Continuation.enter0()V+4 java.base@22-internal
j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@22-internal
J 202 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@22-internal (0 bytes) @ 0x00007f614c62eb44 [0x00007f614c62e9e0+0x0000000000000164]
j jdk.internal.vm.Continuation.run()V+122 java.base@22-internal
j java.lang.VirtualThread.runContinuation()V+75 java.base@22-internal
j java.lang.VirtualThread$$Lambda+0x00007f5cab04df78.run()V+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@22-internal
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@22-internal
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@22-internal
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@22-internal
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@22-internal
v ~StubRoutines::call_stub 0x00007f614c08bd1a
V [libjvm.so+0xe84c4f] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x47f (javaCalls.cpp:415)
V [libjvm.so+0xe852a1] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x331 (javaCalls.cpp:329)
V [libjvm.so+0xe854b5] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x75 (javaCalls.cpp:191)
V [libjvm.so+0xfe13c3] thread_entry(JavaThread*, JavaThread*)+0x93 (jvm.cpp:2937)
V [libjvm.so+0xeba2cc] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:720)
V [libjvm.so+0x17a1a3a] Thread::call_run()+0xba (thread.cpp:220)
V [libjvm.so+0x14a68ea] thread_native_entry(Thread*)+0x12a (os_linux.cpp:785)
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 202 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@22-internal (0 bytes) @ 0x00007f614c62eb53 [0x00007f614c62e9e0+0x0000000000000173]
j jdk.internal.vm.Continuation.run()V+122 java.base@22-internal
j java.lang.VirtualThread.runContinuation()V+75 java.base@22-internal
j java.lang.VirtualThread$$Lambda+0x00007f5cab04df78.run()V+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@22-internal
j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@22-internal
j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@22-internal
j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@22-internal
j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@22-internal
j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@22-internal
v ~StubRoutines::call_stub 0x00007f614c08bd1a
Registers:
RAX=0x00007f616554b000, RBX=0x00007f613d422a50, RCX=0x00007f616424cbb9, RDX=0x00007f61642bb618
RSP=0x00007f613d4229e0, RBP=0x00007f613d4229e0, RSI=0x0000000000000128, RDI=0x00007f61642bb640
R8 =0x00007f616424cc70, R9 =0xfffffffffffffff1, R10=0x00007f6161c82000, R11=0x0000000000000000
R12=0x00007f5c7c03dcd0, R13=0x0000000000000000, R14=0x00007f613d422a80, R15=0x00007f613d422a50
RIP=0x00007f6164163fda, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
TRAPNO=0x000000000000000e
- backported by
-
JDK-8320074 ContinuationWrapper uses unhandled nullptr oop
- Resolved
-
JDK-8323380 ContinuationWrapper uses unhandled nullptr oop
- Resolved
- links to
-
Commit openjdk/jdk21u/fb7d8584
-
Commit openjdk/jdk/292aad2c
-
Review openjdk/jdk21u/346
-
Review openjdk/jdk/15810
(1 links to)