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

par compact - crash in summary_phase with very full heap

    Details

    • Subcomponent:
      gc
    • Introduced In Build:
      b08
    • Introduced In Version:
    • Resolved In Build:
      b05
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Verified

      Backports

        Description

        The following tests caused jvm crash with solaris-amd64 binaries during b47 promotion testing in "-XX:+UseParallelOldGC" configuration:

           gc/gctests/FinalizeTest01
           gc/gctests/FinalizeTest02

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGSEGV (0xb) at pc=0xfffffd7ffedb736f, pid=13170, tid=5
        #
        # JRE version: 7.0-b47
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (15.0-b01 mixed mode solaris-amd64 )
        # Problematic frame:
        # V [libjvm.so+0xbb736f]
        #
        # If you would like to submit a bug report, please visit:
        # http://java.sun.com/webapps/bugreport/crash.jsp
        #

        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0xbb736f];; void PSParallelCompact::summary_phase(ParCompactionManager*,bool)+0x41f
        V [libjvm.so+0xbb914d];; void PSParallelCompact::invoke_no_policy(bool)+0x70d
        V [libjvm.so+0xbc7cc0];; void PSScavenge::invoke()+0x130
        V [libjvm.so+0xb93aba];; HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x9a
        V [libjvm.so+0x422d86];; void VM_ParallelGCFailedAllocation::doit()+0x96
        V [libjvm.so+0x422817];; void VM_Operation::evaluate()+0x77
        V [libjvm.so+0x5b4ef1];; void VMThread::loop()+0x4c1
        V [libjvm.so+0x5b3e7a];; void VMThread::run()+0x7a
        V [libjvm.so+0xb74883];; java_start+0x4c3
        C [libc.so.1+0xd504b] _thr_slot_offset+0x31b;; _thr_setup+0x5b
        C [libc.so.1+0xd5280] _thr_slot_offset+0x550;; _lwp_start+0x0

        VM_Operation (0xfffffd7ffdfce4e0): ParallelGCFailedAllocation, mode: safepoint, requested by thread 0x000000000041c000

        Running the test with fastdebug binaries triggers assertion failure:

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp:581), pid=25862, tid=5
        # Error: assert(addr<= _region_end,"bad addr")
        #
        # JRE version: 7.0-b47
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (15.0-b01-fastdebug mixed mode solaris-amd64 )
        # If you would like to submit a bug report, please visit:
        # http://java.sun.com/webapps/bugreport/crash.jsp
        #

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

        Current thread (0x0000000000660800): VMThread [stack: 0xfffffd7fd18ff000,0xfffffd7fd19ff000] [id=5]

        Stack: [0xfffffd7fd18ff000,0xfffffd7fd19ff000], sp=0xfffffd7fd19fd860, free space=1018k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x1d647df];; void VMError::report(outputStream*)+0x68f
        V [libjvm.so+0x1d6569d];; void VMError::report_and_die()+0x4fd
        V [libjvm.so+0xa5879b];; void report_assertion_failure(const char*,int,const char*)+0x5ab
        V [libjvm.so+0x1937d45];; bool ParallelCompactData::summarize(SplitInfo&,HeapWord*,HeapWord*,HeapWord**,HeapWord*,HeapWord*,HeapWord**)+0x1
        2b5
        V [libjvm.so+0x194a9c7];; void PSParallelCompact::summary_phase(ParCompactionManager*,bool)+0x597
        V [libjvm.so+0x194bbbb];; void PSParallelCompact::invoke_no_policy(bool)+0x68b
        V [libjvm.so+0x1977e2e];; void PSScavenge::invoke()+0x21e
        V [libjvm.so+0x187cdd1];; HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x161
        V [libjvm.so+0x1d67539];; void VM_ParallelGCFailedAllocation::doit()+0xd9
        V [libjvm.so+0x1d92f1b];; void VM_Operation::evaluate()+0xfb
        V [libjvm.so+0x1d91033];; void VMThread::evaluate_operation(VM_Operation*)+0x113
        V [libjvm.so+0x1d9190d];; void VMThread::loop()+0x72d
        V [libjvm.so+0x1d90c7f];; void VMThread::run()+0x9f
        V [libjvm.so+0x182762a];; java_start+0x66a
        C [libc.so.1+0xd504b] _thr_slot_offset+0x31b;; _thr_setup+0x5b
        C [libc.so.1+0xd5280] _thr_slot_offset+0x550;; _lwp_start+0x0

        VM_Operation (0xfffffd7ffc44e340): ParallelGCFailedAllocation, mode: safepoint, requested by thread 0x0000000000440000

        To reproduce, do the following:

        ssh vmsqe-v20z-01.russia
        cd /net/vmsqe.russia/export/execution/results/JDK7/PROMOTION/VM/b47/ParallelOldGC/vm/solaris-amd64/server/mixed/solaris-amd64_server_mixed_vm.gc.testlist/ResultDir/FinalizeTest01
        sh rerun.sh # may nedd to run this a couple of times

        You can also do:
         bash /net/vmsqe.russia/export/bin/reproduce_bug.sh rerun.sh

        The failure is reproducible with jdk7 b46 (hs14 b10), but not with jdk7 b42 (hs14 b09). Perhaps this failure mode became exposed by a number of parallel gc fixes that went into hs14 b10 (6786188, 6784849).

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  jcoomes John Coomes
                  Reporter:
                  sdolgovorcl Sergey Dolgov (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: