Skip to content

Native image compilation error #264

@panga

Description

@panga

I'm trying to compile to native image a very simple Java application, but it fails.
It's main method that serializes some object using Jackson.
JAR link: https://drive.google.com/file/d/1pjo0StwvDV_e0x_-SjMVdHubQS4AHkNl/view?usp=sharing

Source:

import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {

    public static void main(String... args) throws Exception {
        System.out.println(new ObjectMapper().writeValueAsString(new Car("Ferrari")));
    }
}

Command:
./native-image -verbose -jar test-graal-1.0-SNAPSHOT-fat.jar

Log:

Executing [
/graalvm-0.29/jre/bin/java \
-server \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-XX:-UseJVMCIClassLoader \
-XX:-UseJVMCICompi`r \
-d64 \
-noverify \
-Xbootclasspath/a:/graalvm-0.29/jre/lib/boot/graaljs-scriptengine.jar:/graalvm-0.29/jre/lib/boot/graal-sdk.jar \
-cp \
/graalvm-0.29/jre/lib/svm/svm.jar:/graalvm-0.29/jre/lib/svm/objectfile.jar:/graalvm-0.29/jre/lib/svm/pointsto.jar:/graalvm-0.29/jre/lib/svm/svm-enterprise.jar:/graalvm-0.29/jre/lib/jvmci/graal.jar:/graalvm-0.29/jre/lib/jvmci/enterprise-graal.jar:/graalvm-0.29/jre/lib/jvmci/jvmci-api.jar:/graalvm-0.29/jre/lib/jvmci/jvmci-hotspot.jar \
-Duser.country=US \
-Duser.language=en \
-Dgraal.EagerSnippets=true \
-Dsubstratevm.version=1201e5c00c8dc7d0cdb2056c902ad20990c94669 \
-Dgraalvm.version=0.29 \
-Dorg.graalvm.version=0.29 \
-Xms1G \
-Xss10m \
-Dcom.oracle.graalvm.isaot=true \
com.oracle.svm.hosted.NativeImageGeneratorRunner \
-imagecp \
/graalvm-0.29/jre/lib/svm/svm.jar:/graalvm-0.29/jre/lib/svm/objectfile.jar:/graalvm-0.29/jre/lib/svm/pointsto.jar:/graalvm-0.29/jre/lib/svm/svm-enterprise.jar:/graalvm-0.29/jre/lib/jvmci/graal.jar:/graalvm-0.29/jre/lib/jvmci/enterprise-graal.jar:/graalvm-0.29/jre/lib/jvmci/jvmci-api.jar:/graalvm-0.29/jre/lib/jvmci/jvmci-hotspot.jar:/graalvm-0.29/jre/lib/svm/library-support.jar:/graalvm-0.29/bin/test-graal-1.0-SNAPSHOT-fat.jar:/graalvm-0.29/bin \
-H:Path=. \
-H:InspectServerContentPath=/graalvm-0.29/jre/lib/svm/inspect \
-H:CLibraryPath=/graalvm-0.29/jre/lib/svm/clibraries/darwin-amd64 \
-H:Class=panga.test.graal.Main \
-H:Name=test-graal-1.0-SNAPSHOT-fat
]
   classlist:   1,084.77 ms
       (cap):     729.15 ms
       setup:   1,411.76 ms
    analysis:   2,837.07 ms
error: Error encountered while parsing com.oracle.svm.reflect.proxies.Proxy_1_EnumMap_keyType.get(java.lang.Object) 
Parsing context:
	parsing java.lang.reflect.Field.get(Field.java:393)
	parsing com.fasterxml.jackson.databind.introspect.AnnotatedField.getValue(AnnotatedField.java:116)
	parsing com.fasterxml.jackson.databind.ser.std.JsonValueSerializer.serializeWithType(JsonValueSerializer.java:194)
	parsing com.fasterxml.jackson.databind.ser.std.StdDelegatingSerializer.serializeWithType(StdDelegatingSerializer.java:183)
	parsing com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32)
	parsing com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
	parsing com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
	parsing com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3893)
	parsing com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3207)
	parsing panga.test.graal.Main.main(Main.java:9)
	parsing com.oracle.svm.core.JavaMainWrapper.run(stripped:133)
	parsing Lcom/oracle/svm/core/code/b;.com_002eoracle_002esvm_002ecore_002eJavaMainWrapper_002erun_0028int_002corg_002egraalvm_002enativeimage_002ec_002etype_002eCCharPointerPointer_0029(generated:0)
Original error: org.graalvm.compiler.debug.GraalError: failed guarantee: Could not find class com.oracle.svm.E.a.createFailedCast (static)
	at org.graalvm.compiler.debug.GraalError.guarantee(GraalError.java:121)
	at org.graalvm.compiler.replacements.GraphKit.findMethod(GraphKit.java:209)
	at com.oracle.svm.reflect.hosted.i.a(stripped:151)
	at com.oracle.svm.reflect.hosted.i.a(stripped:175)
	at com.oracle.svm.reflect.hosted.i.b(stripped:51)
	at com.oracle.svm.reflect.hosted.i$f.buildGraph(stripped:336)
	at com.oracle.graal.pointsto.meta.AnalysisMethod.buildGraph(AnalysisMethod.java:270)
	at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:138)
	at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:288)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:318)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:308)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:88)
	at com.oracle.graal.pointsto.DefaultAnalysisPolicy$DefaultVirtualInvokeTypeFlow.update(DefaultAnalysisPolicy.java:220)
	at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:467)
	at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:154)
	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Error: Image building with exit status 1

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions