Open cmeiklejohn-dd opened 3 months ago
Replacing -H:+TraceClassInitialization
(deprecated in GraalVM > 20.0.3) with --trace-class-initialization=com.softinstigate.App
provides no further information.
% ./target/cog
targets is empty
Java version:
java version "21.0.3" 2024-04-16 LTS
Java(TM) SE Runtime Environment Oracle GraalVM 21.0.3+7.1 (build 21.0.3+7-LTS-jvmci-23.1-b37)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.3+7.1 (build 21.0.3+7-LTS-jvmci-23.1-b37, mixed mode, sharing)
Some further debugging:
When I disable the System.out.println()
's it looks like it's actually doing the static initializer at build time; otherwise, it looks like the output of the build debugging (-H:+PrintClassInitialization
) shows that class as not included. This changes when removing the System.out.println()
-- where the class will appear in that list shown with BUILD_TIME
.
In the GraalVM documentation, it seems to indicate that any classes that use native code APIs (e.g.,println
) will skip the static initialization at build time and defer until runtime.
This is the exact behavior I'm seeing in my related issue I filed for classgraph.
First, use the tracing agent to generate profiling data:
java -agentlib:native-image-agent=config-merge-dir=src/main/resources/META-INF/native-image/com.softinstigate/classgraph-on-graalvm/ -jar target/classgraph-on-graalvm-1.0-SNAPSHOT.jar
Then, try to recompile again with native-image
:
% mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] --------------< com.softinstigate:classgraph-on-graalvm >---------------
[INFO] Building classgraph-on-graalvm 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ classgraph-on-graalvm ---
[INFO] Deleting /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ classgraph-on-graalvm ---
[INFO] Copying 7 resources from src/main/resources to target/classes
[INFO]
[INFO] --- compiler:3.13.0:compile (default-compile) @ classgraph-on-graalvm ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 4 source files with javac [debug release 11] to target/classes
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ classgraph-on-graalvm ---
[INFO] skip non existing resourceDirectory /Users/c.meiklejohn/Projects/classgraph-on-graalvm/src/test/resources
[INFO]
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ classgraph-on-graalvm ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 1 source file with javac [debug release 11] to target/test-classes
[INFO]
[INFO] --- surefire:3.2.5:test (default-test) @ classgraph-on-graalvm ---
[INFO] Using auto detected provider org.apache.maven.surefire.junit.JUnit3Provider
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.softinstigate.AppTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 s -- in com.softinstigate.AppTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- jar:3.2.0:jar (default-jar) @ classgraph-on-graalvm ---
[INFO] Building jar: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- shade:3.2.1:shade (default) @ classgraph-on-graalvm ---
[INFO] Including io.github.classgraph:classgraph:jar:4.8.173 in the shaded jar.
[INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar with /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT-shaded.jar
[INFO] Dependency-reduced POM written at: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/dependency-reduced-pom.xml
[INFO]
[INFO] --- native-image:20.2.0:native-image (default) @ classgraph-on-graalvm ---
[INFO] ImageClasspath Entry: io.github.classgraph:classgraph:jar:4.8.173:compile (file:///Users/c.meiklejohn/.m2/repository/io/github/classgraph/classgraph/4.8.173/classgraph-4.8.173.jar)
[INFO] ImageClasspath Entry: com.softinstigate:classgraph-on-graalvm:jar:1.0-SNAPSHOT (file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar)
[WARNING] Version mismatch between native-image-maven-plugin (20.2.0) and native-image executable (Unknown)
[INFO] Executing: /Library/Java/JavaVirtualMachines/graalvm-jdk-21/Contents/Home/bin/native-image -cp /Users/c.meiklejohn/.m2/repository/io/github/classgraph/classgraph/4.8.173/classgraph-4.8.173.jar:/Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar -H:Class=com.softinstigate.App
Warning: Using a deprecated option --allow-incomplete-classpath from 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar'. Allowing an incomplete classpath is now the default. Use --link-at-build-time to report linking errors at image build time for a class or package.
Warning: The option '-H:Name=cog' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: The option '-H:+JNI' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: Please re-evaluate whether any experimental option is required, and either remove or unlock it. The build output lists all active experimental options, including where they come from and possible alternatives. If you think an experimental option should be considered as stable, please file an issue.
Warning: Option 'EnableAllSecurityServices' is deprecated and might be removed in a future release. Please refer to the GraalVM release notes.
========================================================================================================================
GraalVM Native Image: Generating 'cog' (executable)...
========================================================================================================================
[1/8] Initializing... (3.8s @ 0.15GB)
Java version: 21.0.3+7-LTS, vendor version: Oracle GraalVM 21.0.3+7.1
Graal compiler: optimization level: 2, target machine: armv8-a, PGO: off
C compiler: cc (apple, arm64, 15.0.0)
Garbage collector: Serial GC (max heap size: 80% of RAM)
1 user-specific feature(s):
- com.oracle.svm.thirdparty.gson.GsonFeature
------------------------------------------------------------------------------------------------------------------------
2 experimental option(s) unlocked:
- '-H:Name' (alternative API option(s): -o cog; origin(s): 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar')
- '-H:+JNI' (origin(s): 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar')
------------------------------------------------------------------------------------------------------------------------
Build resources:
- 26.49GB of memory (41.4% of 64.00GB system memory, determined at start)
- 10 thread(s) (100.0% of 10 available processor(s), determined at start)
# Printing 1 class initialization trace(s) of class(es) traced by TraceClassInitialization to: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/reports/traced_class_initialization_20240610_151034.txt
[2/8] Performing analysis... [*****] (14.1s @ 0.59GB)
6,301 reachable types (82.4% of 7,650 total)
8,433 reachable fields (55.3% of 15,247 total)
32,631 reachable methods (56.7% of 57,507 total)
2,108 types, 179 fields, and 1,977 methods registered for reflection
64 types, 69 fields, and 61 methods registered for JNI access
5 native libraries: -framework CoreServices, -framework Foundation, dl, pthread, z
Error: Unsupported features in 5 methods
Detailed message:
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@557a6f96: jdk.internal.module.ModuleReferences$JarModuleReader@557a6f96
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@336a123c: [module org.graalvm.nativeimage.pointsto, location=file:///Library/Java/JavaVirt...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@59acb12d: jdk.internal.module.ModuleReferences$JarModuleReader@59acb12d
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@59139019: [module org.graalvm.nativeimage.base, location=file:///Library/Java/JavaVirtualM...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@ab11a37: jdk.internal.module.ModuleReferences$JarModuleReader@ab11a37
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@2a18bad6: [module com.oracle.svm.svm_enterprise, location=file:///Library/Java/JavaVirtual...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@783c0448: jdk.internal.module.ModuleReferences$JarModuleReader@783c0448
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@561ea4ad: [module org.graalvm.nativeimage.objectfile, location=file:///Library/Java/JavaVi...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@1d483168: jdk.internal.module.ModuleReferences$JarModuleReader@1d483168
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@326b0ab4: [module org.graalvm.nativeimage.builder, location=file:///Library/Java/JavaVirtu...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
com.oracle.svm.core.util.UserError$UserException: Unsupported features in 5 methods
Detailed message:
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@557a6f96: jdk.internal.module.ModuleReferences$JarModuleReader@557a6f96
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@336a123c: [module org.graalvm.nativeimage.pointsto, location=file:///Library/Java/JavaVirt...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@59acb12d: jdk.internal.module.ModuleReferences$JarModuleReader@59acb12d
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@59139019: [module org.graalvm.nativeimage.base, location=file:///Library/Java/JavaVirtualM...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@ab11a37: jdk.internal.module.ModuleReferences$JarModuleReader@ab11a37
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@2a18bad6: [module com.oracle.svm.svm_enterprise, location=file:///Library/Java/JavaVirtual...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@783c0448: jdk.internal.module.ModuleReferences$JarModuleReader@783c0448
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@561ea4ad: [module org.graalvm.nativeimage.objectfile, location=file:///Library/Java/JavaVi...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@1d483168: jdk.internal.module.ModuleReferences$JarModuleReader@1d483168
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@326b0ab4: [module org.graalvm.nativeimage.builder, location=file:///Library/Java/JavaVirtu...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:248)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:814)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:592)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:550)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:539)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:721)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:143)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:98)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Unsupported features in 5 methods
Detailed message:
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@557a6f96: jdk.internal.module.ModuleReferences$JarModuleReader@557a6f96
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@336a123c: [module org.graalvm.nativeimage.pointsto, location=file:///Library/Java/JavaVirt...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@59acb12d: jdk.internal.module.ModuleReferences$JarModuleReader@59acb12d
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@59139019: [module org.graalvm.nativeimage.base, location=file:///Library/Java/JavaVirtualM...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@ab11a37: jdk.internal.module.ModuleReferences$JarModuleReader@ab11a37
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@2a18bad6: [module com.oracle.svm.svm_enterprise, location=file:///Library/Java/JavaVirtual...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@783c0448: jdk.internal.module.ModuleReferences$JarModuleReader@783c0448
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@561ea4ad: [module org.graalvm.nativeimage.objectfile, location=file:///Library/Java/JavaVi...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.util.jar.JarFile'
to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@1d483168: jdk.internal.module.ModuleReferences$JarModuleReader@1d483168
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@326b0ab4: [module org.graalvm.nativeimage.builder, location=file:///Library/Java/JavaVirtu...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@474b22e0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@474b22e0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@4fc4379a: {[module jdk.jdeps, location=jrt:/jdk.jdeps]=jdk.internal.module.SystemModuleFin...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260: jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260
reading static field java.lang.ClassLoader.scl
at com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86)
parsing method com.oracle.svm.core.jdk.Target_java_lang_ClassLoader.getSystemClassLoader(Target_java_lang_ClassLoader.java:86) reachable via the parsing context
at java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2756)
at com.oracle.svm.core.code.FactoryMethodHolder.ForkJoinPool_constructor_0891236a481326254f94238021cfe2ed84d740f4(generated:0)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.initializeCommonPool(RecomputedFields.java:382)
at com.oracle.svm.core.jdk.ForkJoinPoolCommonAccessor.get(RecomputedFields.java:374)
at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:416)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:668)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at java.lang.reflect.Executable.sharedToString(Executable.java:119)
at java.lang.reflect.Method.toString(Method.java:416)
at java.lang.reflect.AccessibleObject.canAccess(AccessibleObject.java)
at root method.(Unknown Source)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:129)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:809)
... 6 more
------------------------------------------------------------------------------------------------------------------------
1.0s (5.4% of total time) in 61 GCs | Peak RSS: 1.08GB | CPU load: 4.42
========================================================================================================================
Finished generating 'cog' in 18.1s.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20.875 s
[INFO] Finished at: 2024-06-10T15:10:35-04:00
[INFO] ------------------------------------------------------------------------
Oracle, GraalVM 17:
% mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] --------------< com.softinstigate:classgraph-on-graalvm >---------------
[INFO] Building classgraph-on-graalvm 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ classgraph-on-graalvm ---
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ classgraph-on-graalvm ---
[INFO] Copying 7 resources from src/main/resources to target/classes
[INFO]
[INFO] --- compiler:3.13.0:compile (default-compile) @ classgraph-on-graalvm ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 4 source files with javac [debug release 11] to target/classes
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ classgraph-on-graalvm ---
[INFO] skip non existing resourceDirectory /Users/c.meiklejohn/Projects/classgraph-on-graalvm/src/test/resources
[INFO]
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ classgraph-on-graalvm ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 1 source file with javac [debug release 11] to target/test-classes
[INFO]
[INFO] --- surefire:3.2.5:test (default-test) @ classgraph-on-graalvm ---
[INFO] Using auto detected provider org.apache.maven.surefire.junit.JUnit3Provider
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.softinstigate.AppTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s -- in com.softinstigate.AppTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- jar:3.2.0:jar (default-jar) @ classgraph-on-graalvm ---
[INFO] Building jar: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- shade:3.2.1:shade (default) @ classgraph-on-graalvm ---
[INFO] Including io.github.classgraph:classgraph:jar:4.8.173 in the shaded jar.
[INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar with /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT-shaded.jar
[INFO] Dependency-reduced POM written at: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/dependency-reduced-pom.xml
[INFO]
[INFO] --- native-image:20.2.0:native-image (default) @ classgraph-on-graalvm ---
[INFO] ImageClasspath Entry: io.github.classgraph:classgraph:jar:4.8.173:compile (file:///Users/c.meiklejohn/.m2/repository/io/github/classgraph/classgraph/4.8.173/classgraph-4.8.173.jar)
[INFO] ImageClasspath Entry: com.softinstigate:classgraph-on-graalvm:jar:1.0-SNAPSHOT (file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar)
[WARNING] Version mismatch between native-image-maven-plugin (20.2.0) and native-image executable (Unknown)
[INFO] Executing: /Library/Java/JavaVirtualMachines/graalvm-jdk-17.0.11+7.1/Contents/Home/bin/native-image -cp /Users/c.meiklejohn/.m2/repository/io/github/classgraph/classgraph/4.8.173/classgraph-4.8.173.jar:/Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar -H:Class=com.softinstigate.App
Warning: Using a deprecated option --allow-incomplete-classpath from 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar'. Allowing an incomplete classpath is now the default. Use --link-at-build-time to report linking errors at image build time for a class or package.
Warning: Option 'EnableAllSecurityServices' is deprecated and might be removed in a future release. Please refer to the GraalVM release notes.
========================================================================================================================
GraalVM Native Image: Generating 'cog' (executable)...
========================================================================================================================
Warning: Method java.lang.management.PlatformManagedObject.getInputArguments() not found.
[1/8] Initializing... (3.6s @ 0.17GB)
Java version: 17.0.11+7-LTS, vendor version: Oracle GraalVM 17.0.11+7.1
Graal compiler: optimization level: 2, target machine: armv8-a, PGO: off
C compiler: cc (apple, arm64, 15.0.0)
Garbage collector: Serial GC (max heap size: 80% of RAM)
# Printing 1 class initialization trace(s) of class(es) traced by TraceClassInitialization to: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/reports/traced_class_initialization_20240610_153049.txt
[2/8] Performing analysis... [******] (14.7s @ 0.62GB)
6,066 (83.40%) of 7,273 types reachable
8,339 (55.84%) of 14,934 fields reachable
31,775 (57.54%) of 55,220 methods reachable
1,992 types, 155 fields, and 1,844 methods registered for reflection
66 types, 77 fields, and 61 methods registered for JNI access
5 native libraries: -framework CoreServices, -framework Foundation, dl, pthread, z
Error: Unsupported features in 5 methods
Detailed message:
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@50e8ed74: jdk.internal.module.ModuleReferences$JarModuleReader@50e8ed74
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@44e95aca: [module com.oracle.svm.svm_enterprise, location=file:///Library/Java/JavaVirtual...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@57873798: jdk.internal.module.ModuleReferences$JarModuleReader@57873798
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@255582c8: [module org.graalvm.nativeimage.base, location=file:///Library/Java/JavaVirtualM...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@67ae164e: jdk.internal.module.ModuleReferences$JarModuleReader@67ae164e
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@737f90bc: [module org.graalvm.nativeimage.builder, location=file:///Library/Java/JavaVirtu...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@d55ce39: jdk.internal.module.ModuleReferences$JarModuleReader@d55ce39
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@3306f91b: [module org.graalvm.nativeimage.pointsto, location=file:///Library/Java/JavaVirt...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@1ce94898: jdk.internal.module.ModuleReferences$JarModuleReader@1ce94898
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@71041889: [module org.graalvm.nativeimage.objectfile, location=file:///Library/Java/JavaVi...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
com.oracle.svm.core.util.UserError$UserException: Unsupported features in 5 methods
Detailed message:
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@50e8ed74: jdk.internal.module.ModuleReferences$JarModuleReader@50e8ed74
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@44e95aca: [module com.oracle.svm.svm_enterprise, location=file:///Library/Java/JavaVirtual...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@57873798: jdk.internal.module.ModuleReferences$JarModuleReader@57873798
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@255582c8: [module org.graalvm.nativeimage.base, location=file:///Library/Java/JavaVirtualM...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@67ae164e: jdk.internal.module.ModuleReferences$JarModuleReader@67ae164e
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@737f90bc: [module org.graalvm.nativeimage.builder, location=file:///Library/Java/JavaVirtu...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@d55ce39: jdk.internal.module.ModuleReferences$JarModuleReader@d55ce39
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@3306f91b: [module org.graalvm.nativeimage.pointsto, location=file:///Library/Java/JavaVirt...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@1ce94898: jdk.internal.module.ModuleReferences$JarModuleReader@1ce94898
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@71041889: [module org.graalvm.nativeimage.objectfile, location=file:///Library/Java/JavaVi...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:248)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:798)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:582)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:539)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:408)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:612)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:134)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:94)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Unsupported features in 5 methods
Detailed message:
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@50e8ed74: jdk.internal.module.ModuleReferences$JarModuleReader@50e8ed74
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@44e95aca: [module com.oracle.svm.svm_enterprise, location=file:///Library/Java/JavaVirtual...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@57873798: jdk.internal.module.ModuleReferences$JarModuleReader@57873798
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@255582c8: [module org.graalvm.nativeimage.base, location=file:///Library/Java/JavaVirtualM...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@67ae164e: jdk.internal.module.ModuleReferences$JarModuleReader@67ae164e
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@737f90bc: [module org.graalvm.nativeimage.builder, location=file:///Library/Java/JavaVirtu...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@d55ce39: jdk.internal.module.ModuleReferences$JarModuleReader@d55ce39
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@3306f91b: [module org.graalvm.nativeimage.pointsto, location=file:///Library/Java/JavaVirt...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
Error: Detected a ZipFile object in the image heap. A ZipFile object contains pointers to unmanaged C memory and file descriptors, and these resources are no longer available at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.util.jar.JarFile. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
reading field jdk.internal.module.ModuleReferences$JarModuleReader.jf of constant
jdk.internal.module.ModuleReferences$JarModuleReader@1ce94898: jdk.internal.module.ModuleReferences$JarModuleReader@1ce94898
reading field java.util.concurrent.ConcurrentHashMap$Node.val of constant
java.util.concurrent.ConcurrentHashMap$Node@71041889: [module org.graalvm.nativeimage.objectfile, location=file:///Library/Java/JavaVi...
indexing into array java.util.concurrent.ConcurrentHashMap$Node[]@3af7fca0: [Ljava.util.concurrent.ConcurrentHashMap$Node;@3af7fca0
reading field java.util.concurrent.ConcurrentHashMap.table of constant
java.util.concurrent.ConcurrentHashMap@7718ff6b: {[module jdk.attach, location=jrt:/jdk.attach]=jdk.internal.module.SystemModuleF...
reading field jdk.internal.loader.BuiltinClassLoader.moduleToReader of constant
jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b: jdk.internal.loader.ClassLoaders$AppClassLoader@387c703b
reading field com.oracle.svm.core.hub.DynamicHubCompanion.classLoader of constant
com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b: com.oracle.svm.core.hub.DynamicHubCompanion@3ec4633b
reading field java.lang.Class.companion of constant
java.lang.Class@5dd37c65: class com.oracle.svm.core.jdk.UninterruptibleUtils$Integer
manually triggered rescan
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:129)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:793)
... 6 more
------------------------------------------------------------------------------------------------------------------------
0.8s (4.0% of total time) in 60 GCs | Peak RSS: 1.21GB | CPU load: 4.35
========================================================================================================================
Finished generating 'cog' in 18.5s.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20.764 s
[INFO] Finished at: 2024-06-10T15:30:49-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.graalvm.nativeimage:native-image-maven-plugin:20.2.0:native-image (default) on project classgraph-on-graalvm: Execution of /Library/Java/JavaVirtualMachines/graalvm-jdk-17.0.11+7.1/Contents/Home/bin/native-image -cp /Users/c.meiklejohn/.m2/repository/io/github/classgraph/classgraph/4.8.173/classgraph-4.8.173.jar:/Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar -H:Class=com.softinstigate.App returned non-zero result -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Community, GraalVM 22:
% mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] --------------< com.softinstigate:classgraph-on-graalvm >---------------
[INFO] Building classgraph-on-graalvm 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ classgraph-on-graalvm ---
[INFO] Deleting /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ classgraph-on-graalvm ---
[INFO] Copying 7 resources from src/main/resources to target/classes
[INFO]
[INFO] --- compiler:3.13.0:compile (default-compile) @ classgraph-on-graalvm ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 4 source files with javac [debug release 11] to target/classes
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ classgraph-on-graalvm ---
[INFO] skip non existing resourceDirectory /Users/c.meiklejohn/Projects/classgraph-on-graalvm/src/test/resources
[INFO]
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ classgraph-on-graalvm ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 1 source file with javac [debug release 11] to target/test-classes
[INFO]
[INFO] --- surefire:3.2.5:test (default-test) @ classgraph-on-graalvm ---
[INFO] Using auto detected provider org.apache.maven.surefire.junit.JUnit3Provider
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.softinstigate.AppTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 s -- in com.softinstigate.AppTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- jar:3.2.0:jar (default-jar) @ classgraph-on-graalvm ---
[INFO] Building jar: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- shade:3.2.1:shade (default) @ classgraph-on-graalvm ---
[INFO] Including io.github.classgraph:classgraph:jar:4.8.173 in the shaded jar.
[INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar with /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT-shaded.jar
[INFO] Dependency-reduced POM written at: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/dependency-reduced-pom.xml
[INFO]
[INFO] --- native-image:20.2.0:native-image (default) @ classgraph-on-graalvm ---
[INFO] ImageClasspath Entry: io.github.classgraph:classgraph:jar:4.8.173:compile (file:///Users/c.meiklejohn/.m2/repository/io/github/classgraph/classgraph/4.8.173/classgraph-4.8.173.jar)
[INFO] ImageClasspath Entry: com.softinstigate:classgraph-on-graalvm:jar:1.0-SNAPSHOT (file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar)
[WARNING] Version mismatch between native-image-maven-plugin (20.2.0) and native-image executable (Unknown)
[INFO] Executing: /Users/c.meiklejohn/Library/Java/JavaVirtualMachines/graalvm-ce-22.0.1/Contents/Home/bin/native-image -cp /Users/c.meiklejohn/.m2/repository/io/github/classgraph/classgraph/4.8.173/classgraph-4.8.173.jar:/Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar -H:Class=com.softinstigate.App
Warning: Using a deprecated option --allow-incomplete-classpath from 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar'. Allowing an incomplete classpath is now the default. Use --link-at-build-time to report linking errors at image build time for a class or package.
Warning: The option '-H:Name=cog' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: The option '-H:+JNI' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: Please re-evaluate whether any experimental option is required, and either remove or unlock it. The build output lists all active experimental options, including where they come from and possible alternatives. If you think an experimental option should be considered as stable, please file an issue.
Warning: Option 'EnableAllSecurityServices' is deprecated and might be removed in a future release. Please refer to the GraalVM release notes.
========================================================================================================================
GraalVM Native Image: Generating 'cog' (executable)...
========================================================================================================================
[1/8] Initializing... (3.7s @ 0.20GB)
Java version: 22.0.1+8, vendor version: GraalVM CE 22.0.1+8.1
Graal compiler: optimization level: 2, target machine: armv8-a
C compiler: cc (apple, arm64, 15.0.0)
Garbage collector: Serial GC (max heap size: 80% of RAM)
1 user-specific feature(s):
- com.oracle.svm.thirdparty.gson.GsonFeature
------------------------------------------------------------------------------------------------------------------------
2 experimental option(s) unlocked:
- '-H:Name' (alternative API option(s): -o cog; origin(s): 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar')
- '-H:+JNI' (origin(s): 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar')
------------------------------------------------------------------------------------------------------------------------
Build resources:
- 26.49GB of memory (41.4% of 64.00GB system memory, determined at start)
- 10 thread(s) (100.0% of 10 available processor(s), determined at start)
# Printing 1 class initialization trace(s) of class(es) traced by TraceClassInitialization to: /Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/reports/traced_class_initialization_20240610_153212.txt
[2/8] Performing analysis... [*****] (11.9s @ 0.52GB)
6,330 reachable types (82.1% of 7,706 total)
8,395 reachable fields (49.1% of 17,095 total)
30,281 reachable methods (55.3% of 54,727 total)
2,127 types, 156 fields, and 1,987 methods registered for reflection
64 types, 68 fields, and 61 methods registered for JNI access
5 native libraries: -framework CoreServices, -framework Foundation, dl, pthread, z
[3/8] Building universe... (1.9s @ 0.69GB)
[4/8] Parsing methods... [*] (1.6s @ 0.44GB)
[5/8] Inlining methods... [***] (0.9s @ 0.51GB)
[6/8] Compiling methods... [***] (11.4s @ 0.62GB)
[7/8] Laying out methods... [**] (2.2s @ 0.60GB)
[8/8] Creating image... [**] (2.7s @ 0.76GB)
12.96MB (42.98%) for code area: 18,992 compilation units
16.64MB (55.19%) for image heap: 204,775 objects and 49 resources
565.08kB ( 1.83%) for other data
30.15MB in total
------------------------------------------------------------------------------------------------------------------------
Top 10 origins of code area: Top 10 object types in image heap:
10.57MB java.base 4.06MB byte[] for code metadata
1.13MB svm.jar (Native Image) 2.36MB byte[] for java.lang.String
333.86kB java.rmi 1.73MB java.lang.String
194.30kB java.naming 1.51MB java.lang.Class
129.20kB jdk.naming.dns 675.19kB byte[] for general heap data
117.63kB java.logging 543.98kB com.oracle.svm.core.hub.DynamicHubCompanion
75.15kB jdk.charsets 538.59kB heap alignment
57.79kB jdk.proxy1 435.52kB java.util.concurrent.ConcurrentHashMap$Node
57.38kB org.graalvm.nativeimage.base 353.73kB byte[] for reflection metadata
46.89kB jdk.proxy3 339.43kB java.lang.String[]
166.93kB for 15 more packages 4.16MB for 1741 more object types
------------------------------------------------------------------------------------------------------------------------
Recommendations:
HEAP: Set max heap for improved and more predictable memory usage.
CPU: Enable more CPU features with '-march=native' for improved performance.
------------------------------------------------------------------------------------------------------------------------
2.4s (6.4% of total time) in 384 GCs | Peak RSS: 1.36GB | CPU load: 4.71
------------------------------------------------------------------------------------------------------------------------
Build artifacts:
/Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/cog (executable)
========================================================================================================================
Finished generating 'cog' in 37.3s.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 39.921 s
[INFO] Finished at: 2024-06-10T15:32:33-04:00
[INFO] ------------------------------------------------------------------------
% target/cog
targets is empty
GraalVM CE 22, with enableRealtimeLogging()
during Java execution with tracing agent enabled seems to locate the class and it's within the accepted package filter:
% java -agentlib:native-image-agent=config-merge-dir=src/main/resources/META-INF/native-image/com.softinstigate/classgraph-on-graalvm/ -jar target/classgraph-on-graalvm-1.0-SNAPSHOT.jar
2024-06-10T16:00:14.850-0400 ClassGraph ---- Found classfile within subpackage of accepted package: com/softinstigate/FindMe.class
2024-06-10T16:00:15.488-0400 ClassGraph ------ Parsing classfile (took 0.217525 sec)
2024-06-10T16:00:15.518-0400 ClassGraph -------- Found class com.softinstigate.FindMe
2024-06-10T16:00:15.538-0400 ClassGraph ---------- Superclass: java.lang.Object
2024-06-10T16:00:15.559-0400 ClassGraph ---------- Class annotations: @com.softinstigate.ClassMarker(name="findMe")
2024-06-10T16:00:15.642-0400 ClassGraph ---------- Method: public <init>
2024-06-10T16:00:15.679-0400 ClassGraph ---------- Method: public executeMe
--initialize-at-build-time
initializing the static at runtime:
com.softinstigate.App, BUILD_TIME, from 'META-INF/native-image/com.softinstigate/classgraph-on-graalvm/native-image.properties' in 'file:///Users/c.meiklejohn/Projects/classgraph-on-graalvm/target/classgraph-on-graalvm-1.0-SNAPSHOT.jar' with 'com.softinstigate.App'
jar file issue seems related to https://github.com/oracle/graal/issues/4797#issuecomment-1416893549
Thank you, @cmeiklejohn, for the detailed analysis of the GraalVM upgrade.
Once you have successfully completed the upgrade, please file a PR.
Example fails to build native artifact because
--verbose
only supported on command line.When removing this from
native-image.properties
, run into the following:When removing that, build completes. However:
running with tracing agent on:
rebuilding with tracing data present in META-INF:
running again:
This seems to be similar to the problem I am experiencing in https://github.com/classgraph/classgraph/issues/867, where the targets list (or, map in my specific case) is empty. In your case, this prevents the code from even reaching the
Class.forName
location where the runtime reflection is performed.