graal
graal copied to clipboard
native build fail with a agent generator file
Describe the issue ` What's means 'Registering type as reachable after analysis'
Fatal error: com.oracle.svm.core.util.VMError$HostedError: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<com.fasterxml.jackson.databind.JsonSerializer[], allocated: false, inHeap: false, reachable: false> at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:72) at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:678) at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:515) at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:407) at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:585) at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128) at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:615) Caused by: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<com.fasterxml.jackson.databind.JsonSerializer[], allocated: false, inHeap: false, reachable: false> at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:68) at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.registerAsReachable(AnalysisConstantReflectionProvider.java:332) at com.oracle.svm.hosted.ameta.HostedDynamicHubFeature.replace(HostedDynamicHubFeature.java:53) at com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:582) at com.oracle.svm.hosted.image.NativeImageHeap.addArrayElements(NativeImageHeap.java:576) at com.oracle.svm.hosted.image.NativeImageHeap.addObjectToImageHeap(NativeImageHeap.java:473) at com.oracle.svm.hosted.image.NativeImageHeap.addObject(NativeImageHeap.java:295) at com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist(NativeImageHeap.java:598) at com.oracle.svm.hosted.image.NativeImageHeap.addTrailingObjects(NativeImageHeap.java:198) at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:660) ... 5 more `
Describe GraalVM and your environment:
- GraalVM 22.1.0 Java 11 CE (Java Version 11.0.15+10-jvmci-22.1-b06)
- maven plugins 0.9.11
Could you please share a reproducer and steps to reach this error? Thank you
I stumbled across the same problem. Find attached a gradle project. ./gradlew clean nativeCompile
should reproduce it. Perhaps it can help, though you're not able to run the agent since it has some external runtime dependencies (database, s3).
Happens on macOS (M1) and Ubuntu (Github Action).
I removed jackson-databind from my project:
configurations {
implementation {
exclude(group: 'com.fasterxml.jackson.core', module: 'jackson-databind')
}
}
Now I end up with:
Fatal error: com.oracle.svm.core.util.VMError$HostedError: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<org.springframework.context.ApplicationContextInitializer[], allocated: false, inHeap: false, reachable: false>
at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:72)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:678)
at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:515)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:407)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:585)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
------------------------------------------------------------------------------------------------------------------------
at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:615)
Caused by: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<org.springframework.context.ApplicationContextInitializer[], allocated: false, inHeap: false, reachable: false>
at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:68)
at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.registerAsReachable(AnalysisConstantReflectionProvider.java:332)
at com.oracle.svm.hosted.ameta.HostedDynamicHubFeature.replace(HostedDynamicHubFeature.java:53)
at com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:582)
at com.oracle.svm.hosted.image.NativeImageHeap.addArrayElements(NativeImageHeap.java:576)
at com.oracle.svm.hosted.image.NativeImageHeap.addObjectToImageHeap(NativeImageHeap.java:473)
at com.oracle.svm.hosted.image.NativeImageHeap.addObject(NativeImageHeap.java:295)
at com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist(NativeImageHeap.java:598)
at com.oracle.svm.hosted.image.NativeImageHeap.addTrailingObjects(NativeImageHeap.java:198)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:660)
... 5 more
I have the same mistake:
Fatal error: com.oracle.svm.core.util.VMError$HostedError: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<com.fasterxml.jackson.databind.JsonSerializer[], allocated: false, inHeap: false, reachable: false>
- SpringBoot application 2.7.0
- spring-native 0.12.0 with the same version spring-aot-maven-plugin
- graalvm-ce-java11-22.2.0-dev
- Linux (RHEL 7.8)
@ksnovich could you please share a reproducer for this issue?
I think this may be a known native-image bug, tracked internally by GR-40241
I am running into the same error. My app is built with Spring Boot 3.0.0-M5, Spring Cloud 2022.0.0-M4, Java 17, OpenJDK Runtime Environment GraalVM CE 22.2.0 (build 17.0.4+8-jvmci-22.2-b06), native image build was done on Ubuntu-latest.
[7/7] Creating image... (0.0s @ 2.00GB)
Fatal error: com.oracle.svm.core.util.VMError$HostedError: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<com.fasterxml.jackson.databind.JsonSerializer[], allocated: 0, inHeap: 0, reachable: 0>
at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:72)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:682)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:521)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:407)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:585)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
Caused by: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<com.fasterxml.jackson.databind.JsonSerializer[], allocated: 0, inHeap: 0, reachable: 0>
at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:68)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.registerAsReachable(AnalysisConstantReflectionProvider.java:332)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.HostedDynamicHubFeature.replace(HostedDynamicHubFeature.java:53)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:583)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addArrayElements(NativeImageHeap.java:576)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addObjectToImageHeap(NativeImageHeap.java:473)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addObject(NativeImageHeap.java:295)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist(NativeImageHeap.java:598)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addTrailingObjects(NativeImageHeap.java:198)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:664)
... 4 more
Well - Are there any workarounds?
I've stumbled over the same issue using OpenJDK Runtime Environment GraalVM CE 22.2.0 (build 11.0.16+8-jvmci-22.2-b06)
and OpenJDK Runtime Environment GraalVM CE 22.2.0 (build 17.0.4+8-jvmci-22.2-b06)
on an amd64 macOS 12.6...
I have the same issue as well
i'm on GraalVM version 22.2.r17-grl
7/7] Creating image... (0,0s @ 2,74GB) Fatal error: com.oracle.svm.core.util.VMError$HostedError: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer[], allocated: 0, inHeap: 0, reachable: 0> at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:72) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:682) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:521) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:407) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:585) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128) Caused by: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer[], allocated: 0, inHeap: 0, reachable: 0> at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:68) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.registerAsReachable(AnalysisConstantReflectionProvider.java:332) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.HostedDynamicHubFeature.replace(HostedDynamicHubFeature.java:53) at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:583) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addArrayElements(NativeImageHeap.java:576) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addObjectToImageHeap(NativeImageHeap.java:473) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addObject(NativeImageHeap.java:295) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist(NativeImageHeap.java:598) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addTrailingObjects(NativeImageHeap.java:198) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:664) ... 4 more
I have the same error but with another AnalysisType. Removing the AnalysisType in the error message "org.ehcache.shadow.org.terracotta.context.query.Matcher" from "reflect-config.json" and then rebuild again, works for me as a workaround
Fatal error: com.oracle.svm.core.util.VMError$HostedError: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<org.ehcache.shadow.org.terracotta.context.query.Matcher[], allocated: false, inHeap: false, reachable: false> at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:72) at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:678) at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:515) at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:407) at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:585) at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128) at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:615) Caused by: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<org.ehcache.shadow.org.terracotta.context.query.Matcher[], allocated: false, inHeap: false, reachable: false> at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:68) at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.registerAsReachable(AnalysisConstantReflectionProvider.java:332) at com.oracle.svm.hosted.ameta.HostedDynamicHubFeature.replace(HostedDynamicHubFeature.java:53) at com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:582) at com.oracle.svm.hosted.image.NativeImageHeap.addArrayElements(NativeImageHeap.java:576) at com.oracle.svm.hosted.image.NativeImageHeap.addObjectToImageHeap(NativeImageHeap.java:473) at com.oracle.svm.hosted.image.NativeImageHeap.addObject(NativeImageHeap.java:295) at com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist(NativeImageHeap.java:598) at com.oracle.svm.hosted.image.NativeImageHeap.addTrailingObjects(NativeImageHeap.java:198) at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:660) ... 5 more
I have the same issue as well
i'm on GraalVM version 22.1.0
Fatal error: com.oracle.svm.core.util.VMError$HostedError: com.oracle.svm.core.util.VMError$HostedError: Registering type as reachable after analysis: AnalysisType<org.springframework.context.ApplicationContextInitializer[], allocated: false, inHeap: false, reachable: false> at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:72) at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:678) at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:515) at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:407) at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:585) at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128) at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:615)
@edigonzales have you solved this issue?
If this issue is still relevant with our latest GraalVM versions, please reopen the issue or create a new one. Thank you