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

[GraalVM for JDK 25] Native integration test jpa-mariadb fails with JDK 25+8.1 #46274

Closed
jerboaa opened this issue Feb 14, 2025 · 2 comments · Fixed by #46276
Closed

[GraalVM for JDK 25] Native integration test jpa-mariadb fails with JDK 25+8.1 #46274

jerboaa opened this issue Feb 14, 2025 · 2 comments · Fixed by #46276
Labels
area/native-image kind/bug Something isn't working
Milestone

Comments

@jerboaa
Copy link
Contributor

jerboaa commented Feb 14, 2025

Describe the bug

We see some native integration test failures on the Mandrel side for JDK 25+8 and better builds from GraalVM master. Failures look like:

========================================================================================================================
GraalVM Native Image: Generating 'quarkus-integration-test-jpa-mariadb-999-SNAPSHOT-runner' (executable)...
========================================================================================================================
[1/8] Initializing...12:43:09.000 MariaDB:2025-02-14 11:43:09 4 [Warning] Access denied for user 'root'@'localhost' (using password: YES)

                                                                                    (0.0s @ 0.23GB)
Error: Return type mismatch:
    public void io.quarkus.jdbc.mariadb.runtime.graal.SendPamAuthPacketFactory_Substitutions.initialize(java.lang.String,byte[],org.mariadb.jdbc.Configuration,org.mariadb.jdbc.HostAddress)
    public org.mariadb.jdbc.plugin.AuthenticationPlugin org.mariadb.jdbc.plugin.authentication.standard.SendPamAuthPacketFactory.initialize(java.lang.String,byte[],org.mariadb.jdbc.Configuration,org.mariadb.jdbc.HostAddress)
Internal exception: com.oracle.svm.core.util.UserError$UserException: Return type mismatch:
    public void io.quarkus.jdbc.mariadb.runtime.graal.SendPamAuthPacketFactory_Substitutions.initialize(java.lang.String,byte[],org.mariadb.jdbc.Configuration,org.mariadb.jdbc.HostAddress)
    public org.mariadb.jdbc.plugin.AuthenticationPlugin org.mariadb.jdbc.plugin.authentication.standard.SendPamAuthPacketFactory.initialize(java.lang.String,byte[],org.mariadb.jdbc.Configuration,org.mariadb.jdbc.HostAddress)
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.guarantee(UserError.java:109)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.findOriginalMethod(AnnotationSubstitutionProcessor.java:860)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleMethodInAliasClass(AnnotationSubstitutionProcessor.java:424)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleAliasClass(AnnotationSubstitutionProcessor.java:388)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleClass(AnnotationSubstitutionProcessor.java:361)
	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:569)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:537)
	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)
------------------------------------------------------------------------------------------------------------------------
                        0.2s (5.3% of total time) in 10 GCs | Peak RSS: 1.15GB | CPU load: 6.54
========================================================================================================================

See for example:
https://github.com/graalvm/mandrel/actions/runs/13319877312/job/37203550380#step:12:892
https://github.com/graalvm/mandrel/actions/runs/13319877312/job/37203437016#step:12:890

Expected behavior

No return type mismatch.

Actual behavior

Return type mismatch, native build fails.

How to Reproduce?

Run the jpa-mariadb native integration test on a GraalVM community dev build from:
https://github.com/graalvm/graalvm-ce-dev-builds/releases/tag/25.0.0-dev-20250211_1335

@jerboaa jerboaa added area/native-image kind/bug Something isn't working labels Feb 14, 2025
Copy link

quarkus-bot bot commented Feb 14, 2025

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

@jerboaa
Copy link
Contributor Author

jerboaa commented Feb 14, 2025

Same failure seen with the following tests:

integration-tests/hibernate-orm-tenancy/datasource/
integration-tests/hibernate-orm-tenancy/connection-resolver
integration-tests/hibernate-orm-tenancy/connection-resolver-legacy-qualifiers/
integration-tests/opentelemetry-jdbc-instrumentation

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.

2 participants