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

ResourceHashtable failed "assert(~(_allocation_t[0] | allocation_mask) == (uintptr_t)this) failed: lost resource object"

XMLWordPrintable

    • b04
    • x86_64
    • linux

        The following test failed in the JDK21 CI:

        vmTestbase/nsk/jdi/VirtualMachineManager/connectedVirtualMachines/convm002/TestDescription.java

        Here's a snippet from the log file:

        ==> nsk/jdi/VirtualMachineManager/connectedVirtualMachines/convm002 TESTING BEGINS
        --> debugger: ......call to Bootstrap.virtualMachineManager()
        --> debugger: ......call to vmm.connectedVirtualMachines()
        --> debugger: connectedVM.size() == 1
        --> debugger: ......getting: VirtualMachine vm1 = connectedVM.get(0);
        --> debugger: ......comparing: vm.equals(vm1)
        --> debugger: ......vm1.exit(95)
        debugee.stdout> #
        --> debugger: waiting for the debuggee to finish ...
        debugee.stdout> # A fatal error has been detected by the Java Runtime Environment:
        debugee.stdout> #
        debugee.stdout> # Internal Error (/opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S179652/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/92b79186-dc43-46f5-b3fe-a026e05297be/runs/b9a81567-2737-4396-9555-6a4d73c11313/workspace/open/src/hotspot/share/memory/allocation.cpp:159), pid=2239672, tid=2239709
        debugee.stdout> # assert(~(_allocation_t[0] | allocation_mask) == (uintptr_t)this) failed: lost resource object
        debugee.stdout> #
        debugee.stdout> # JRE version: Java(TM) SE Runtime Environment (21.0+25) (fastdebug build 21-ea+25-LTS-2162)
        debugee.stdout> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-ea+25-LTS-2162, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        debugee.stdout> # Problematic frame:
        debugee.stdout> # V [libjvm.so+0x5db2c8] AnyObj::get_allocation_type() const [clone .part.0]+0x28
        debugee.stdout> #
        debugee.stdout> # 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-S179807/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/931a4b37-ac97-44d8-96e7-042e0dbc60e1/runs/b52dc26a-3e6b-4db3-b0e9-6c471a41b766/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/scratch/1/core.2239672)
        debugee.stdout> #
        debugee.stdout> # An error report file with more information is saved as:
        debugee.stdout> # /opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S179807/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/931a4b37-ac97-44d8-96e7-042e0dbc60e1/runs/b52dc26a-3e6b-4db3-b0e9-6c471a41b766/testoutput/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi/scratch/1/hs_err_pid2239672.log
        debugee.stdout> #
        debugee.stdout> # If you would like to submit a bug report, please visit:
        debugee.stdout> # https://bugreport.java.com/bugreport/crash.jsp
        debugee.stdout> # The crash happened outside the Java Virtual Machine in native code.
        debugee.stdout> # See problematic frame for where to report the bug.
        debugee.stdout> #
        # ERROR: ##> debugger: debuggee returned UNEXPECTED exit status: 134 != PASS_BASE
        The following stacktrace is for failure analysis.
        nsk.share.TestFailure: ##> debugger: debuggee returned UNEXPECTED exit status: 134 != PASS_BASE
        at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
        at nsk.share.Log.complain(Log.java:402)
        at nsk.jdi.VirtualMachineManager.connectedVirtualMachines.convm002.log3(convm002.java:93)
        at nsk.jdi.VirtualMachineManager.connectedVirtualMachines.convm002.runThis(convm002.java:210)
        at nsk.jdi.VirtualMachineManager.connectedVirtualMachines.convm002.run(convm002.java:77)
        at nsk.jdi.VirtualMachineManager.connectedVirtualMachines.convm002.main(convm002.java:72)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
        at java.base/java.lang.VirtualThread.run(VirtualThread.java:311)
        --> debugger: waiting for VMDisconnectEvent
        --> debugger: new: eventSet = eventQueue.remove();
        --> debugger: : eventSet != null; size == 1
        --> debugger: VMDisconnectEvent removed
        --> debugger: : eventSet == null: EventQueue is empty
        --> debugger: ......connectedVM = vmm.connectedVirtualMachines();
        --> debugger: connectedVM.size() == 0

        ==> nsk/jdi/VirtualMachineManager/connectedVirtualMachines/convm002 TESTING ENDS
        # ERROR: TEST FAILED
        The following stacktrace is for failure analysis.
        nsk.share.TestFailure: TEST FAILED
        at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
        at nsk.share.Log.complain(Log.java:402)
        at nsk.jdi.VirtualMachineManager.connectedVirtualMachines.convm002.runThis(convm002.java:250)
        at nsk.jdi.VirtualMachineManager.connectedVirtualMachines.convm002.run(convm002.java:77)
        at nsk.jdi.VirtualMachineManager.connectedVirtualMachines.convm002.main(convm002.java:72)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
        at java.base/java.lang.VirtualThread.run(VirtualThread.java:311)


        #>
        #> SUMMARY: Following errors occured
        #> during test execution:
        #>
        # ERROR: ##> debugger: debuggee returned UNEXPECTED exit status: 134 != PASS_BASE
        # ERROR: TEST FAILED
        ----------System.err:(0/0)----------
        ----------rerun:(38/9060)*----------


        Here's the crashing thread's stack:

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

        Current thread (0x00007ff208393260): JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_native, id=2239709, stack(0x00007ff1ec81e000,0x00007ff1ec91f000) (1028K)]

        Stack: [0x00007ff1ec81e000,0x00007ff1ec91f000], sp=0x00007ff1ec91da70, free space=1022k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x5db2c8] AnyObj::get_allocation_type() const [clone .part.0]+0x28 (allocation.cpp:159)
        V [libjvm.so+0x5dbdc0] AnyObj::print() const+0x0 (allocation.cpp:215)
        V [libjvm.so+0x152069e] ResourceHashtable<PlaceholderKey, PlaceholderEntry, 503u, (AnyObj::allocation_type)2, (MEMFLAGS)1, &PlaceholderKey::hash, &PlaceholderKey::equals>::~ResourceHashtable()+0x6e (resourceHash.hpp:36)

              jgu Justin Gu (Inactive)
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: