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

runtime/vthread tests crashing after JDK-8296324

XMLWordPrintable

    • b17
    • generic
    • generic

      The following tests failed in the JDK20 CI:

      runtime/vthread/RedefineClass.java
      runtime/vthread/TestObjectAllocationSampleEvent.java

      Both tests are failing with:

      # Internal Error (/System/Volumes/Data/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S131467/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/3fb387e1-b4dd-406d-a5f8-7e59fb2c8293/runs/9968d5d0-bc0b-480e-9150-ea289de80a93/workspace/open/src/hotspot/share/prims/jvm.cpp:3982), pid=86896, tid=40195
      # assert(thread->is_in_VTMS_transition()) failed: sanity check

      on five platforms. The failures started in jdk-20+25-1845 which contains just:

      JDK-8296324 JVMTI GetStackTrace truncates vthread stack trace for agents loaded into running VM

      so this looks like a regression.

      Here's the crashing stack for RedefineClass.java on linux-x64:

      --------------- T H R E A D ---------------

      Current thread (0x00007fbbf8050150): JavaThread "ForkJoinPool-1-worker-1" daemon [_thread_in_vm, id=2472997, stack(0x00007fbc3af1c000,0x00007fbc3b01d000)]

      Stack: [0x00007fbc3af1c000,0x00007fbc3b01d000], sp=0x00007fbc3b01b4c0, free space=1021k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x11dfcb4] JVM_VirtualThreadUnmountEnd+0x114 (jvm.cpp:3982)
      j java.lang.VirtualThread.notifyJvmtiUnmountEnd(Z)V+0 java.base@20-ea
      j java.lang.VirtualThread.afterTerminate(Z)V+42 java.base@20-ea
      j java.lang.VirtualThread.runContinuation()V+96 java.base@20-ea
      j java.lang.VirtualThread$$Lambda$8+0x000000080104a9a8.run()V+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@20-ea
      j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@20-ea
      j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@20-ea
      v ~StubRoutines::call_stub 0x00007fbc53b6ed21
      V [libjvm.so+0x1046060] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x500 (javaCalls.cpp:417)
      V [libjvm.so+0x1046872] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x432 (javaCalls.cpp:331)
      V [libjvm.so+0x1046e61] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x71 (javaCalls.cpp:193)
      V [libjvm.so+0x11c93fb] thread_entry(JavaThread*, JavaThread*)+0x12b (jvm.cpp:2876)
      V [libjvm.so+0x107be36] JavaThread::thread_main_inner()+0x206 (javaThread.cpp:700)
      V [libjvm.so+0x1a7a400] Thread::call_run()+0x100 (thread.cpp:224)
      V [libjvm.so+0x1711993] thread_native_entry(Thread*)+0x103 (os_linux.cpp:710)

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j java.lang.VirtualThread.notifyJvmtiUnmountEnd(Z)V+0 java.base@20-ea
      j java.lang.VirtualThread.afterTerminate(Z)V+42 java.base@20-ea
      j java.lang.VirtualThread.runContinuation()V+96 java.base@20-ea
      j java.lang.VirtualThread$$Lambda$8+0x000000080104a9a8.run()V+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@20-ea
      j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@20-ea
      j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@20-ea
      v ~StubRoutines::call_stub 0x00007fbc53b6ed21


      Here's the crashing stack for TestObjectAllocationSampleEvent.java on linux-x64:

      --------------- T H R E A D ---------------

      Current thread (0x00007f418404e290): JavaThread "ForkJoinPool-1-worker-1" daemon [_thread_in_vm, id=2473028, stack(0x00007f41c55f5000,0x00007f41c56f6000)]

      Stack: [0x00007f41c55f5000,0x00007f41c56f6000], sp=0x00007f41c56f44c0, free space=1021k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x11dfcb4] JVM_VirtualThreadUnmountEnd+0x114 (jvm.cpp:3982)
      j java.lang.VirtualThread.notifyJvmtiUnmountEnd(Z)V+0 java.base@20-ea
      j java.lang.VirtualThread.afterTerminate(Z)V+42 java.base@20-ea
      j java.lang.VirtualThread.runContinuation()V+96 java.base@20-ea
      j java.lang.VirtualThread$$Lambda$7+0x000000080104a578.run()V+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@20-ea
      j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@20-ea
      j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@20-ea
      v ~StubRoutines::call_stub 0x00007f41dc442d21
      V [libjvm.so+0x1046060] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x500 (javaCalls.cpp:417)
      V [libjvm.so+0x1046872] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x432 (javaCalls.cpp:331)
      V [libjvm.so+0x1046e61] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x71 (javaCalls.cpp:193)
      V [libjvm.so+0x11c93fb] thread_entry(JavaThread*, JavaThread*)+0x12b (jvm.cpp:2876)
      V [libjvm.so+0x107be36] JavaThread::thread_main_inner()+0x206 (javaThread.cpp:700)
      V [libjvm.so+0x1a7a400] Thread::call_run()+0x100 (thread.cpp:224)
      V [libjvm.so+0x1711993] thread_native_entry(Thread*)+0x103 (os_linux.cpp:710)

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j java.lang.VirtualThread.notifyJvmtiUnmountEnd(Z)V+0 java.base@20-ea
      j java.lang.VirtualThread.afterTerminate(Z)V+42 java.base@20-ea
      j java.lang.VirtualThread.runContinuation()V+96 java.base@20-ea
      j java.lang.VirtualThread$$Lambda$7+0x000000080104a578.run()V+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec()Z+4 java.base@20-ea
      j java.util.concurrent.ForkJoinTask.doExec()I+10 java.base@20-ea
      j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+19 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)I+211 java.base@20-ea
      j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+35 java.base@20-ea
      j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@20-ea
      v ~StubRoutines::call_stub 0x00007f41dc442d21

            sspitsyn Serguei Spitsyn
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: