-
Bug
-
Resolution: Duplicate
-
P3
-
11, 17, 19, 20, 21
-
generic
-
generic
ADDITIONAL SYSTEM INFORMATION :
OS: Ubuntu 20.04.5 LTS
ARCH: x86_64
JAVA
- openjdk version "11.0.19-internal" 2023-04-18
- OpenJDK Runtime Environment (fastdebug build 11.0.19-internal+0-adhoc.simon.jdk11u-dev)
- OpenJDK 64-Bit Server VM (fastdebug build 11.0.19-internal+0-adhoc.simon.jdk11u-dev, mixed mode)
JAVAC: javac 11.0.19-internal
A DESCRIPTION OF THE PROBLEM :
The code makes JVM crash with the following assertion error:
# Internal Error (/home/simon/JVMs/jdk11u-dev/src/hotspot/cpu/x86/macroAssembler_x86.cpp:903), pid=2070734, tid=2070735
# assert(false) failed: DEBUG MESSAGE: duplicated predicate failed which is impossible
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. javac T.java
2. java -XX:-BackgroundCompilation -XX:-PrintCompilation --illegal-access=deny T
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No crash
ACTUAL -
JVM crashed
---------- BEGIN SOURCE ----------
class T {
long a;
float f;
boolean b;
int g[] = new int[256];
void foo() {
int j = 1, k;
do {
for (k = 22 + 256; k > 1; --k) f -= j;
switch (j + 49) {
case 50:
switch (92) {
case 92:
b = b;
}
case 51:
g[j] += a;
}
} while (++j < 228);
}
public static void main(String[] g) {
T t = new T();
for (; ; ) t.foo();
}
}
---------- END SOURCE ----------
FREQUENCY : always
OS: Ubuntu 20.04.5 LTS
ARCH: x86_64
JAVA
- openjdk version "11.0.19-internal" 2023-04-18
- OpenJDK Runtime Environment (fastdebug build 11.0.19-internal+0-adhoc.simon.jdk11u-dev)
- OpenJDK 64-Bit Server VM (fastdebug build 11.0.19-internal+0-adhoc.simon.jdk11u-dev, mixed mode)
JAVAC: javac 11.0.19-internal
A DESCRIPTION OF THE PROBLEM :
The code makes JVM crash with the following assertion error:
# Internal Error (/home/simon/JVMs/jdk11u-dev/src/hotspot/cpu/x86/macroAssembler_x86.cpp:903), pid=2070734, tid=2070735
# assert(false) failed: DEBUG MESSAGE: duplicated predicate failed which is impossible
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. javac T.java
2. java -XX:-BackgroundCompilation -XX:-PrintCompilation --illegal-access=deny T
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No crash
ACTUAL -
JVM crashed
---------- BEGIN SOURCE ----------
class T {
long a;
float f;
boolean b;
int g[] = new int[256];
void foo() {
int j = 1, k;
do {
for (k = 22 + 256; k > 1; --k) f -= j;
switch (j + 49) {
case 50:
switch (92) {
case 92:
b = b;
}
case 51:
g[j] += a;
}
} while (++j < 228);
}
public static void main(String[] g) {
T t = new T();
for (; ; ) t.foo();
}
}
---------- END SOURCE ----------
FREQUENCY : always
- duplicates
-
JDK-8332501 C2: fatal error: DEBUG MESSAGE: duplicated predicate failed which is impossible
- Closed
-
JDK-8320920 C2: fatal error: DEBUG MESSAGE: duplicated predicate failed which is impossible
- Closed
-
JDK-8288981 C2: Fix issues with skeleton predicates
- In Progress
- relates to
-
JDK-8229495 SIGILL in C2 generated OSR compilation
- Closed
-
JDK-8314116 C2: assert(false) failed: malformed control flow after JDK-8305636
- Resolved