-
Bug
-
Resolution: Duplicate
-
P3
-
8u361
-
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 ----------
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 ----------
- duplicates
-
JDK-8086053 Address inconsistencies regarding ZeroTLAB
- Resolved