The following test failed in the JDK22 CI:
applications/dacapo/Dacapo.java
Here's a log file snippet:
[2023-08-14T16:44:20.719572645Z] Gathering output for process 2923408
[2023-08-14T16:44:26.914356850Z] Waiting for completion for process 2923408
[2023-08-14T16:44:26.915487848Z] Waiting for completion finished for process 2923408
[stress.process.out] #
[stress.process.out] # A fatal error has been detected by the Java Runtime Environment:
[stress.process.out] #
[stress.process.out] # Internal Error (/opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S135058/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/3119c4a0-64a4-4064-a3b4-4497f656b3ab/runs/f39436ef-9705-4317-a63d-5bfeadc2260c/workspace/open/src/hotspot/share/opto/loopTransform.cpp:2086), pid=2919906, tid=2919924
[stress.process.out] # assert(assertion_predicate_has_loop_opaque_node(iff)) failed: unexpected
[stress.process.out] #
[stress.process.out] # JRE version: Java(TM) SE Runtime Environment (22.0+11) (fastdebug build 22-ea+11-746)
[stress.process.out] # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-ea+11-746, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
[stress.process.out] # Problematic frame:
[stress.process.out] # V [libjvm.so+0x1146b34] PhaseIdealLoop::initialize_assertion_predicates_for_peeled_loop(PredicateBlock const*, LoopNode*, int, Node*, Node*, IdealLoopTree*, unsigned int, Node_List const&)+0x544
[stress.process.out] #
[stress.process.out] # Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S9466/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/8cbeb22b-60b4-488d-b76b-e5b2686bfd68/runs/d4662e77-d3a1-4b3e-b987-88fac60d185b/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_dacapo_Dacapo_java/scratch/0/core.2919906)
[stress.process.out] #
[stress.process.out] Unsupported internal testing APIs have been used.
[stress.process.out]
[stress.process.out] # An error report file with more information is saved as:
[stress.process.out] # /opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S9466/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/8cbeb22b-60b4-488d-b76b-e5b2686bfd68/runs/d4662e77-d3a1-4b3e-b987-88fac60d185b/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_dacapo_Dacapo_java/scratch/0/hs_err_pid2919906.log
[stress.process.out] [thread 2922836 also had an error]
Here's the crashing thread's stack:
--------------- T H R E A D ---------------
Current thread (0x0000ffff902a7510): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=2919924, stack(0x0000ffff64045000,0x0000ffff64243000) (2040K)]
Current CompileTask:
C2: 638586 54322 4 net.sourceforge.pmd.lang.java.metrics.impl.visitors.AtfdBaseVisitor::visit (46 bytes)
Stack: [0x0000ffff64045000,0x0000ffff64243000], sp=0x0000ffff6423d6b0, free space=2017k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1146b34] PhaseIdealLoop::initialize_assertion_predicates_for_peeled_loop(PredicateBlock const*, LoopNode*, int, Node*, Node*, IdealLoopTree*, unsigned int, Node_List const&)+0x544 (loopTransform.cpp:2086)
V [libjvm.so+0x1147308] PhaseIdealLoop::do_peeling(IdealLoopTree*, Node_List&)+0x7c8 (loopTransform.cpp:783)
V [libjvm.so+0x1148d20] PhaseIdealLoop::do_maximally_unroll(IdealLoopTree*, Node_List&)+0xb0 (loopTransform.cpp:2383)
V [libjvm.so+0x117faec] PhaseIdealLoop::build_and_optimize()+0x112c (loopnode.cpp:4509)
V [libjvm.so+0x90a9b4] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x2b4 (loopnode.hpp:1108)
V [libjvm.so+0x9074a0] Compile::Optimize()+0x650 (compile.cpp:2302)
V [libjvm.so+0x909448] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1508 (compile.cpp:850)
V [libjvm.so+0x760810] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x110 (c2compiler.cpp:119)
V [libjvm.so+0x915394] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x8e4 (compileBroker.cpp:2276)
V [libjvm.so+0x915dc4] CompileBroker::compiler_thread_loop()+0x594 (compileBroker.cpp:1944)
V [libjvm.so+0xdaf26c] JavaThread::thread_main_inner()+0xec (javaThread.cpp:720)
V [libjvm.so+0x160e904] Thread::call_run()+0xb0 (thread.cpp:217)
V [libjvm.so+0x1369498] thread_native_entry(Thread*)+0x138 (os_linux.cpp:783)
C [libpthread.so.0+0x7908] start_thread+0x188