You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using a GraalVM build based on OpenJDK instead of LabsJDK results in build failures of native executables.
Expected behavior
The build should succeed if it succeeds with a LabsJDK based build of GraalVM.
Actual behavior
The build fails with:
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-picocli-native: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.RuntimeException: Failed to get GraalVM version
[ERROR] at io.quarkus.deployment.pkg.steps.NativeImageBuildRunner.getGraalVMVersion(NativeImageBuildRunner.java:41)
[ERROR] at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:236)
[ERROR] at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
[ERROR] at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:854)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:1583)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:483)
[ERROR] Caused by: java.lang.NumberFormatException: For input string: "null"
[ERROR] at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
[ERROR] at java.base/java.lang.Integer.parseInt(Integer.java:662)
[ERROR] at java.base/java.lang.Integer.parseInt(Integer.java:778)
[ERROR] at java.base/java.util.stream.ReferencePipeline$4$1.accept(ReferencePipeline.java:214)
[ERROR] at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
[ERROR] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
[ERROR] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[ERROR] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
[ERROR] at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
[ERROR] at java.base/java.util.stream.IntPipeline.toArray(IntPipeline.java:562)
[ERROR] at io.quarkus.deployment.pkg.steps.GraalVM$Version.breakdownVersion(GraalVM.java:240)
[ERROR] at io.quarkus.deployment.pkg.steps.GraalVM$Version.<init>(GraalVM.java:229)
[ERROR] at io.quarkus.deployment.pkg.steps.GraalVM$VersionParseHelper.parse(GraalVM.java:89)
[ERROR] at io.quarkus.deployment.pkg.steps.GraalVM$Version.of(GraalVM.java:306)
[ERROR] at io.quarkus.deployment.pkg.steps.NativeImageBuildRunner.getGraalVMVersion(NativeImageBuildRunner.java:38)
[ERROR] ... 10 more
Set GRAALVM_HOME to point to the freshly built GraalVM
Try to generate a native executable
Output of uname -a or ver
No response
Output of java -version
No response
Mandrel or GraalVM version (if different from Java)
No response
Quarkus version or git rev
No response
Build tool (ie. output of mvnw --version or gradlew --version)
No response
Additional information
This is happening because Quarkus currently has not way to infer the GraalVM version from the --version output, and fails to handle the failure as well.
The --version output that can't be processed by Quarkus is:
native-image 21.0.5-beta 2024-10-15
GraalVM Runtime Environment GraalVM CE 21.0.5-dev.beta+4.1 (build 21.0.5-beta+4-ea)
Substrate VM GraalVM CE 21.0.5-dev.beta+4.1 (build 21.0.5-beta+4-ea, serial gc)
The text was updated successfully, but these errors were encountered:
Yes, we need to properly identify the version pattern and then map the JDK version to the GraalVM "internal" version (at least till they get in sync with the 25 release).
zakkak
added a commit
to zakkak/quarkus
that referenced
this issue
Oct 4, 2024
Describe the bug
Using a GraalVM build based on OpenJDK instead of LabsJDK results in build failures of native executables.
Expected behavior
The build should succeed if it succeeds with a LabsJDK based build of GraalVM.
Actual behavior
The build fails with:
How to Reproduce?
GRAALVM_HOME
to point to the freshly built GraalVMOutput of
uname -a
orver
No response
Output of
java -version
No response
Mandrel or GraalVM version (if different from Java)
No response
Quarkus version or git rev
No response
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
This is happening because Quarkus currently has not way to infer the GraalVM version from the
--version
output, and fails to handle the failure as well.The
--version
output that can't be processed by Quarkus is:The text was updated successfully, but these errors were encountered: