JDK 21 |
---|
21Resolved |
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
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
|