Hello Chen Liang,
The exploded image optimization step runs the newly built JDK (in the
exploded image) to generate data for itself. This means that if you
change something fundamental in the JDK core libraries or the JVM, that
may cause crashes in this build step. To diagnose further, you can
run/debug the exploded image directly.
/Erik
On 8/31/23 19:54, - wrote:
Hello,
I am trying to create a patch [1] that optimizes forEach for immutable
factory collections (from List/Set.of) to see how it compares with
constant-folded random access. However, this patch somehow tampers
with exploded image optimization and modules during build, and I
cannot build this patch on my windows 11 device.
I have tried using both Oracle JDK 20 build 20+36-2344 (in JAVA_HOME)
and the JDK 21 build 35 as boot JDK. JDK 20 fails with an IAE with
message "Bad package name" (seems to be from modules.cpp) and JDK 21
fails with an NPE 'java.lang.NullPointerException: Cannot invoke
"java.lang.module.ResolvedModule.name
<http://java.lang.module.ResolvedModule.name>()" because
"resolvedModules[index]" is null', both happening after reconfiguring
and cleaning. These are my command-line:
bash configure --with-boot-jdk=/cygdrive/c/java/boot/jdk-21
--enable-hsdis-bundling --with-hsdis=capstone
--with-capstone=/cygdrive/c/java/capstone-4.0.2-win64
--with-jmh=build/jmh/jars --with-conf-name=windows-x64
--enable-jtreg-failure-handler
Does anybody have any clue on why my patch fails the build? And how
can I resolve this problem?
Chen Liang
[1] https://github.com/liachmodded/jdk/pull/new/feature/imm-coll-stream