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

ConstantPool::klass_at_impl causes assert(!thread->owns_locks()) failed: must release all locks when leaving VM

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 8
    • hotspot

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/Users/graal/slave/e/main/graal-jvmci-8/src/share/vm/runtime/javaCalls.cpp:56), pid=39417, tid=0x000000000000a403
      # assert(!thread->owns_locks()) failed: must release all locks when leaving VM
      #
      # JRE version: OpenJDK Runtime Environment (8.0_272-b10) (build 1.8.0_272-b10)
      # Java VM: OpenJDK 64-Bit Server VM (25.272-b10-jvmci-20.3-b04-fastdebug mixed mode bsd-amd64 compressed oops)
      # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
      #
      # If you would like to submit a bug report, please visit:
      # https://github.com/oracle/graal/issues
      #

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

      Current thread (0x00007faf6186f800): JavaThread "Thread-1" [_thread_in_vm, id=41987, stack(0x000070000bb65000,0x000070000bc65000)]

      Stack: [0x000070000bb65000,0x000070000bc65000], sp=0x000070000bc63280, free space=1016k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x9fb683] VMError::report_and_die()+0x45b
      V [libjvm.dylib+0x320d22] report_vm_error(char const*, int, char const*, char const*)+0x63
      V [libjvm.dylib+0x4c6465] JavaCallWrapper::JavaCallWrapper(methodHandle, Handle, JavaValue*, Thread*)+0xb3
      V [libjvm.dylib+0x4c81d4] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x54c
      V [libjvm.dylib+0x4c739f] JavaCalls::call_special(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x13d
      V [libjvm.dylib+0x39b13a] Exceptions::new_exception(Thread*, Symbol*, Symbol*, JavaCallArguments*, Handle, Handle)+0x1ec
      V [libjvm.dylib+0x39b747] Exceptions::new_exception(Thread*, Symbol*, Symbol*, JavaCallArguments*, Handle, Handle, Handle)+0x41
      V [libjvm.dylib+0x39aaf9] Exceptions::new_exception(Thread*, Symbol*, char const*, Handle, Handle, Handle, Exceptions::ExceptionMsgToUtf8Mode)+0x175
      V [libjvm.dylib+0x39a95f] Exceptions::_throw_msg(Thread*, char const*, int, Symbol*, char const*, Handle, Handle)+0x97
      V [libjvm.dylib+0x39b2ad] Exceptions::_throw_msg(Thread*, char const*, int, Symbol*, char const*)+0x9b
      V [libjvm.dylib+0x315de9] ConstantPool::throw_resolution_error(constantPoolHandle, int, Thread*)+0x173
      V [libjvm.dylib+0x31628f] ConstantPool::save_and_throw_exception(constantPoolHandle, int, constantTag, Thread*)+0x2d9
      V [libjvm.dylib+0x31575e] ConstantPool::klass_at_impl(constantPoolHandle, int, Thread*)+0x4b0
      V [libjvm.dylib+0x262c6b] ConstantPool::klass_at(int, Thread*)+0x47
      V [libjvm.dylib+0x596e36] InstanceKlass::compute_enclosing_class_impl(instanceKlassHandle, bool*, Thread*)+0x152
      V [libjvm.dylib+0x596c2e] JVM_GetDeclaringClass+0x31e
      j java.lang.Class.getDeclaringClass0()Ljava/lang/Class;+0
      j java.lang.Class.getDeclaringClass()Ljava/lang/Class;+1
      j java.lang.Class.getEnclosingClass()Ljava/lang/Class;+10
      j Test$1.run()V+5
      v ~StubRoutines::call_stub
      V [libjvm.dylib+0x4c83ee] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x766
      V [libjvm.dylib+0x4c6d80] JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x26e
      V [libjvm.dylib+0x4c6fcb] JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x6f
      V [libjvm.dylib+0x5a7230] thread_entry(JavaThread*, Thread*)+0xb1
      V [libjvm.dylib+0x99e77a] JavaThread::thread_main_inner()+0x180
      V [libjvm.dylib+0x99e50d] JavaThread::run()+0x2d3
      V [libjvm.dylib+0x8522ab] java_start(Thread*)+0xfa
      C [libsystem_pthread.dylib+0x6109] _pthread_start+0x94
      C [libsystem_pthread.dylib+0x1b8b] thread_start+0xf

      Can be reliably reproduced with a fastdebug build and the attached Test.java:

      javac Test.java
      rm Outer.class
      java Test

            Unassigned Unassigned
            dnsimon Douglas Simon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: