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

JVM/TI GetFrameLocation stackChunkOopDesc::sender call fails "assert(!is_empty()) failed"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • 24
    • 21
    • hotspot
    • x86_64
    • linux

      The following test failed in the JDK21 CI:

      serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java#default

      Here's a snippet from the log file:

      ## Agent: thread TestedThread17 frame count: 13
      Agent: GetFrameLocation: frame for current thread TestedThread17: method: yield(Ljdk/internal/vm/ContinuationScope;)Z, loc: 69
      JVMTI Stack Trace for thread TestedThread17: frame count: 13
       0: jdk/internal/vm/Continuation: yield0(Ljdk/internal/vm/ContinuationScope;Ljdk/internal/vm/Continuation;)Z
       1: jdk/internal/vm/Continuation: yield(Ljdk/internal/vm/ContinuationScope;)Z
       2: java/lang/VirtualThread: yieldContinuation()Z
       3: java/lang/VirtualThread: parkNanos(J)V
       4: java/lang/VirtualThread: sleepNanos(J)V
       5: java/lang/Thread: sleep(J)V
       6: SuspendResume1: sleep(J)V
       7: TestedThread: run()V
       8: java/lang/VirtualThread: runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V
       9: java/lang/VirtualThread: run(Ljava/lang/Runnable;)V
      10: java/lang/VirtualThread$VThreadContinuation$1: run()V
      11: jdk/internal/vm/Continuation: enter0()V
      12: jdk/internal/vm/Continuation: enter(Ljdk/internal/vm/Continuation;Z)V

      ## Agent: thread TestedThread18 frame count: 13
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S91004/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/f6dd5f76-e36e-41ef-9898-0b2a2463ec52/runs/9b1e5426-4ec5-4793-9584-c91f5cdb18b3/workspace/open/src/hotspot/share/oops/stackChunkOop.cpp:88), pid=1108499, tid=1109864
      # Error: assert(!is_empty()) failed
      #
      # JRE version: Java(TM) SE Runtime Environment (21.0+21) (fastdebug build 21-ea+21-LTS-1769)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-ea+21-LTS-1769, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x15f5e77] stackChunkOopDesc::sender(frame const&, RegisterMap*)+0x8e7
      #
      # Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S91217/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fd32e585-758d-4d66-8440-ec62bd071212/runs/bad7c19e-323f-467b-8e9c-4b977476490c/testoutput/test-support/jtreg_open_test_hotspot_jtreg_tier1/scratch/5/core.1108499)
      #
      # An error report file with more information is saved as:
      # /opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S91217/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fd32e585-758d-4d66-8440-ec62bd071212/runs/bad7c19e-323f-467b-8e9c-4b977476490c/testoutput/test-support/jtreg_open_test_hotspot_jtreg_tier1/scratch/5/hs_err_pid1108499.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #
      ----------System.err:(0/0)----------
      ----------rerun:(37/7439)*----------


      Here's the crashing thread's stack:

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

      Current thread (0x00007f694c3dff80): JavaThread "MainThread" [_thread_in_vm, id=1109864, stack(0x00007f693435e000,0x00007f693445f000) (1028K)] _threads_hazard_ptr=0x00007f68d8002830, _nested_threads_hazard_ptr_cnt=0

      Stack: [0x00007f693435e000,0x00007f693445f000], sp=0x00007f693445a5f0, free space=1009k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x15f5e77] stackChunkOopDesc::sender(frame const&, RegisterMap*)+0x8e7 (stackChunkOop.cpp:88)
      V [libjvm.so+0x7d76c8] frame::sender(RegisterMap*) const+0x128 (frame_x86.inline.hpp:378)
      V [libjvm.so+0xbba808] frame::real_sender(RegisterMap*) const+0x18 (frame.cpp:384)
      V [libjvm.so+0x1809794] vframe::sender() const+0x74 (vframe.cpp:101)
      V [libjvm.so+0x18126e9] compiledVFrame::sender() const+0x59 (vframe_hp.cpp:405)
      V [libjvm.so+0x1806d6c] vframe::java_sender() const+0xc (vframe.cpp:111)
      V [libjvm.so+0x11309f0] JvmtiEnvBase::check_and_skip_hidden_frames(bool, javaVFrame*)+0x60 (jvmtiEnvBase.cpp:658)
      V [libjvm.so+0x1130b88] JvmtiEnvBase::check_and_skip_hidden_frames(oop, javaVFrame*)+0x68 (jvmtiEnvBase.cpp:684)
      V [libjvm.so+0x1136ebd] JvmtiEnvBase::get_vthread_jvf(oop)+0x1fd (jvmtiEnvBase.cpp:711)
      V [libjvm.so+0x1137566] JvmtiEnvBase::get_frame_location(oop, int, _jmethodID**, long*)+0xe6 (jvmtiEnvBase.cpp:1282)
      V [libjvm.so+0x111e82b] JvmtiEnv::GetFrameLocation(_jobject*, int, _jmethodID**, long*)+0x3ab (jvmtiEnv.cpp:1933)
      V [libjvm.so+0x10ca5a2] jvmti_GetFrameLocation+0x112 (jvmtiEnter.cpp:1418)
      C [libSuspendResume1.so+0x2fbb] test_jvmti_functions_for_threads+0x1cb (jvmti.h:2012)
      C [libSuspendResume1.so+0x4dad] Java_SuspendResume1_TestSuspendResume+0x1fd (libSuspendResume1.cpp:326)
      j SuspendResume1.TestSuspendResume()V+0
      j SuspendResume1.test_vthreads()I+69
      j SuspendResume1.runIt([Ljava/lang/String;Ljava/io/PrintStream;)I+10
      j SuspendResume1.run([Ljava/lang/String;Ljava/io/PrintStream;)I+9
      j SuspendResume1.main([Ljava/lang/String;)V+4
      j java.lang.invoke.LambdaForm$DMH+0x0000000801002000.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@21-ea
      j java.lang.invoke.LambdaForm$MH+0x0000000801003400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@21-ea
      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-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@21-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@21-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@21-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@21-ea
      j java.lang.Thread.run()V+19 java.base@21-ea
      v ~StubRoutines::call_stub 0x00007f693c16dd21
      V [libjvm.so+0xe56322] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x462 (javaCalls.cpp:415)
      V [libjvm.so+0xe56903] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x283 (javaCalls.cpp:329)
      V [libjvm.so+0xe56b11] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x71 (javaCalls.cpp:191)
      V [libjvm.so+0xfa5d56] thread_entry(JavaThread*, JavaThread*)+0x96 (jvm.cpp:2919)
      V [libjvm.so+0xe8853e] JavaThread::thread_main_inner()+0x17e (javaThread.cpp:717)
      V [libjvm.so+0x175ac58] Thread::call_run()+0xb8 (thread.cpp:215)
      V [libjvm.so+0x145965a] thread_native_entry(Thread*)+0x11a (os_linux.cpp:740)
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j SuspendResume1.TestSuspendResume()V+0
      j SuspendResume1.test_vthreads()I+69
      j SuspendResume1.runIt([Ljava/lang/String;Ljava/io/PrintStream;)I+10
      j SuspendResume1.run([Ljava/lang/String;Ljava/io/PrintStream;)I+9
      j SuspendResume1.main([Ljava/lang/String;)V+4
      j java.lang.invoke.LambdaForm$DMH+0x0000000801002000.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@21-ea
      j java.lang.invoke.LambdaForm$MH+0x0000000801003400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@21-ea
      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-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@21-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@21-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@21-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@21-ea
      j java.lang.Thread.run()V+19 java.base@21-ea
      v ~StubRoutines::call_stub 0x00007f693c16dd21

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

              Created:
              Updated:
              Resolved: