The following test failed in the JDK21 CI:
tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java
Here's a snippet from the log file:
----------stdout:(33/3974)----------
Missed optimization (PhaseCCP):
dist dump
---------------------------------------------
1 4555 CheckCastPP === _ 599 [[ 3406 ]] #java/util/List:NotNull * Interface:java/util/List:NotNull * !jvms: HashMap::putVal @ bci:59 (line 637) HashMap::put @ bci:9 (line 618) HashSet::add @ bci:8 (line 229) JavacProcessingEnvironment$ComputeAnnotationSet::addAnnotations @ bci:56 (line 1002) JavacProcessingEnvironment$ComputeAnnotationSet::scan @ bci:3 (line 1008) JavacProcessingEnvironment$ComputeAnnotationSet::scan @ bci:6 (line 969) ElementScanner6::scan @ bci:39 (line 138) JavacProcessingEnvironment$ComputeAnnotationSet::visitType @ bci:8 (line 987) JavacProcessingEnvironment$ComputeAnnotationSet::visitType @ bci:6 (line 969) Symbol$ClassSymbol::accept @ bci:3 (line 1573)
1 598 CheckCastPP === _ 1034 [[ 2260 3399 3398 3993 1285 892 891 2033 2709 3395 855 857 858 859 876 2724 861 862 864 878 1068 269 267 887 886 868 885 1060 869 884 3406 883 1991 882 272 879 870 871 872 264 1286 875 ]] #java/util/List * Interface:java/util/List * !jvms: List$3::hasNext @ bci:4 (line 465) Symbol::getTypeParameters @ bci:20 (line 745) Symbol$ClassSymbol::getTypeParameters @ bci:1 (line 1257) JavacProcessingEnvironment$ComputeAnnotationSet::visitType @ bci:2 (line 987) JavacProcessingEnvironment$ComputeAnnotationSet::visitType @ bci:6 (line 969) Symbol$ClassSymbol::accept @ bci:3 (line 1573)
1 3403 Region === 3403 1992 4553 [[ 3403 4554 3404 3997 3406 2261 ]] !jvms: JavacProcessingEnvironment$ComputeAnnotationSet::addAnnotations @ bci:10 (line 1000) JavacProcessingEnvironment$ComputeAnnotationSet::scan @ bci:3 (line 1008) JavacProcessingEnvironment$ComputeAnnotationSet::scan @ bci:6 (line 969) ElementScanner6::scan @ bci:39 (line 138) JavacProcessingEnvironment$ComputeAnnotationSet::visitType @ bci:8 (line 987) JavacProcessingEnvironment$ComputeAnnotationSet::visitType @ bci:6 (line 969) Symbol$ClassSymbol::accept @ bci:3 (line 1573)
0 3406 Phi === 3403 598 4555 [[ 2261 ]] #java/util/List * Interface:java/util/List *
Current type:
java/util/List *
Optimized type:
java/util/List:NotNull *
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/phaseX.cpp:1852
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S151577/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/3cb0c0ac-0a87-4eeb-9c4a-866b5a5e0d49/runs/65721b5f-4cd4-48a1-9bd4-1b11e51533e9/workspace/open/src/hotspot/share/opto/phaseX.cpp:1852), pid=1186590, tid=1186614
# assert(!failure) failed: Missed optimization opportunity in PhaseCCP
#
# JRE version: Java(TM) SE Runtime Environment (21.0+2) (fastdebug build 21-ea+2-LTS-10)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-ea+2-LTS-10, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x1572074] PhaseCCP::verify_analyze(Unique_Node_List&)+0x3a4
#
# 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/91e16c40-06d4-468a-9fc3-7198a5bb7d5a-S33379/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/310c06ca-8392-417f-b3e5-fec7a4dd1a8f/runs/f8843709-dfd4-4312-bdcc-1f917cdf7ea5/testoutput/test-support/jtreg_open_test_langtools_tier1/scratch/3/core.1186590)
#
# An error report file with more information is saved as:
# /opt/mach5/mesos/work_dir/slaves/91e16c40-06d4-468a-9fc3-7198a5bb7d5a-S33379/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/310c06ca-8392-417f-b3e5-fec7a4dd1a8f/runs/f8843709-dfd4-4312-bdcc-1f917cdf7ea5/testoutput/test-support/jtreg_open_test_langtools_tier1/scratch/3/hs_err_pid1186590.log
[thread 1192282 also had an error]
------ Timeout during error reporting after 120 s. ------
# [ timer expired, abort... ]
----------System.out:(454/30720)----------
Here's the crashing thread's stack:
--------------- T H R E A D ---------------
Current thread (0x0000fffdec411580): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=1186614, stack(0x0000fffdc2d10000,0x0000fffdc2f10000)]
Current CompileTask:
C2: 239098 14513 4 com.sun.tools.javac.code.Symbol$ClassSymbol::accept (9 bytes)
Stack: [0x0000fffdc2d10000,0x0000fffdc2f10000], sp=0x0000fffdc2f0ab20, free space=2026k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1572074] PhaseCCP::verify_analyze(Unique_Node_List&)+0x3a4 (phaseX.cpp:1852)
V [libjvm.so+0x1575fb0] PhaseCCP::analyze()+0x490 (phaseX.cpp:1808)
V [libjvm.so+0x9a219c] Compile::Optimize()+0x4fc (compile.cpp:2360)
V [libjvm.so+0x9a535c] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x11cc (compile.cpp:830)
V [libjvm.so+0x7c44b8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1b4 (c2compiler.cpp:113)
V [libjvm.so+0x9b1ba4] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa10 (compileBroker.cpp:2237)
V [libjvm.so+0x9b2608] CompileBroker::compiler_thread_loop()+0x5b8 (compileBroker.cpp:1916)
V [libjvm.so+0xed1fb0] JavaThread::thread_main_inner()+0x21c (javaThread.cpp:709)
V [libjvm.so+0x17d7558] Thread::call_run()+0xf8 (thread.cpp:224)
V [libjvm.so+0x14efdf4] thread_native_entry(Thread*)+0x100 (os_linux.cpp:739)
C [libpthread.so.0+0x7908] start_thread+0x188
This failure started in jdk-21+2-10-tier4 and that build-ID includes
a single changeset:
JDK-8257197 Add additional verification code to PhaseCCP
I suspect that this is a regression caused by JDK-8257197
so I've labeled it as a regression and started this bug at P2.