VM asserts with assert(heap != nullptr) failed: heap is null when running compiler/codecache/jmx/InitialAndMaxUsageTest.java with -XX:+NeverActAsServerClassMachine

XMLWordPrintable

      VM asserts with assert(heap != nullptr) failed: heap is null when running compiler/codecache/jmx/InitialAndMaxUsageTest.java with -XX:+NeverActAsServerClassMachine


      I see the test uses WhiteBox. Looks somewhat similar to JDK-8369147 but with -XX:+NeverActAsServerClassMachine (flag scheduled for removal). I'll file the bug regardless.

      ===

      src/hotspot/share/code/codeCache.cpp:507), pid=688586, tid=688606
      # assert(heap != nullptr) failed: heap is null
      #
      # JRE version: Java(TM) SE Runtime Environment (27.0) (fastdebug

      # Problematic frame:
      # V [libjvm.so+0xb5ac29] CodeCache::allocate(unsigned int, CodeBlobType, bool, CodeBlobType)+0x359
      #

      ===

      Stack: [0x00007f110d221000,0x00007f110d321000], sp=0x00007f110d31f070, free space=1016k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xb5ac29] CodeCache::allocate(unsigned int, CodeBlobType, bool, CodeBlobType)+0x359 (codeCache.cpp:507)
      V [libjvm.so+0x1d195f7] WhiteBox::allocate_code_blob(int, CodeBlobType)+0x67 (whitebox.cpp:1708)
      V [libjvm.so+0x1d23787] WB_AllocateCodeBlob+0x127 (whitebox.cpp:1723)
      j jdk.test.whitebox.WhiteBox.allocateCodeBlob(II)J+0
      j compiler.codecache.jmx.CodeCacheUtils.getHeaderSize(Ljdk/test/whitebox/code/BlobType;)J+8
      j compiler.codecache.jmx.InitialAndMaxUsageTest.runTest()V+4
      j compiler.codecache.jmx.InitialAndMaxUsageTest.main([Ljava/lang/String;)V+34
      j java.lang.invoke.LambdaForm$DMH+0x0000000083042000.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@27-internal
      j java.lang.invoke.LambdaForm$MH+0x0000000083043400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@27-internal
      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@27-internal
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@27-internal
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@27-internal
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@27-internal
      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@27-internal
      j java.lang.Thread.run()V+19 java.base@27-internal
      v ~StubRoutines::call_stub_stub (stub gen) 0x00007f10fd2005fd
      V [libjvm.so+0x10eedce] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x50e (javaCalls.cpp:416)
      V [libjvm.so+0x10ef513] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x313 (javaCalls.cpp:324)
      V [libjvm.so+0x10efb53] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0xb3 (javaCalls.cpp:186)
      V [libjvm.so+0x12ac353] thread_entry(JavaThread*, JavaThread*)+0xe3 (jvm.cpp:2701)
      V [libjvm.so+0x112dffb] JavaThread::thread_main_inner()+0x13b (javaThread.cpp:776)
      V [libjvm.so+0x1bbc436] Thread::call_run()+0xb6 (thread.cpp:243)
      V [libjvm.so+0x1811bb8] thread_native_entry(Thread*)+0x118 (os_linux.cpp:929)
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j jdk.test.whitebox.WhiteBox.allocateCodeBlob(II)J+0
      j compiler.codecache.jmx.CodeCacheUtils.getHeaderSize(Ljdk/test/whitebox/code/BlobType;)J+8
      j compiler.codecache.jmx.InitialAndMaxUsageTest.runTest()V+4
      j compiler.codecache.jmx.InitialAndMaxUsageTest.main([Ljava/lang/String;)V+34
      j java.lang.invoke.LambdaForm$DMH+0x0000000083042000.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@27-internal
      j java.lang.invoke.LambdaForm$MH+0x0000000083043400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@27-internal
      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@27-internal
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@27-internal
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@27-internal
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@27-internal
      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@27-internal
      j java.lang.Thread.run()V+19 java.base@27-internal
      v ~StubRoutines::call_stub_stub (stub gen) 0x00007f10fd2005fd

            Assignee:
            Unassigned
            Reporter:
            Daniel Skantz
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: