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

G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 8u40
    • 8u40
    • hotspot
    • G1GC, ParallelGCThreads=0

    • gc
    • b16
    • Verified

        After JDK-8056240 JDK 8u40 may crash during G1's concurrent mark phase if ParallelGCThreads=0:

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/opt/jprt/T/P1/172752.amurillo/s/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp:5231), pid=19641, tid=3810052976
        # assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty
        #
        # JRE version: Java(TM) SE Runtime Environment (8.0_40) (build 1.8.0_40-internal-fastdebug-201411071727.amurillo.hs25-40-b18-snapsh-b00)
        # Java VM: Java HotSpot(TM) Client VM (25.40-b18-fastdebug compiled mode linux-x86 )
        # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
        #
        # If you would like to submit a bug report, please visit:
        # http://bugreport.java.com/bugreport/crash.jsp
        #

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

        Current thread (0xf66ecc00): VMThread [stack: 0xe310c000,0xe318d000] [id=19647]

        Stack: [0xe310c000,0xe318d000], sp=0xe318b740, free space=509k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x9d9f5b] VMError::report_and_die()+0x17b
        V [libjvm.so+0x389118] report_vm_error(char const*, int, char const*, char const*)+0x68
        V [libjvm.so+0x41e116] G1ParallelCleaningTask::work(unsigned int)+0x46
        V [libjvm.so+0x40880a] G1CollectedHeap::parallel_cleaning(BoolObjectClosure*, bool, bool, bool)+0x20a
        V [libjvm.so+0x336ae7] ConcurrentMark::weakRefsWorkParallelPart(BoolObjectClosure*, bool)+0x27
        V [libjvm.so+0x34172f] ConcurrentMark::weakRefsWork(bool)+0x6ef
        V [libjvm.so+0x34190b] ConcurrentMark::checkpointRootsFinal(bool)+0xdb
        V [libjvm.so+0x376b44] CMCheckpointRootsFinalClosure::do_void()+0x14
        V [libjvm.so+0xa05b03] VM_CGC_Operation::doit()+0xd3
        V [libjvm.so+0xa0407a] VM_Operation::evaluate()+0x9a
        V [libjvm.so+0xa016f4] VMThread::evaluate_operation(VM_Operation*)+0x124
        V [libjvm.so+0xa021ca] VMThread::loop()+0x65a
        V [libjvm.so+0xa02441] VMThread::run()+0xc1
        V [libjvm.so+0x821279] java_start(Thread*)+0x119
        C [libpthread.so.0+0x6a49]

        VM_Operation (0xe39ff2c8): CGC_Operation, mode: safepoint, requested by thread 0xf663e400


        Note that you can't use ParallelGCThreads=0 & G1GC w/ latest JDK 9 builds.

              stefank Stefan Karlsson
              fzhinkin Filipp Zhinkin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: