-
Bug
-
Resolution: Fixed
-
P2
-
21, 22, 23
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8330034 | 22.0.2 | Christian Hagedorn | P2 | Closed | Fixed | b04 |
JDK-8330035 | 21.0.4-oracle | Christian Hagedorn | P2 | Closed | Fixed | b04 |
JDK-8330055 | 21.0.4 | Aleksey Shipilev | P2 | Resolved | Fixed | b01 |
java -XX:-TieredCompilation -Xbatch -XX:CompileCommand=compileonly,Crash::* Crash.java
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/workspace/open/src/hotspot/share/opto/graphKit.hpp:369), pid=2866297, tid=2866311
# assert(argument(0)->bottom_type()->isa_ptr()) failed: must be
#
# JRE version: Java(TM) SE Runtime Environment (23.0+14) (fastdebug build 23-ea+14-1026)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-ea+14-1026, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x1221fc3] LibraryCallKit::inline_native_getClass()+0x133
Current CompileTask:
C2:2232 110 b Crash::compileRoot (19 bytes)
Stack: [0x00007f2101bfc000,0x00007f2101cfd000], sp=0x00007f2101cf8b30, free space=1010k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1221fc3] LibraryCallKit::inline_native_getClass()+0x133 (graphKit.hpp:369)
V [libjvm.so+0x1242284] LibraryIntrinsic::generate(JVMState*)+0x1e4
V [libjvm.so+0xb8dc42] Parse::do_call()+0x602
V [libjvm.so+0x151d778] Parse::do_one_bytecode()+0x328
V [libjvm.so+0x150b38a] Parse::do_one_block()+0x20a
V [libjvm.so+0x150c846] Parse::do_all_blocks()+0x136
V [libjvm.so+0x1510b85] Parse::Parse(JVMState*, ciMethod*, float)+0xb15
V [libjvm.so+0x84be49] ParseGenerator::generate(JVMState*)+0x169
V [libjvm.so+0xb8dc42] Parse::do_call()+0x602
V [libjvm.so+0x151d778] Parse::do_one_bytecode()+0x328
V [libjvm.so+0x150b38a] Parse::do_one_block()+0x20a
V [libjvm.so+0x150c846] Parse::do_all_blocks()+0x136
V [libjvm.so+0x1510b85] Parse::Parse(JVMState*, ciMethod*, float)+0xb15
V [libjvm.so+0x84be49] ParseGenerator::generate(JVMState*)+0x169
V [libjvm.so+0x9f542e] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x163e
V [libjvm.so+0x8498a5] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5
V [libjvm.so+0xa016d8] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928
V [libjvm.so+0xa02368] CompileBroker::compiler_thread_loop()+0x478
V [libjvm.so+0xebfccc] JavaThread::thread_main_inner()+0xcc
V [libjvm.so+0x17b9e66] Thread::call_run()+0xb6
V [libjvm.so+0x14bdb47] thread_native_entry(Thread*)+0x127
It's a regression from
#3 0x00007f27b716f804 in LibraryCallKit::inline_native_getClass (this=0x7f279b3f7cd0) at /oracle/valhalla/open/src/hotspot/share/opto/library_call.cpp:4948
4948 set_result(load_mirror_from_klass(load_object_klass(obj)));
(rr) p obj->dump(1)
0 Root === 0 70 106 [[ 0 1 3 20 21 22 33 38 53 56 65 76 97 101 ]]
1 Con === 0 [[ ]] #top
The underlying issue is that after
The problem is not specific to the Object.getClass() intrinsic. We just end up crashing when trying to intrinsify that method and encountering TOP. Using 'i.hashCode()' instead of 'getClass' will result in a different failure mode.
- backported by
-
JDK-8330055 C2: Crash during parsing because sub type check is not folded
- Resolved
-
JDK-8330034 C2: Crash during parsing because sub type check is not folded
- Closed
-
JDK-8330035 C2: Crash during parsing because sub type check is not folded
- Closed
- duplicates
-
JDK-8336713 C2: assert(argument(0)->bottom_type()->isa_ptr()) failed: must be
- Closed
- relates to
-
JDK-8329201 C2: Replace TypeInterfaces::intersection_with() + eq() with contains()
- Resolved
-
JDK-8297933 [REDO] Compiler should only use verified interface types for optimization
- Resolved
- links to
-
Commit openjdk/jdk21u-dev/249d8963
-
Commit openjdk/jdk22u/817cf138
-
Commit openjdk/jdk/e5e21a8a
-
Review openjdk/jdk21u-dev/450
-
Review openjdk/jdk22u/125
-
Review openjdk/jdk/18512