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

Test crashed - fatal error: LEAF method calling lock?

XMLWordPrintable

    • 23

      Test: erviceability/jvmti/vthread/CarrierThreadEventNotification/CarrierThreadEventNotification.java

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (c:\sb\prod\1717635056\workspace\open\src\hotspot\share\runtime\javaThread.cpp:400), pid=55024, tid=35532
      # fatal error: LEAF method calling lock?
      #
      # JRE version: Java(TM) SE Runtime Environment (23.0+26) (fastdebug build 23-ea+26-2242)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-ea+26-2242, mixed mode, sharing, tiered, compressed class ptrs, z gc, windows-amd64)

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

      Current thread (0x0000016e9b6e8e60): JavaThread "ForkJoinPool-1-worker-1" daemon [_thread_in_Java, id=35532, stack(0x0000002711600000,0x0000002711700000) (1024K)]

      Stack: [0x0000002711600000,0x0000002711700000]
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [jvm.dll+0xc94d51] os::win32::platform_print_native_stack+0x101 (os_windows_x86.cpp:235)
      V [jvm.dll+0xf5910b] VMError::report+0x149b (vmError.cpp:1010)
      V [jvm.dll+0xf5b7ae] VMError::report_and_die+0x80e (vmError.cpp:1845)
      V [jvm.dll+0x5579ae] report_fatal+0x7e (debug.cpp:214)
      V [jvm.dll+0x7f8aae] JavaThread::check_for_valid_safepoint_state+0xce (javaThread.cpp:400)
      V [jvm.dll+0xc2d662] Mutex::check_safepoint_state+0x82 (mutex.cpp:78)
      V [jvm.dll+0xc2d77a] Mutex::lock+0x3a (mutex.cpp:121)
      V [jvm.dll+0xa404fe] JvmtiThreadState::state_for+0xee (jvmtiThreadState.inline.hpp:121)
      V [jvm.dll+0xa51060] JvmtiEventControllerPrivate::thread_started+0x1a0 (jvmtiEventController.cpp:767)
      V [jvm.dll+0xa54179] JvmtiExport::get_jvmti_thread_state+0x89 (jvmtiExport.cpp:427)
      V [jvm.dll+0xa5ab0d] JvmtiExport::post_method_exit+0x5d (jvmtiExport.cpp:1848)
      V [jvm.dll+0x7c0649] InterpreterRuntime::post_method_exit+0xb9 (interpreterRuntime.cpp:1239)
      C 0x0000016c90ee004d (no source info available)

      Code in JavaThread::check_for_valid_safepoint_state:

       if (thread_state() != _thread_in_vm) {
          fatal("LEAF method calling lock?");
        }

      But from the stack we originate from InterpreterRuntime::post_method_exit which is a JRT_BLOCK_ENTRY which means we are still _thread_in_Java not _thread_in_VM.

      This is a new test added by JDK-8311177


            sspitsyn Serguei Spitsyn
            dholmes David Holmes
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: