JDK-8351457 : AOTLoaderConstraintsTest.java test hit assert CI
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 25
  • Priority: P4
  • Status: New
  • Resolution: Unresolved
  • OS: os_x
  • CPU: aarch64
  • Submitted: 2025-03-09
  • Updated: 2025-03-10
Related Reports
Relates :  
Description
During mainline change pre-integration testing the test crashed in CI on ARM64 MacOS:
runtime/cds/appcds/aotClassLinking/AOTLoaderConstraintsTest.java

Preliminary assigning to runtime to look since it happened during startup with -XX:AOTMode=create.

[~iklam] May be we should exclude running the test with -Xcomp.

#  Internal Error (/workspace/open/src/hotspot/share/ci/ciTypeFlow.hpp:334), pid=40939, tid=24323
#  assert(type_at_tos() == null_type() || type_at_tos()->is_array_klass()) failed: must be array type
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-03-07-2334168.jdkgit2)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-03-07-2334168.jdkgit2, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)

---------------  S U M M A R Y ------------

Command Line: -XX:MaxRAMPercentage=6.25 -Dtest.boot.jdk=/System/Volumes/Data/dk-23_macos-aarch64_bin.tar.gz/jdk-23.jdk/Contents/Home -Djava.io.tmpdir=/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_tier2_runtime/tmp -Xcomp -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -XX:-TieredCompilation -XX:+DeoptimizeALot -Xbootclasspath/a:boot.jar -Xlog:class+loader+constraints=debug -Xlog:class+path=debug -Xlog:cds -Xlog:cds+heap=error -XX:AOTMode=create -XX:AOTConfiguration=AOTLoaderConstraintsTestApp.aotconfig -XX:AOTCache=AOTLoaderConstraintsTestApp.aot -Xlog:cds=debug,cds+class=debug,cds+heap=warning,cds+resolve=debug:file=AOTLoaderConstraintsTestApp.aot.log::filesize=0 

Host:  "Mac14,3" arm64, 8 cores, 16G, Darwin 22.3.0, macOS 13.2.1 (22D68)
Time: Sat Mar  8 03:10:27 2025 GMT elapsed time: 0.792316 seconds (0d 0h 0m 0s)

---------------  T H R E A D  ---------------

Current thread (0x000000015884e210):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=24323, stack(0x000000016f2a4000,0x000000016f4a7000) (2060K)]


Current CompileTask:
C2:792  201 % !         java.util.concurrent.ConcurrentHashMap::transfer @ 96 (849 bytes)

Stack: [0x000000016f2a4000,0x000000016f4a7000],  sp=0x000000016f4a4780,  free space=2049k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.dylib+0x11b8ae4]  VMError::report(outputStream*, bool)+0x1b00  (ciTypeFlow.hpp:334)
V  [libjvm.dylib+0x11bc27c]  VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x56c
V  [libjvm.dylib+0x5861e8]  print_error_for_unit_test(char const*, char const*, char*)+0x0
V  [libjvm.dylib+0x44e270]  ciTypeFlow::StateVector::store_local_object(int)+0x0
V  [libjvm.dylib+0x44ddec]  ciTypeFlow::StateVector::apply_one_bytecode(ciBytecodeStream*)+0xb70
V  [libjvm.dylib+0x44a2f0]  ciTypeFlow::flow_block(ciTypeFlow::Block*, ciTypeFlow::StateVector*, ciTypeFlow::JsrSet*)+0x1b0
V  [libjvm.dylib+0x455458]  ciTypeFlow::flow_types()+0x2f8
V  [libjvm.dylib+0x455ea8]  ciTypeFlow::do_flow()+0xac
V  [libjvm.dylib+0x414c98]  ciMethod::get_flow_analysis()+0xc0
V  [libjvm.dylib+0x2a7454]  InlineTree::check_can_parse(ciMethod*)+0x74
V  [libjvm.dylib+0x39f528]  CallGenerator::for_osr(ciMethod*, int)+0x18
V  [libjvm.dylib+0x4d914c]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0xbac
V  [libjvm.dylib+0x39c6f4]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x21c
V  [libjvm.dylib+0x4f9428]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x920
V  [libjvm.dylib+0x4f87a8]  CompileBroker::compiler_thread_loop()+0x398
V  [libjvm.dylib+0x8d8e44]  JavaThread::thread_main_inner()+0x1c8
V  [libjvm.dylib+0x1103c1c]  Thread::call_run()+0xf4
V  [libjvm.dylib+0xe82a8c]  thread_native_entry(Thread*)+0x138
C  [libsystem_pthread.dylib+0x706c]  _pthread_start+0x94

Comments
It may be a intermittent failure as I do not reproduce it on my machine. @mac-m1-arm64-0 % git clone https://github.com/bulasevich/jdk.git jdk-bulasevich ; cd jdk-bulasevich @mac-m1-arm64-0 % git checkout mutable_data @mac-m1-arm64-0 % bash configure --with-boot-jdk=~/jdk-23.0.2.jdk --with-debug-level=fastdebug @mac-m1-arm64-0 % time make images @mac-m1-arm64-0 % ./jtreg/bin/jtreg -jdk:build/macosx-aarch64-server-fastdebug/images/jdk -javaoptions:-Xcomp test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/AOTLoaderConstraintsTest.java Test results: passed: 1
10-03-2025

I am wondering if this related to the issue we had in leyde/premain: JDK-8323692
09-03-2025