Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8316436

ContinuationWrapper uses unhandled nullptr oop

XMLWordPrintable

    • b21

        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

              stefank Stefan Karlsson
              lmesnik Leonid Mesnik
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: