Skip to content

[native-image] MalformedParameterizedTypeException when using Kotlin #374

@nanodeath

Description

@nanodeath

I'm running the following command and getting a crash. Compiled using Graal 1.0.0 RC and Kotlin 1.2.40.

$ native-image -cp <classpath redacted> <class redacted>
    Build on Server(pid: 41671, port: 26682)*
       classlist:   1,418.13 ms
           (cap):   1,088.56 ms
           setup:   1,846.08 ms
    warning: unknown locality of class Lparsecomb/Runes$nextWord$trimmed$1;, assuming class is not local. To remove the warning report an issue to the library or language author. The issue is caused by Lparsecomb/Runes$nextWord$trimmed$1; which is not following the naming convention.
    warning: unknown locality of class Lkata/types/SymbolRegistry$plus$1;, assuming class is not local. To remove the warning report an issue to the library or language author. The issue is caused by Lkata/types/SymbolRegistry$plus$1; which is not following the naming convention.
        analysis:   4,808.20 ms
    fatal error: java.lang.reflect.MalformedParameterizedTypeException
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:598)
            at java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1005)
            at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:398)
            at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:240)
            at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:337)
            at com.oracle.svm.hosted.server.NativeImageBuildServer.executeCompilation(NativeImageBuildServer.java:378)
            at com.oracle.svm.hosted.server.NativeImageBuildServer.lambda$processCommand$8(NativeImageBuildServer.java:315)
            at com.oracle.svm.hosted.server.NativeImageBuildServer.withJVMContext(NativeImageBuildServer.java:396)
            at com.oracle.svm.hosted.server.NativeImageBuildServer.processCommand(NativeImageBuildServer.java:312)
            at com.oracle.svm.hosted.server.NativeImageBuildServer.processRequest(NativeImageBuildServer.java:256)
            at com.oracle.svm.hosted.server.NativeImageBuildServer.lambda$serve$7(NativeImageBuildServer.java:216)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.reflect.MalformedParameterizedTypeException
            at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:58)
            at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:51)
            at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:92)
            at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105)
            at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140)
            at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
            at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:108)
            at java.lang.Class.getGenericInterfaces(Class.java:913)
            at com.oracle.svm.hosted.analysis.Inflation.fillGenericInfo(Inflation.java:240)
            at com.oracle.svm.hosted.analysis.Inflation.checkType(Inflation.java:146)
            at java.lang.Iterable.forEach(Iterable.java:75)
            at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
            at com.oracle.svm.hosted.analysis.Inflation.checkObjectGraph(Inflation.java:123)
            at com.oracle.graal.pointsto.BigBang.checkObjectGraph(BigBang.java:580)
            at com.oracle.graal.pointsto.BigBang.finish(BigBang.java:552)
            at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:653)
            at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:381)
            at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386)
            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: Processing image build request failed

Unfortunately I can't attach source or JARs (as they're company IP), but if there's any other way I can provide more context, please let me know.

Thanks!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions