-
Bug
-
Resolution: Fixed
-
P3
-
25
java/lang/Character/CheckProp.java intermittently fails during CCP. I can reproduce this by running the test in a loop with "-XX:+UseParallelGC -XX:-TieredCompilation -XX:+UseNUMA" on my Linux x64 machine.
Missed Value optimization:
dist dump
---------------------------------------------
1 1348 ConI === 0 [[ 4214 4183 4177 4179 4181 4194 4196 4198 4200 4202 4204 4206 4208 4210 4212 ]] #int:65535
1 4215 CastII === 854 346 [[ 4214 ]] #int unconditional dependency !jvms: CheckProp::main @ bci:225 (line 57)
0 4214 AndI === _ 4215 1348 [[ 433 ]] !orig=[856] !jvms: CharacterData01::getProperties @ bci:1 (line 71) CharacterData01::getType @ bci:2 (line 83) Character::getType @ bci:5 (line 11840) CheckProp::main @ bci:206 (line 54)
Current type:
top
Optimized type:
int:0
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/workspace/open/src/hotspot/share/opto/phaseX.cpp:1853), pid=167258, tid=167434
# assert(!failure) failed: PhaseCCP not at fixpoint: analysis result may be unsound.
#
# JRE version: Java(TM) SE Runtime Environment (25.0+12) (fastdebug build 25-ea+12-LTS-1237)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-ea+12-LTS-1237, mixed mode, compressed class ptrs, z gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x15f2e2d] PhaseCCP::analyze()+0x65d
#
Current CompileTask:
C2:10185 773 CheckProp::main (615 bytes)
Stack: [0x00007facea366000,0x00007facea466000], sp=0x00007facea461160, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x15f2e2d] PhaseCCP::analyze()+0x65d (phaseX.cpp:1853)
V [libjvm.so+0xa65974] Compile::Optimize()+0x754 (compile.cpp:2396)
V [libjvm.so+0xa69c5f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b9f (compile.cpp:848)
V [libjvm.so+0x8b4da5] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5 (c2compiler.cpp:141)
V [libjvm.so+0xa76528] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928 (compileBroker.cpp:2331)
V [libjvm.so+0xa77268] CompileBroker::compiler_thread_loop()+0x528 (compileBroker.cpp:1975)
V [libjvm.so+0xf417de] JavaThread::thread_main_inner()+0xee (javaThread.cpp:776)
V [libjvm.so+0x18962d6] Thread::call_run()+0xb6 (thread.cpp:231)
V [libjvm.so+0x156e458] thread_native_entry(Thread*)+0x128 (os_linux.cpp:877)
This is a regression fromJDK-8346664 in JDK 25 b11.
Missed Value optimization:
dist dump
---------------------------------------------
1 1348 ConI === 0 [[ 4214 4183 4177 4179 4181 4194 4196 4198 4200 4202 4204 4206 4208 4210 4212 ]] #int:65535
1 4215 CastII === 854 346 [[ 4214 ]] #int unconditional dependency !jvms: CheckProp::main @ bci:225 (line 57)
0 4214 AndI === _ 4215 1348 [[ 433 ]] !orig=[856] !jvms: CharacterData01::getProperties @ bci:1 (line 71) CharacterData01::getType @ bci:2 (line 83) Character::getType @ bci:5 (line 11840) CheckProp::main @ bci:206 (line 54)
Current type:
top
Optimized type:
int:0
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/workspace/open/src/hotspot/share/opto/phaseX.cpp:1853), pid=167258, tid=167434
# assert(!failure) failed: PhaseCCP not at fixpoint: analysis result may be unsound.
#
# JRE version: Java(TM) SE Runtime Environment (25.0+12) (fastdebug build 25-ea+12-LTS-1237)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-ea+12-LTS-1237, mixed mode, compressed class ptrs, z gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x15f2e2d] PhaseCCP::analyze()+0x65d
#
Current CompileTask:
C2:10185 773 CheckProp::main (615 bytes)
Stack: [0x00007facea366000,0x00007facea466000], sp=0x00007facea461160, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x15f2e2d] PhaseCCP::analyze()+0x65d (phaseX.cpp:1853)
V [libjvm.so+0xa65974] Compile::Optimize()+0x754 (compile.cpp:2396)
V [libjvm.so+0xa69c5f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b9f (compile.cpp:848)
V [libjvm.so+0x8b4da5] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5 (c2compiler.cpp:141)
V [libjvm.so+0xa76528] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928 (compileBroker.cpp:2331)
V [libjvm.so+0xa77268] CompileBroker::compiler_thread_loop()+0x528 (compileBroker.cpp:1975)
V [libjvm.so+0xf417de] JavaThread::thread_main_inner()+0xee (javaThread.cpp:776)
V [libjvm.so+0x18962d6] Thread::call_run()+0xb6 (thread.cpp:231)
V [libjvm.so+0x156e458] thread_native_entry(Thread*)+0x128 (os_linux.cpp:877)
This is a regression from
- caused by
-
JDK-8346664 C2: Optimize mask check with constant offset
-
- Resolved
-
- duplicates
-
JDK-8353944 C2 crash: Not monotonic in PhaseCCP::verify_type
-
- Closed
-
- links to
-
Commit(master) openjdk/jdk/4954a336
-
Review(master) openjdk/jdk/23871