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

[JDK 24] Quarkus native integration tests fail with latest GraalVM CE (ea), JDK 24+27 #45062

Open
jerboaa opened this issue Dec 11, 2024 · 5 comments
Assignees
Labels
area/native-image kind/bug-thirdparty Bugs that are caused by third-party components and not causing a major dysfunction of core Quarkus.

Comments

@jerboaa
Copy link
Contributor

jerboaa commented Dec 11, 2024

In Mandrel CI we see all Quarkus native CI tests fail due to this issue:

========================================================================================================================
GraalVM Native Image: Generating 'quarkus-integration-test-main-999-SNAPSHOT-runner' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------

[1/8] Initializing...                                                                                    (0.0s @ 0.25GB)
Error: Could not find target method: public static com.oracle.svm.core.foreign.Target_jdk_internal_foreign_abi_NativeEntryPoint com.oracle.svm.core.foreign.Target_jdk_internal_foreign_abi_NativeEntryPoint.make(jdk.internal.foreign.abi.ABIDescriptor,jdk.internal.foreign.abi.VMStorage[],jdk.internal.foreign.abi.VMStorage[],java.lang.invoke.MethodType,boolean,int,boolean)
Internal exception: com.oracle.svm.core.util.UserError$UserException: Could not find target method: public static com.oracle.svm.core.foreign.Target_jdk_internal_foreign_abi_NativeEntryPoint com.oracle.svm.core.foreign.Target_jdk_internal_foreign_abi_NativeEntryPoint.make(jdk.internal.foreign.abi.ABIDescriptor,jdk.internal.foreign.abi.VMStorage[],jdk.internal.foreign.abi.VMStorage[],java.lang.invoke.MethodType,boolean,int,boolean)
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.findOriginalMethod(AnnotationSubstitutionProcessor.java:872)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleAnnotatedMethodInSubstitutionClass(AnnotationSubstitutionProcessor.java:753)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleSubstitutionClass(AnnotationSubstitutionProcessor.java:700)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleClass(AnnotationSubstitutionProcessor.java:359)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.init(AnnotationSubstitutionProcessor.java:315)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.createAnnotationSubstitutionProcessor(NativeImageGenerator.java:1131)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.setupNativeImage(NativeImageGenerator.java:976)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:565)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:533)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:545)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:731)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:151)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:99)

I think it's because quarkus native turns on -H:+ForeignAPISupport. It seems specific to the latest 24+27 JDK.

Copy link

quarkus-bot bot commented Dec 11, 2024

/cc @Karm (mandrel), @galderz (mandrel), @zakkak (mandrel,native-image)

@jerboaa
Copy link
Contributor Author

jerboaa commented Dec 11, 2024

@Karm
Copy link
Member

Karm commented Dec 11, 2024

-H:+ForeignAPISupport
On as of #44092

@zakkak zakkak self-assigned this Dec 13, 2024
@zakkak
Copy link
Contributor

zakkak commented Dec 13, 2024

This is caused by oracle/graal#10304

@zakkak zakkak added kind/bug-thirdparty Bugs that are caused by third-party components and not causing a major dysfunction of core Quarkus. kind/bug Something isn't working labels Dec 13, 2024
@gsmet gsmet removed the kind/bug Something isn't working label Dec 17, 2024
@jerboaa
Copy link
Contributor Author

jerboaa commented Dec 18, 2024

This is caused by oracle/graal#10304

master branch is fixed (JDK 25 ea). I think we'll see it fail again on JDK 24 ea (which now runs weekly) as I don't see it backported to JDK 24 yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/native-image kind/bug-thirdparty Bugs that are caused by third-party components and not causing a major dysfunction of core Quarkus.
Projects
None yet
Development

No branches or pull requests

4 participants