ADDITIONAL SYSTEM INFORMATION :
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 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
$ java -version
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)
$ jdk24u/bin/java -version
openjdk version "24-internal" 2025-03-18
OpenJDK Runtime Environment (fastdebug build 24-internal-adhoc.user.jdk24u)
OpenJDK 64-Bit Server VM (fastdebug build 24-internal-adhoc.user.jdk24u, mixed mode)
A DESCRIPTION OF THE PROBLEM :
When running the following testcase with JDK24u (compiled from the latest version of source code obtained from the JDK repository on GitHub), a "fatal error: DEBUG MESSAGE: Initialized Assertion Predicate cannot fail" error occurs. We've simplified the testcase to some extent, and there don't appear to be any obvious structural errors. After enabling the -Xint option, the JDK no longer reports this error, so we suspect it might be related to a JIT issue.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
javac -source 17 -target 17 -Xlint:none -encoding UTF-8 -cp . Test.java
path-to-jdk24u/bin/java Test
ACTUAL -
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data/user/jdk24u/src/hotspot/cpu/x86/macroAssembler_x86.cpp:832), pid=459454, tid=459456
# fatal error: DEBUG MESSAGE: Initialized Assertion Predicate cannot fail
#
# JRE version: OpenJDK Runtime Environment (24.0) (fastdebug build 24-internal-adhoc.user.jdk24u)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 24-internal-adhoc.user.jdk24u, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x137af29] MacroAssembler::debug64(char*, long, long*)+0x49
#
# No core dump will be written. 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:
# /data/user/JVM-Tesing-by-Anti-Optimization/toreport/Test4620_10_22_05_00_41/reduce/hs_err_pid459454.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
public class Test {
public static long a = -3625771290L;
public static int[] iArrFld = new int[400];
public static void test1() {
}
static int var0 = 0;
public static void test() {
int i1 = 1, i2 = -1;
do {
for (int i3 = 0; i3 < 20000; ++i3) {
var0++;
}
Test.a -= ((i2++) * (++Test.iArrFld[i1 - 1]));
for (int i8 = i1; i8 < 5; i8++) {
Test.a = -64136;
test1();
}
} while (++i1 < 336);
}
public static void main(String[] strArr) {
for (int i = 1; i < 100; ++i) {
Test.test();
}
}
}
---------- END SOURCE ----------
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 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
$ java -version
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)
$ jdk24u/bin/java -version
openjdk version "24-internal" 2025-03-18
OpenJDK Runtime Environment (fastdebug build 24-internal-adhoc.user.jdk24u)
OpenJDK 64-Bit Server VM (fastdebug build 24-internal-adhoc.user.jdk24u, mixed mode)
A DESCRIPTION OF THE PROBLEM :
When running the following testcase with JDK24u (compiled from the latest version of source code obtained from the JDK repository on GitHub), a "fatal error: DEBUG MESSAGE: Initialized Assertion Predicate cannot fail" error occurs. We've simplified the testcase to some extent, and there don't appear to be any obvious structural errors. After enabling the -Xint option, the JDK no longer reports this error, so we suspect it might be related to a JIT issue.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
javac -source 17 -target 17 -Xlint:none -encoding UTF-8 -cp . Test.java
path-to-jdk24u/bin/java Test
ACTUAL -
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data/user/jdk24u/src/hotspot/cpu/x86/macroAssembler_x86.cpp:832), pid=459454, tid=459456
# fatal error: DEBUG MESSAGE: Initialized Assertion Predicate cannot fail
#
# JRE version: OpenJDK Runtime Environment (24.0) (fastdebug build 24-internal-adhoc.user.jdk24u)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 24-internal-adhoc.user.jdk24u, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x137af29] MacroAssembler::debug64(char*, long, long*)+0x49
#
# No core dump will be written. 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:
# /data/user/JVM-Tesing-by-Anti-Optimization/toreport/Test4620_10_22_05_00_41/reduce/hs_err_pid459454.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
public class Test {
public static long a = -3625771290L;
public static int[] iArrFld = new int[400];
public static void test1() {
}
static int var0 = 0;
public static void test() {
int i1 = 1, i2 = -1;
do {
for (int i3 = 0; i3 < 20000; ++i3) {
var0++;
}
Test.a -= ((i2++) * (++Test.iArrFld[i1 - 1]));
for (int i8 = i1; i8 < 5; i8++) {
Test.a = -64136;
test1();
}
} while (++i1 < 336);
}
public static void main(String[] strArr) {
for (int i = 1; i < 100; ++i) {
Test.test();
}
}
}
---------- END SOURCE ----------
- duplicates
-
JDK-8332501 C2: fatal error: DEBUG MESSAGE: duplicated predicate failed which is impossible
- Closed