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

WB_GetCodeBlob doesn't have ResourceMark

    XMLWordPrintable

Details

    • b16

    Backports

      Description

        Method
        WB_ENTRY(jobjectArray, WB_GetCodeBlob(JNIEnv* env, jobject o, jlong addr))
          if (addr == 0) {
            THROW_MSG_NULL(vmSymbols::java_lang_NullPointerException(),
              "WB_GetCodeBlob: addr is null");
          }
          ThreadToNativeFromVM ttn(thread);
          CodeBlobStub stub((CodeBlob*) addr);
          return codeBlob2objectArray(thread, env, &stub);
        WB_END

        might fails in codeBlob2objectArray with

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (open/src/hotspot/share/memory/resourceArea.inline.hpp:33), pid=20764, tid=20785
        # fatal error: memory leak: allocating without ResourceMark
        #
        # JRE version: Java(TM) SE Runtime Environment (15.0) (fastdebug build 15-internal+0-2020-03-19-1813493.lmesnik.loom)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 15-internal+0-2020-03-19-1813493.lmesnik.loom, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x171ec5c] resource_allocate_bytes(unsigned long, AllocFailStrategy::AllocFailEnum)+0x18c
        #
        # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /home/lmesnik/ws/loom/build/linux-x64/test-support/jtreg_open_test_
        hotspot_jtreg_compiler_codecache_OverflowCodeCacheTest_java/scratch/0/core.20764)
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        # The crash happened outside the Java Virtual Machine in native code.
        # See problematic frame for where to report the bug.
        #

        --------------- S U M M A R Y ------------

        Command Line: -Dtest.class.path.prefix=/home/lmesnik/ws/loom/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_compiler_codecache_OverflowCodeCacheTest_java/classes/0/compiler/codecache/OverflowCodeCacheTest.d:/home/lmesnik/ws/loom/open/test/hotspot/jtreg/compiler/codecache:/home/lmesnik/ws/loom/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_compiler_codecache_OverflowCodeCacheTest_java/classes/0/test/lib -Dtest.file=/home/lmesnik/ws/loom/open/test/hotspot/jtreg/compiler/codecache/OverflowCodeCacheTest.java -Dtest.src=/home/lmesnik/ws/loom/open/test/hotspot/jtreg/compiler/codecache -Dtest.src.path=/home/lmesnik/ws/loom/open/test/hotspot/jtreg/compiler/codecache:/home/lmesnik/ws/loom/open/test/lib -Dtest.classes=/home/lmesnik/ws/loom/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_compiler_codecache_OverflowCodeCacheTest_java/classes/0/compiler/codecache/OverflowCodeCacheTest.d -Dtest.class.path=/home/lmesnik/ws/loom/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_compiler_codecache_OverflowCodeCacheTest_java/classes/0/compiler/codecache/OverflowCodeCacheTest.d:/home/lmesnik/ws/loom/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_compiler_codecache_OverflowCodeCacheTest_java/classes/0/test/lib -Dtest.vm.opts=-XX:MaxRAMPercentage=6 -Dmain.wrapper=Virtual -Dtest.tool.vm.opts=-J-XX:MaxRAMPercentage=6 -J-Dmain.wrapper=Virtual -Dtest.compiler.opts= -Dtest.java.opts= -Dtest.jdk=/home/lmesnik/ws/loom/build/linux-x64/images/jdk -Dcompile.jdk=/home/lmesnik/ws/loom/build/linux-x64/images/jdk -Dtest.timeout.factor=4.0 -Dtest.root=/home/lmesnik/ws/loom/open/test/hotspot/jtreg -Dtest.modules=java.base/jdk.internal.misc java.management -Dtest.nativepath=/home/lmesnik/ws/loom/build/linux-x64/images/test/hotspot/jtreg/native --add-modules=java.base,java.management --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED -XX:MaxRAMPercentage=6 -Dmain.wrapper=Virtual -Djava.library.path=/home/lmesnik/ws/loom/build/linux-x64/images/test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,null::* -XX:-SegmentedCodeCache com.sun.javatest.regtest.agent.MainWrapper /home/lmesnik/ws/loom/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_compiler_codecache_OverflowCodeCacheTest_java/compiler/codecache/OverflowCodeCacheTest.d/main.0.jta

        Host: lmesnik-linux, Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz, 8 cores, 31G, Ubuntu 18.04.4 LTS
        Time: Thu Mar 19 12:00:00 2020 PDT elapsed time: 0 seconds (0d 0h 0m 0s)

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

        Current thread (0x00007f62a847b000): JavaThread "ForkJoinPool-1-worker-3" daemon [_thread_in_native, id=20785, stack(0x00007f6288aed000,0x00007f6288bee000)]

        Stack: [0x00007f6288aed000,0x00007f6288bee000], sp=0x00007f6288bebd20, free space=1019k
        Thread 0x00007f62a847b000 [20785]
        Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x171ec5c] resource_allocate_bytes(unsigned long, AllocFailStrategy::AllocFailEnum)+0x18c
        V [libjvm.so+0x1848e98] Symbol::as_C_string() const+0x28
        V [libjvm.so+0x19dae03] codeBlob2objectArray(JavaThread*, JNIEnv_*, CodeBlobStub*)+0x33
        V [libjvm.so+0x19f1073] WB_GetCodeBlob+0x1c3
        j sun.hotspot.WhiteBox.getCodeBlob(J)[Ljava/lang/Object;+0
        j sun.hotspot.code.CodeBlob.getCodeBlob(J)Lsun/hotspot/code/CodeBlob;+4
        j compiler.codecache.OverflowCodeCacheTest.test()V+80

        Attachments

          Issue Links

            Activity

              People

                lmesnik Leonid Mesnik
                lmesnik Leonid Mesnik
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: