Quarkus: "Enclosing method not found" Error when building native docker image

Viewed 74

I am trying to build a Quarkus native executable docker image and I keep receiving Fatal error:java.lang.InternalError: java.lang.InternalError: Enclosing method not found

I am using Quarkus platform image version 1.13.6.Final and following these instructions

My maven output is

...
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from C:\Users\aa99988\development\code\microservices\pm\sappmbreakdownoptionservice\target\sappmbreakdownoptionservice-1.0.0-SNAPSHOT-native-image-source-jar\sappmbreakdownoptionservice-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildContainerRunner] Using docker to run the native image builder
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildContainerRunner] Checking image status quay.io/quarkus/ubi-quarkus-native-image:21.0-java11
21.0-java11: Pulling from quarkus/ubi-quarkus-native-image
Digest: sha256:3362737fef7d247d108e15fe35a2d7b57b4461ce3fdfc7d3874129d49fc774e4
Status: Image is up to date for quay.io/quarkus/ubi-quarkus-native-image:21.0-java11
quay.io/quarkus/ubi-quarkus-native-image:21.0-java11
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM Version 21.0.0.2 (Java Version 11.0.10+8-jvmci-21.0-b06)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] docker run --env LANG=C --rm -v //c/Users/aa99988/development/code/microservices/pm/sappmbreakdownoptionservice/target/sappmbreakdownoptionservice-1.0.0-SNAPSHOT-native-image-source-jar:/project:z quay.io/quarkus/ubi-quarkus-native-image:21.0-java11 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=1 -J-Duser.language=en -J-Duser.country=US -J-Dfile.encoding=UTF-8 --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -jar sappmbreakdownoptionservice-1.0.0-SNAPSHOT-runner.jar -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:EnableURLProtocols=http -H:-UseServiceLoaderFeature -H:+StackTrace sappmbreakdownoptionservice-1.0.0-SNAPSHOT-runner
[sappmbreakdownoptionservice-1.0.0-SNAPSHOT-runner:25]    classlist:  14,726.45 ms,  1.18 GB
[sappmbreakdownoptionservice-1.0.0-SNAPSHOT-runner:25]        (cap):     755.71 ms,  1.18 GB
[sappmbreakdownoptionservice-1.0.0-SNAPSHOT-runner:25]        setup:   3,387.29 ms,  1.18 GB
16:12:00,476 INFO  [org.jbo.threads] JBoss Threads version 3.2.0.Final
[sappmbreakdownoptionservice-1.0.0-SNAPSHOT-runner:25]     analysis:  22,748.92 ms,  2.31 GB
Fatal error:java.lang.InternalError: java.lang.InternalError: Enclosing method not found
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
        at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:600)
        at java.base/java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1006)
        at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:488)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:370)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:529)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:119)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:561)
Caused by: java.lang.InternalError: Enclosing method not found
        at java.base/java.lang.Class.getEnclosingMethod(Class.java:1296)
        at java.base/sun.reflect.generics.scope.ClassScope.computeEnclosingScope(ClassScope.java:50)
        at java.base/sun.reflect.generics.scope.AbstractScope.getEnclosingScope(AbstractScope.java:77)
        at java.base/sun.reflect.generics.scope.AbstractScope.lookup(AbstractScope.java:95)
        at java.base/sun.reflect.generics.factory.CoreReflectionFactory.findTypeVariable(CoreReflectionFactory.java:110)
        at java.base/sun.reflect.generics.visitor.Reifier.visitTypeVariableSignature(Reifier.java:165)
        at java.base/sun.reflect.generics.tree.TypeVariableSignature.accept(TypeVariableSignature.java:43)
        at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
        at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
        at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
        at java.base/sun.reflect.generics.repository.ClassRepository.computeSuperclass(ClassRepository.java:104)
        at java.base/sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:86)
        at java.base/java.lang.Class.getGenericSuperclass(Class.java:949)
        at com.oracle.svm.hosted.analysis.Inflation.fillGenericInfo(Inflation.java:365)
        at com.oracle.svm.hosted.analysis.Inflation.checkType(Inflation.java:139)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
        at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
        at com.oracle.svm.hosted.analysis.Inflation.checkObjectGraph(Inflation.java:124)
        at com.oracle.graal.pointsto.BigBang.checkObjectGraph(BigBang.java:626)
        at com.oracle.graal.pointsto.BigBang.finish(BigBang.java:595)
        at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:717)
        at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:563)
        at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:476)
        at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Error: Image build request failed with exit status 1
...

Other than this GitHub Issue concerning GraalVM, I can't seem to find any resource to assist.

It seems I can run a mutlistage docker build which seems to work fine.

Is this a bug in the quay.io/quarkus/ubi-quarkus-mandrel:21.0-java11 image? Or am I simply doing something worng?

0 Answers
Related