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

Reply via email to