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

Fatal error with option '-XX:TLABWasteTargetPercent=73 -XX:+ZeroTLAB'

XMLWordPrintable

    • gc
    • Cause Known
    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      Ubuntu 23.04 & Windows 11
      JDK8u361
      java version "1.8.0_361"
      Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
      Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

      A DESCRIPTION OF THE PROBLEM :
      When I run the Case.java program with JDK8u361, I occasionally encounter a fatal error (approximately once every ten times). I suspect that this may be related to my use of the -XX:TLABWasteTargetPercent=73 and -XX:+ZeroTLAB options. When I remove either of them, the fatal error cannot be reproduced.
      It's maybe a defect in JDK8, because I cannot reproduce it in JDK11 or JDK17. If it's already fixed on JDK11/JDK17, could you fix it on JDK8 as well? Thank you.

      import sun.hotspot.WhiteBox;

      public class Case {
          public static void main(String[] var0) {
              WhiteBox.getWhiteBox().youngGC();
          }
      }

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Step1 compile the program.

      import sun.hotspot.WhiteBox;

      public class Case {
          public static void main(String[] var0) {
              WhiteBox.getWhiteBox().youngGC();
          }
      }
      Step2 Repeat the command ten times ' java -XX:TLABWasteTargetPercent=73 -XX:+UnlockExperimentalVMOptions -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+VerifyAfterGC -XX:+VerifyBeforeGC -XX:+VerifyDuringGC -Xbootclasspath/a:wb.jar -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UseParallelGC Case'


      ACTUAL -
       VerifyBeforeGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyAfterGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyBeforeGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyAfterGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyBeforeGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyAfterGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyBeforeGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyAfterGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyBeforeGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyAfterGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyBeforeGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
       VerifyAfterGC:[Verifying Threads Heap tenured eden SymbolTable StringTable CodeCache SystemDictionary MetaspaceAux JNIHandles C-heap CodeCache Oops ]
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0x00007f6e4950d271, pid=30195, tid=0x00007f6e49fd7640
      #
      # JRE version: Java(TM) SE Runtime Environment (8.0_361) (build 1.8.0_361-b09)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.361-b09 mixed mode linux-amd64 compressed oops)
      # Problematic frame:
      # V [libjvm.so+0x70d271] JVM_Clone+0x7e1
      #
      # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
      #
      # An error report file with more information is saved as:
      # /home/alex/projects/GCFuzzing/hs_err_pid30195.log
      Compiled method (nm) 144 93 n 0 java.lang.Object::clone (native)
       total in heap [0x00007f6e352d63d0,0x00007f6e352d6738] = 872
       relocation [0x00007f6e352d64f8,0x00007f6e352d6540] = 72
       main code [0x00007f6e352d6540,0x00007f6e352d6738] = 504
      Compiled method (nm) 144 93 n 0 java.lang.Object::clone (native)
       total in heap [0x00007f6e352d63d0,0x00007f6e352d6738] = 872
       relocation [0x00007f6e352d64f8,0x00007f6e352d6540] = 72
       main code [0x00007f6e352d6540,0x00007f6e352d6738] = 504
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.java.com/bugreport/crash.jsp
      #
      Aborted

      ---------- BEGIN SOURCE ----------
      import sun.hotspot.WhiteBox;

      public class Case {
          public static void main(String[] var0) {
              WhiteBox.getWhiteBox().youngGC();
          }
      }
      ---------- END SOURCE ----------

            ibereziuk Ivan Bereziuk
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: