-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P3
-
Affects Version/s: 11.0.30
-
Component/s: hotspot
-
generic
ADDITIONAL SYSTEM INFORMATION :
Software:
System Software Overview:
System Version: Ubuntu 22.04.4 LTS
Kernel Version: 4.15.0-45-generic
Boot Volume: overlay
Boot Mode: Legacy BIOS
Computer Name: 899309ef3feb
User Name: root
Time since boot: 21 weeks, 2 days, 6 hours, 47 minutes
Hardware:
Hardware Overview:
Model: Unknown
Model Identifier: Unknown
Chip: Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
Total Number of Cores: 40 (10 physical x 2 logical)
Memory: 125Gi
System Firmware Version: Unknown
A DESCRIPTION OF THE PROBLEM :
The HotSpot JVM crashes with a segmentation fault (SIGSEGV) when C2-compiled code attempts to call the .get() method of a WeakReference subclass where the instance is null. The crash is bypassed in interpreted mode (-Xint), indicating a miscompilation or an issue in the C2 intrinsic for Reference.get().
REGRESSION : Java version that customer using for 11.0.30, 17.0.18
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. javac Test.java
2. java -Xcomp Test-> CRASH
3. java -Xint Test-> Program finishes successfully.
---------- BEGIN SOURCE ----------
import java.lang.ref.WeakReference;
class Test {
static final class MyReference<T> extends WeakReference<T> {
public MyReference(T referent) {
super(referent);
}
}
static void test(MyReference r) {
try {
r.get();
} catch (Exception e) {
}
}
public static void main(String[] args) {
MyReference<String[]> obj = new MyReference<>(args);
for (int i = 0; i < 50000; ++i) {
test(null);
}
}
}
---------- END SOURCE ----------
FREQUENCY :
ALWAYS
Software:
System Software Overview:
System Version: Ubuntu 22.04.4 LTS
Kernel Version: 4.15.0-45-generic
Boot Volume: overlay
Boot Mode: Legacy BIOS
Computer Name: 899309ef3feb
User Name: root
Time since boot: 21 weeks, 2 days, 6 hours, 47 minutes
Hardware:
Hardware Overview:
Model: Unknown
Model Identifier: Unknown
Chip: Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
Total Number of Cores: 40 (10 physical x 2 logical)
Memory: 125Gi
System Firmware Version: Unknown
A DESCRIPTION OF THE PROBLEM :
The HotSpot JVM crashes with a segmentation fault (SIGSEGV) when C2-compiled code attempts to call the .get() method of a WeakReference subclass where the instance is null. The crash is bypassed in interpreted mode (-Xint), indicating a miscompilation or an issue in the C2 intrinsic for Reference.get().
REGRESSION : Java version that customer using for 11.0.30, 17.0.18
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. javac Test.java
2. java -Xcomp Test-> CRASH
3. java -Xint Test-> Program finishes successfully.
---------- BEGIN SOURCE ----------
import java.lang.ref.WeakReference;
class Test {
static final class MyReference<T> extends WeakReference<T> {
public MyReference(T referent) {
super(referent);
}
}
static void test(MyReference r) {
try {
r.get();
} catch (Exception e) {
}
}
public static void main(String[] args) {
MyReference<String[]> obj = new MyReference<>(args);
for (int i = 0; i < 50000; ++i) {
test(null);
}
}
}
---------- END SOURCE ----------
FREQUENCY :
ALWAYS