ADDITIONAL SYSTEM INFORMATION :
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
A DESCRIPTION OF THE PROBLEM :
When we run the testcase with JDK 17 and JDK 23, the JVM crashes. However, when we disable JIT compilation with the -Xint option, the JVM does not crash and keeps running, which is the expected result. We also tested using other JVMs such as OpenJ9, and OpenJ9 runs continuously as expected.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
java Test.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Runs normally and does not stop.
ACTUAL -
JVM crashes with hs_err file as above.
---------- BEGIN SOURCE ----------
class Test {
int g = 400;
int e;
void h() {
int[] iArr = new int[g];
for (int j = 0; j < iArr.length; j++)
iArr[j] = 55954;
for (int b : iArr)
for (int a = 1; a < 2000; a++)
try {
iArr[32] = 187 / b;
int var3 = 49294;
if (var3 <= 49294 / b)
e = var3;
} catch (ArithmeticException c) {
}
}
public static void main(String[] d) {
Test _instance = new Test();
for (;;)
_instance.h();
}
}
---------- END SOURCE ----------
FREQUENCY : always
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
A DESCRIPTION OF THE PROBLEM :
When we run the testcase with JDK 17 and JDK 23, the JVM crashes. However, when we disable JIT compilation with the -Xint option, the JVM does not crash and keeps running, which is the expected result. We also tested using other JVMs such as OpenJ9, and OpenJ9 runs continuously as expected.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
java Test.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Runs normally and does not stop.
ACTUAL -
JVM crashes with hs_err file as above.
---------- BEGIN SOURCE ----------
class Test {
int g = 400;
int e;
void h() {
int[] iArr = new int[g];
for (int j = 0; j < iArr.length; j++)
iArr[j] = 55954;
for (int b : iArr)
for (int a = 1; a < 2000; a++)
try {
iArr[32] = 187 / b;
int var3 = 49294;
if (var3 <= 49294 / b)
e = var3;
} catch (ArithmeticException c) {
}
}
public static void main(String[] d) {
Test _instance = new Test();
for (;;)
_instance.h();
}
}
---------- END SOURCE ----------
FREQUENCY : always
- duplicates
-
JDK-8331717 C2: Crash with SIGFPE
- Open
- relates to
-
JDK-8259227 C2 crashes with SIGFPE due to a division that floats above its zero check
- Resolved
-
JDK-8336729 C2: Div/Mod nodes without zero check could be split through iv phi of outer loop of long counted loop nest resulting in SIGFPE
- Resolved