Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[native] Integration test "main" fails with GraalVM 20.3.1.2 #16126

Closed
zakkak opened this issue Mar 30, 2021 · 0 comments · Fixed by #16216
Closed

[native] Integration test "main" fails with GraalVM 20.3.1.2 #16126

zakkak opened this issue Mar 30, 2021 · 0 comments · Fixed by #16216
Labels
area/native-image kind/bug Something isn't working
Milestone

Comments

@zakkak
Copy link
Contributor

zakkak commented Mar 30, 2021

Describe the bug

Native image of integration test main fails to build with GraalVM 20.3.1.2

Expected behavior

The native image should buils and the test should pass.

Actual behavior

The native image fails to build with:

[quarkus-integration-test-main-999-SNAPSHOT-runner:20]        (cap):   1,206.85 ms,  2.69 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:20]        setup:   4,435.00 ms,  2.69 GB
20:58:28,728 INFO  [org.hib.val.int.uti.Version] HV000001: Hibernate Validator 6.2.0.Final
20:58:28,917 INFO  [org.hib.Version] HHH000412: Hibernate ORM core version 5.4.30.Final
20:58:28,924 INFO  [org.hib.ann.com.Version] HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
20:58:28,971 INFO  [org.hib.dia.Dialect] HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL95Dialect
20:58:29,450 WARNING [org.apa.tik.par.PDFParser] J2KImageReader not loaded. JPEG2000 files will not be processed.
See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io
for optional dependencies.

20:59:16,118 INFO  [org.jbo.threads] JBoss Threads version 3.2.0.Final
[quarkus-integration-test-main-999-SNAPSHOT-runner:20]     (clinit):   2,148.28 ms,  6.64 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:20]   (typeflow):  48,630.65 ms,  6.64 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:20]    (objects):  55,548.49 ms,  6.64 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:20]   (features):   2,577.75 ms,  6.64 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:20]     analysis: 114,823.74 ms,  6.64 GB
Error: com.oracle.svm.hosted.substitute.DeletedElementException: Unsupported type java.lang.invoke.MemberName is reachable: All methods from java.lang.invoke should have been replaced during image building.
To diagnose the issue, you can add the option --report-unsupported-elements-at-runtime. The unsupported element is then reported at run time when it is accessed the first time.
Detailed message:
Trace: 
	at parsing java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1795)
Call path from entry point to java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(Method, Class): 
	at java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1793)
	at io.smallrye.faulttolerance.DefaultMethodFallbackProvider.getFallback(DefaultMethodFallbackProvider.java:22)
	at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$prepareFallbackFunction$8(FaultToleranceInterceptor.java:470)
	at io.smallrye.faulttolerance.FaultToleranceInterceptor$$Lambda$1417/0x00000007c496b040.call(Unknown Source)
	at io.smallrye.faulttolerance.core.fallback.CompletionStageFallback.lambda$apply$0(CompletionStageFallback.java:50)
	at io.smallrye.faulttolerance.core.fallback.CompletionStageFallback$$Lambda$1482/0x00000007c497c040.accept(Unknown Source)
	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$2$2.onFailure(HttpSecurityRecorder.java:153)
	at io.smallrye.mutiny.operators.uni.UniEmitOn$UniEmitOnProcessor.lambda$onFailure$1(UniEmitOn.java:41)
	at io.smallrye.mutiny.operators.uni.UniEmitOn$UniEmitOnProcessor$$Lambda$1652/0x00000007c49be840.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:834)
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519)
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
	at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)

com.oracle.svm.core.util.UserError$UserException: com.oracle.svm.hosted.substitute.DeletedElementException: Unsupported type java.lang.invoke.MemberName is reachable: All methods from java.lang.invoke should have been replaced during image building.
To diagnose the issue, you can add the option --report-unsupported-elements-at-runtime. The unsupported element is then reported at run time when it is accessed the first time.
Detailed message:
Trace: 
	at parsing java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1795)
Call path from entry point to java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(Method, Class): 
	at java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1793)
	at io.smallrye.faulttolerance.DefaultMethodFallbackProvider.getFallback(DefaultMethodFallbackProvider.java:22)
	at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$prepareFallbackFunction$8(FaultToleranceInterceptor.java:470)
	at io.smallrye.faulttolerance.FaultToleranceInterceptor$$Lambda$1417/0x00000007c496b040.call(Unknown Source)
	at io.smallrye.faulttolerance.core.fallback.CompletionStageFallback.lambda$apply$0(CompletionStageFallback.java:50)
	at io.smallrye.faulttolerance.core.fallback.CompletionStageFallback$$Lambda$1482/0x00000007c497c040.accept(Unknown Source)
	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$2$2.onFailure(HttpSecurityRecorder.java:153)
	at io.smallrye.mutiny.operators.uni.UniEmitOn$UniEmitOnProcessor.lambda$onFailure$1(UniEmitOn.java:41)
	at io.smallrye.mutiny.operators.uni.UniEmitOn$UniEmitOnProcessor$$Lambda$1652/0x00000007c49be840.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:834)
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519)
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
	at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)

	at com.oracle.svm.core.util.UserError.abort(UserError.java:82)
	at com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:217)
	at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:766)
	at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:556)
	at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:469)
	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)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: com.oracle.svm.hosted.substitute.DeletedElementException: Unsupported type java.lang.invoke.MemberName is reachable: All methods from java.lang.invoke should have been replaced during image building.
To diagnose the issue, you can add the option --report-unsupported-elements-at-runtime. The unsupported element is then reported at run time when it is accessed the first time.
Detailed message:
Trace: 
	at parsing java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1795)
Call path from entry point to java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(Method, Class): 
	at java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1793)
	at io.smallrye.faulttolerance.DefaultMethodFallbackProvider.getFallback(DefaultMethodFallbackProvider.java:22)
	at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$prepareFallbackFunction$8(FaultToleranceInterceptor.java:470)
	at io.smallrye.faulttolerance.FaultToleranceInterceptor$$Lambda$1417/0x00000007c496b040.call(Unknown Source)
	at io.smallrye.faulttolerance.core.fallback.CompletionStageFallback.lambda$apply$0(CompletionStageFallback.java:50)
	at io.smallrye.faulttolerance.core.fallback.CompletionStageFallback$$Lambda$1482/0x00000007c497c040.accept(Unknown Source)
	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$2$2.onFailure(HttpSecurityRecorder.java:153)
	at io.smallrye.mutiny.operators.uni.UniEmitOn$UniEmitOnProcessor.lambda$onFailure$1(UniEmitOn.java:41)
	at io.smallrye.mutiny.operators.uni.UniEmitOn$UniEmitOnProcessor$$Lambda$1652/0x00000007c49be840.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:834)
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519)
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
	at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)

	at com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:126)
	at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:763)
	... 8 more
Caused by: com.oracle.svm.hosted.substitute.DeletedElementException: Unsupported type java.lang.invoke.MemberName is reachable: All methods from java.lang.invoke should have been replaced during image building.
To diagnose the issue, you can add the option --report-unsupported-elements-at-runtime. The unsupported element is then reported at run time when it is accessed the first time.
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.lookup(AnnotationSubstitutionProcessor.java:119)
	at com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor$ChainedSubstitutionProcessor.lookup(SubstitutionProcessor.java:113)
	at com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor$ChainedSubstitutionProcessor.lookup(SubstitutionProcessor.java:113)
	at com.oracle.graal.pointsto.meta.AnalysisUniverse.lookupAllowUnresolved(AnalysisUniverse.java:207)
	at com.oracle.graal.pointsto.infrastructure.WrappedConstantPool.lookupType(WrappedConstantPool.java:164)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.lookupType(BytecodeParser.java:4251)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genNewInstance(BytecodeParser.java:4566)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5364)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3400)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3207)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:1092)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:986)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:84)
	at com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:70)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.run(Phase.java:49)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:212)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
	at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:223)
	at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:357)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:313)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:302)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:103)
	at com.oracle.graal.pointsto.DefaultAnalysisPolicy$DefaultSpecialInvokeTypeFlow.onObservedUpdate(DefaultAnalysisPolicy.java:368)
	at com.oracle.graal.pointsto.flow.TypeFlow.notifyObservers(TypeFlow.java:470)
	at com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:542)
	at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:547)
	at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:173)
	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
	... 5 more
Error: Image build request failed with exit status 1

To Reproduce

./mvnw clean verify -Dnative -Dnative.surefire.skip -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:20.3-java11 -pl integration-tests/main

Environment (please complete the following information):

Output of uname -a or ver

Linux 5.10.20-200.fc33.x86_64

Output of java -version

11.0.10+9

GraalVM version (if different from Java)

20.3.1.2

Quarkus version or git rev

main: 06e7f62

Build tool (ie. output of mvnw --version or gradlew --version)

Maven 3.6.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/native-image kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant