graal icon indicating copy to clipboard operation
graal copied to clipboard

native build fail with a agent generator file

Open 98DE9E1F opened this issue 2 years ago • 4 comments

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

98DE9E1F avatar Jun 08 '22 02:06 98DE9E1F

Could you please share a reproducer and steps to reach this error? Thank you

oubidar-Abderrahim avatar Jun 10 '22 14:06 oubidar-Abderrahim

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).

gb2av-web-service.zip

edigonzales avatar Jun 29 '22 10:06 edigonzales

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

edigonzales avatar Jun 29 '22 12:06 edigonzales

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 avatar Jul 13 '22 14:07 ksnovich

@ksnovich could you please share a reproducer for this issue?

oubidar-Abderrahim avatar Aug 19 '22 09:08 oubidar-Abderrahim

I think this may be a known native-image bug, tracked internally by GR-40241

gradinac avatar Aug 31 '22 15:08 gradinac

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

wenqiglantz avatar Sep 28 '22 18:09 wenqiglantz

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...

financelurker avatar Oct 04 '22 10:10 financelurker

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

glsconsulting avatar Oct 25 '22 17:10 glsconsulting

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

alialkubaisi avatar Nov 30 '22 13:11 alialkubaisi

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)

weitingyuk avatar Dec 05 '22 02:12 weitingyuk

@edigonzales have you solved this issue?

weitingyuk avatar Dec 05 '22 02:12 weitingyuk

If this issue is still relevant with our latest GraalVM versions, please reopen the issue or create a new one. Thank you

oubidar-Abderrahim avatar Nov 27 '23 16:11 oubidar-Abderrahim