-
Bug
-
Resolution: Fixed
-
P3
-
21, 22, 23
-
b15
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8334069 | 21.0.5-oracle | Tobias Hartmann | P3 | Resolved | Fixed | b01 |
JDK-8334210 | 21.0.5 | Martin Doerr | P3 | Resolved | Fixed | b01 |
#
# Internal Error (workspace/open/src/hotspot/share/opto/loopTransform.cpp:3304), pid=58340, tid=40195
# assert(locate_pre_from_main(main_head) == cl) failed: bad main loop
#
# JRE version: Java(TM) SE Runtime Environment (23.0+13) (fastdebug build 23-ea+13-927)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-ea+13-927, compiled mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
Current thread (0x00000001200ca410): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=24835, stack(0x000000016f170000,0x000000016f373000) (2060K)]
Current CompileTask:
C2:302 73 b Test::mainTest (540 bytes)
Stack: [0x000000016f170000,0x000000016f373000], sp=0x000000016f36e970, free space=2042k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x112b6bc] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x564 (loopTransform.cpp:3304)
V [libjvm.dylib+0x112bedc] VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*)+0x0
V [libjvm.dylib+0x55bee4] print_error_for_unit_test(char const*, char const*, char*)+0x0
V [libjvm.dylib+0xc72bb0] IdealLoopTree::remove_main_post_loops(CountedLoopNode*, PhaseIdealLoop*)+0x120
V [libjvm.dylib+0xc7300c] IdealLoopTree::do_remove_empty_loop(PhaseIdealLoop*)+0x134
V [libjvm.dylib+0xc74510] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x84
V [libjvm.dylib+0xc74ccc] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0xec
V [libjvm.dylib+0xc74d98] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x1b8
V [libjvm.dylib+0xc74d98] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x1b8
V [libjvm.dylib+0xc950e0] PhaseIdealLoop::build_and_optimize()+0xaa8
V [libjvm.dylib+0x4d5158] PhaseIdealLoop::PhaseIdealLoop(PhaseIterGVN&, LoopOptsMode)+0x184
V [libjvm.dylib+0x4c7b30] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x6c
V [libjvm.dylib+0x4c7fa8] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x68
V [libjvm.dylib+0x4c13a0] Compile::Optimize()+0x98c
V [libjvm.dylib+0x4bf810] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1234
V [libjvm.dylib+0x388fd0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1e0
V [libjvm.dylib+0x4ddc50] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x854
V [libjvm.dylib+0x4dd094] CompileBroker::compiler_thread_loop()+0x348
V [libjvm.dylib+0x8b37d8] JavaThread::thread_main_inner()+0x1dc
V [libjvm.dylib+0x106f57c] Thread::call_run()+0xf4
V [libjvm.dylib+0xe325a0] thread_native_entry(Thread*)+0x138
C [libsystem_pthread.dylib+0x7240] _pthread_start+0x94
- backported by
-
JDK-8334069 C2 remove_main_post_loops: check if main-loop belongs to pre-loop, not just assert
- Resolved
-
JDK-8334210 C2 remove_main_post_loops: check if main-loop belongs to pre-loop, not just assert
- Resolved
- relates to
-
JDK-8297724 Loop strip mining prevents some empty loops from being eliminated
- Resolved
-
JDK-8085832 Optimize main and post loop out when pre loop is found empty
- Resolved
- links to
-
Commit openjdk/jdk21u-dev/4cd947b6
-
Commit openjdk/jdk/fadc4b19
-
Review openjdk/jdk21u-dev/701
-
Review openjdk/jdk/18200