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

[8u] G1: guarantee(!obj->is_forwarded()) failed: Object must not be forwarded

XMLWordPrintable

    • gc
    • b01


      This is on behalf of <wattsun@tencent.com>.

      * Symptom
      ---------------------
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/home/wattsun/source/jdk8u/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp:165), pid=7683, tid=0x00007f776242f700
      # guarantee(!obj->is_forwarded()) failed: Object must not be forwarded
      #


      Current thread (0x00007f778753e000): VMThread [stack: 0x00007f776232f000,0x00007f7762430000] [id=7706]

      Stack: [0x00007f776232f000,0x00007f7762430000], sp=0x00007f776242c4c0, free space=1013k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x10ea81d] VMError::report_and_die()+0x15d
      V [libjvm.so+0x740d3b] report_vm_error(char const*, int, char const*, char const*)+0x7b
      V [libjvm.so+0x88844f] G1StringDedupQueue::verify()+0x3df
      V [libjvm.so+0x886d76] G1StringDedup::verify()+0x36
      V [libjvm.so+0x83d746] G1CollectedHeap::verify(bool, VerifyOption) [clone .part.325]+0x556
      V [libjvm.so+0x8762ad] G1MarkSweep::mark_sweep_phase1(bool&, bool)+0x31d
      V [libjvm.so+0x876793] G1MarkSweep::invoke_at_safepoint(ReferenceProcessor*, bool)+0x143
      V [libjvm.so+0x840192] G1CollectedHeap::do_collection(bool, bool, unsigned long)+0x722
      V [libjvm.so+0x1114d14] VM_G1CollectFull::doit()+0xa4
      V [libjvm.so+0x1113623] VM_Operation::evaluate()+0xa3
      V [libjvm.so+0x111018a] VMThread::evaluate_operation(VM_Operation*)+0x18a
      V [libjvm.so+0x1110bca] VMThread::loop()+0x4ea
      V [libjvm.so+0x1110e98] VMThread::run()+0x108
      V [libjvm.so+0xe30c92] java_start(Thread*)+0xf2

      VM_Operation (0x00007f7789db0d80): G1CollectFull, mode: safepoint, requested by thread 0x00007f7787448800
      ---------------------


      * Reproduce

      java -Xmx10M -XX:+UnlockDiagnosticVMOptions -XX:+UseG1GC -XX:+VerifyDuringGC -XX:+UseStringDeduplication GCStringTest

      ---------------------
      class GCStringTest {
          public static void main(String [] args) {
            String str = new Integer(10).toString();
            System.gc();
          }
      }
      ---------------------

            lujaniuk Ludvig Janiuk
            jiefu Jie Fu
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: