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

[TESTBUG] serviceability/jvmti/GetObjectSizeOverflow fails due to OOM conditions


    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 16
    • Fix Version/s: 16
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
    • CPU:
    • OS:


      The HotSpot test case GetObjectSizeOverflow might fail due to OOM conditions on the test machine, if the machine has less than the requested 4000m RAM.

      This is, because the G1GC crashes the JVM and does not generate an OOM Exception under this condition. The Application terminates with the following output:

      OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000798a00000, 1545601024, 0) failed; error='Not enough space' (errno=12)
      # There is insufficient memory for the Java Runtime Environment to continue.
      # Native memory allocation (mmap) failed to map 1545601024 bytes for committing reserved memory.
      # An error report file with more information is saved as:
      # /home/microdoc/hs_err_pid171032.log

      The test case itself is able to handle OOM situations, but not if the JVM crashes because of that.

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

      Current thread (0x0000007f8c1242a0): VMThread "VM Thread" [stack: 0x0000007f64c73000,0x0000007f64e73000] [id=171039]

      Stack: [0x0000007f64c73000,0x0000007f64e73000], sp=0x0000007f64e70b80, free space=2038k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xd8b1e4] VMError::report_and_die(int, char const*, char const*, std::__va_list, Thread*, unsigned char*
      , void*, void*, char const*, int, unsigned long)+0x20c
      V [libjvm.so+0xd8be1c] VMError::report_and_die(Thread*, char const*, int, unsigned long, VMErrorType, char const*, st
      V [libjvm.so+0x527228] report_vm_out_of_memory(char const*, int, unsigned long, VMErrorType, char const*, ...)+0xf0
      V [libjvm.so+0xacb998] os::pd_commit_memory_or_exit(char*, unsigned long, unsigned long, bool, char const*)+0xf4
      V [libjvm.so+0xac4b0c] os::commit_memory_or_exit(char*, unsigned long, unsigned long, bool, char const*)+0x38
      V [libjvm.so+0x643518] G1PageBasedVirtualSpace::commit(unsigned long, unsigned long)+0x148
      V [libjvm.so+0x656aa0] G1RegionsLargerThanCommitSizeMapper::commit_regions(unsigned int, unsigned long, WorkGang*)+0x58
      V [libjvm.so+0x6e4b18] HeapRegionManager::commit_regions(unsigned int, unsigned long, WorkGang*)+0x98
      V [libjvm.so+0x6e5954] HeapRegionManager::make_regions_available(unsigned int, unsigned int, WorkGang*)+0x48
      V [libjvm.so+0x6e5e38] HeapRegionManager::expand_at(unsigned int, unsigned int, WorkGang*)+0x130
      V [libjvm.so+0x5f8980] G1CollectedHeap::expand(unsigned long, WorkGang*, double*)+0x12c
      V [libjvm.so+0x5f969c] G1CollectedHeap::resize_heap_if_necessary()+0x58
      V [libjvm.so+0x60a478] G1ConcurrentMark::remark()+0x300
      V [libjvm.so+0x6761e0] VM_G1Concurrent::doit()+0x158
      V [libjvm.so+0xd8c924] VM_Operation::evaluate()+0x170
      V [libjvm.so+0xd91fe8] VMThread::evaluate_operation(VM_Operation*)+0xac
      V [libjvm.so+0xd92408] VMThread::loop()+0x1cc
      V [libjvm.so+0xd927d8] VMThread::run()+0x88
      V [libjvm.so+0xd24710] Thread::call_run()+0x134
      V [libjvm.so+0xad0afc] thread_native_entry(Thread*)+0xf8
      C [libpthread.so.0+0x84fc] start_thread+0x194


          Issue Links



              • Assignee:
                cgo Christoph Göttschkes
                cgo Christoph Göttschkes
              • Votes:
                0 Vote for this issue
                4 Start watching this issue


                • Created: