graalvm / mandrel

Mandrel is a downstream distribution of the GraalVM community edition. Mandrel's main goal is to provide a native-image release specifically to support Quarkus.
Other
386 stars 15 forks source link

[24.2] graal/master fails to build quarkus applications with JDK 24+6 #767

Closed jerboaa closed 2 weeks ago

jerboaa commented 3 weeks ago

Description

We see all quarkus native integration tests fail in CI since the 24+6 JDK ea build got used for building. I've tried one application with JDK 24+5 and that works for the same application (same revision) and same quarkus (same revision). Only JDK version changed.

Failure with JDK 24+6 looks like:

[INFO] --- quarkus:999-SNAPSHOT:build (default) @ quarkus-full-microprofile ---
[WARNING] [io.quarkus.deployment.configuration] Configuration property 'quarkus.package.type' has been deprecated and replaced by: [quarkus.package.jar.enabled, quarkus.package.jar.type, quarkus.native.enabled, quarkus.native.sources-only]
[INFO] [io.quarkus.smallrye.jwt.deployment.SmallRyeJwtProcessor] Adding META-INF/resources/publicKey.pem to native image
[INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /disk/graal/upstream-sources/mandrel-integration-tests/apps/quarkus-full-microprofile/target/quarkus-native-image-source-jar/quarkus-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on MANDREL 24.2.0-dev042514814ec1 JDK 24-beta+6-ea
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /disk/graal/upstream-sources/graal/mandrel-build/bin/native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dlogging.initial-configurator.min-level=500 -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=3 -J-Duser.language=en -J-Duser.country=US -J-Dfile.encoding=UTF-8 --features=io.quarkus.runner.Feature,io.quarkus.runtime.graal.DisableLoggingFeature -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -J--add-opens=java.base/java.io=ALL-UNNAMED -J--add-opens=java.base/java.lang.invoke=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -H:+UnlockExperimentalVMOptions -H:BuildOutputJSONFile=quarkus-runner-build-output-stats.json -H:-UnlockExperimentalVMOptions -H:+UnlockExperimentalVMOptions -H:Log=registerResource: -H:-UnlockExperimentalVMOptions --trace-object-instantiation=java.util.Random -H:+UnlockExperimentalVMOptions -H:+AllowFoldMethods -H:-UnlockExperimentalVMOptions -J-Djava.awt.headless=true --no-fallback --link-at-build-time -H:+UnlockExperimentalVMOptions -H:+ReportExceptionStackTraces -H:-UnlockExperimentalVMOptions -H:-AddAllCharsets --enable-url-protocols=http,https -H:NativeLinkerOption=-no-pie --enable-monitoring=heapdump -H:+UnlockExperimentalVMOptions -H:-UseServiceLoaderFeature -H:-UnlockExperimentalVMOptions -J--add-exports=org.graalvm.nativeimage/org.graalvm.nativeimage.impl=ALL-UNNAMED --exclude-config io\.netty\.netty-codec /META-INF/native-image/io\.netty/netty-codec/generated/handlers/reflect-config\.json --exclude-config io\.netty\.netty-handler /META-INF/native-image/io\.netty/netty-handler/generated/handlers/reflect-config\.json quarkus-runner -jar quarkus-runner.jar
Warning: Option 'DynamicProxyConfigurationResources' is deprecated and might be removed in a future release: This can be caused by a proxy-config.json file in your META-INF directory. Consider including proxy configuration in the reflection section of reachability-metadata.md instead.. Please refer to the GraalVM release notes.
========================================================================================================================
GraalVM Native Image: Generating 'quarkus-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...                                                                                    (5.9s @ 0.30GB)
 Java version: 24-beta+6-ea, vendor version: Mandrel-24.2.0-dev042514814ec1
 Graal compiler: optimization level: 2, target machine: x86-64-v3
 C compiler: gcc (redhat, x86_64, 13.3.1)
 Garbage collector: Serial GC (max heap size: 80% of RAM)
 3 user-specific feature(s):
 - com.oracle.svm.thirdparty.gson.GsonFeature
 - io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
 - io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase
------------------------------------------------------------------------------------------------------------------------
 4 experimental option(s) unlocked:
 - '-H:+AllowFoldMethods' (origin(s): command line)
 - '-H:BuildOutputJSONFile' (origin(s): command line)
 - '-H:-UseServiceLoaderFeature' (origin(s): command line)
 - '-H:Log' (origin(s): command line)
------------------------------------------------------------------------------------------------------------------------
Build resources:
 - 26.49GB of memory (42.4% of 62.55GB system memory, determined at start)
 - 12 thread(s) (100.0% of 12 available processor(s), determined at start)
[Use -Djdk.graal.LogFile=<path> to redirect Graal log output to a file.]
[thread:29] scope: ForkJoinPool.commonPool-worker-2
  [thread:29] scope: ForkJoinPool.commonPool-worker-2.ClosedWorldAnalysis
  Context: StructuredGraph:17282{AnalysisMethod<MethodHandleIntrinsicImpl.execute -> HotSpotMethod<MethodHandleIntrinsicImpl.execute(Object[])>, invoked: false, implInvoked: false, intrinsic: false, inlined: false>}
  Context: AnalysisMethod<MethodHandleIntrinsicImpl.execute -> HotSpotMethod<MethodHandleIntrinsicImpl.execute(Object[])>, invoked: false, implInvoked: false, intrinsic: false, inlined: false>
    [thread:29] scope: ForkJoinPool.commonPool-worker-2.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope ForkJoinPool.commonPool-worker-2.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: jdk.graal.compiler.java.BytecodeParser$BytecodeParserError: jdk.graal.compiler.debug.GraalError: should not reach here: unexpected value: LINK_TO_NATIVE
        at parsing com.oracle.svm.core.methodhandles.MethodHandleIntrinsicImpl.execute(MethodHandleIntrinsicImpl.java:183)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2740)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:225)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3753)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.iterateBytecodesForBlock(SharedGraphBuilderPhase.java:954)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3705)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3552)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.build(BytecodeParser.java:1163)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.build(SharedGraphBuilderPhase.java:205)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:1055)
        at jdk.graal.compiler/jdk.graal.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:103)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:157)
        at jdk.graal.compiler/jdk.graal.compiler.phases.Phase.run(Phase.java:49)
        at jdk.graal.compiler/jdk.graal.compiler.phases.BasePhase.apply(BasePhase.java:468)
        at jdk.graal.compiler/jdk.graal.compiler.phases.Phase.apply(Phase.java:42)
        at jdk.graal.compiler/jdk.graal.compiler.phases.Phase.apply(Phase.java:38)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.AnalysisParsedGraph.parseBytecode(AnalysisParsedGraph.java:144)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.parseGraph(AnalysisMethod.java:887)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsedHelper(AnalysisMethod.java:852)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:835)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:191)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:656)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:167)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:152)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraphInfo(MethodTypeFlow.java:110)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:114)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:628)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:575)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:166)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:152)
        at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1735)
        at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1726)
        at java.base/java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(ForkJoinTask.java:1650)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1458)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2034)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:189)
    Caused by: jdk.graal.compiler.debug.GraalError: should not reach here: unexpected value: LINK_TO_NATIVE
        at jdk.graal.compiler/jdk.graal.compiler.debug.GraalError.shouldNotReachHereUnexpectedValue(GraalError.java:61)
        at jdk.graal.compiler/jdk.graal.compiler.replacements.nodes.MethodHandleNode.tryResolveTargetInvoke(MethodHandleNode.java:110)
        at jdk.graal.compiler/jdk.graal.compiler.replacements.MethodHandlePlugin.handleInvoke(MethodHandlePlugin.java:83)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.tryNodePluginForInvocation(BytecodeParser.java:2516)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.appendInvoke(BytecodeParser.java:2077)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1855)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1836)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5786)
        at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3745)
        ... 33 more

    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
    Context obj StructuredGraph:17282{AnalysisMethod<MethodHandleIntrinsicImpl.execute -> HotSpotMethod<MethodHandleIntrinsicImpl.execute(Object[])>, invoked: false, implInvoked: false, intrinsic: false, inlined: false>}
    Context obj AnalysisMethod<MethodHandleIntrinsicImpl.execute -> HotSpotMethod<MethodHandleIntrinsicImpl.execute(Object[])>, invoked: false, implInvoked: false, intrinsic: false, inlined: false>
[2/8] Performing analysis...  []                                                                         (4.5s @ 0.42GB)
    3,487 reachable types   (60.2% of    5,795 total)
    2,828 reachable fields  (32.3% of    8,766 total)
    9,754 reachable methods (25.0% of   39,053 total)
    1,372 types,    34 fields, and   448 methods registered for reflection

Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing com.oracle.svm.core.methodhandles.MethodHandleIntrinsicImpl.execute(MethodHandleIntrinsicImpl.java:170) 
Parsing context:
   at com.oracle.svm.core.methodhandles.Util_java_lang_invoke_MethodHandle.invokeInternal(Target_java_lang_invoke_MethodHandle.java:186)
   at com.oracle.svm.core.methodhandles.Util_java_lang_invoke_MethodHandle.linkTo(Target_java_lang_invoke_MethodHandle.java:171)
   at java.lang.invoke.MethodHandle.linkToVirtual(generated:0)
   at org.slf4j.impl.Slf4jLogger.setMarker(Slf4jLogger.java:594)
   at org.slf4j.impl.Slf4jLogger.log(Slf4jLogger.java:587)
   at org.slf4j.impl.Slf4jLogger.log(Slf4jLogger.java:81)
   at io.netty.util.internal.logging.LocationAwareSlf4JLogger.log(LocationAwareSlf4JLogger.java:50)
   at io.netty.util.internal.logging.LocationAwareSlf4JLogger.warn(LocationAwareSlf4JLogger.java:195)
   at io.netty.util.internal.PromiseNotificationUtil.tryFailure(PromiseNotificationUtil.java:69)
   at io.netty.channel.ChannelOutboundBuffer.safeFail(ChannelOutboundBuffer.java:754)
   at io.netty.channel.ChannelOutboundBuffer.close(ChannelOutboundBuffer.java:731)
   at io.netty.channel.AbstractChannel$AbstractUnsafe.closeOutboundBufferForShutdown(AbstractChannel.java:671)
   at io.netty.channel.AbstractChannel$AbstractUnsafe.shutdownOutput(AbstractChannel.java:664)
   at io.netty.channel.AbstractChannel$AbstractUnsafe.handleWriteError(AbstractChannel.java:951)
   at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931)
   at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:359)
   at io.netty.channel.nio.AbstractNioByteChannel$1.run(AbstractNioByteChannel.java:54)
   at java.lang.Shutdown.runHooks(Shutdown.java:130)
   at java.lang.Shutdown.exit(Shutdown.java:167)
   at com.oracle.svm.core.MissingRegistrationUtils.report(MissingRegistrationUtils.java:60)
   at com.oracle.svm.core.jdk.resources.MissingResourceRegistrationUtils.report(MissingResourceRegistrationUtils.java:70)
   at com.oracle.svm.core.jdk.resources.MissingResourceRegistrationUtils.missingResource(MissingResourceRegistrationUtils.java:46)
   at com.oracle.svm.core.jdk.Resources.missingMetadata(Resources.java:382)
   at com.oracle.svm.core.jdk.Resources.getAtRuntime(Resources.java:352)
   at com.oracle.svm.core.jdk.Resources.createURLs(Resources.java:467)
   at com.oracle.svm.core.jdk.Resources.createURL(Resources.java:407)
   at com.oracle.svm.core.jdk.Target_jdk_internal_loader_BuiltinClassLoader.findResource(Target_jdk_internal_loader_BuiltinClassLoader.java:77)
   at java.lang.ClassLoader.getResource(ClassLoader.java:1415)
   at jakarta.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:113)
   at jakarta.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:88)
   at jakarta.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:69)
   at jakarta.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:80)
   at org.jboss.resteasy.reactive.client.impl.StorkClientRequestFilter.lambda$filter$0(StorkClientRequestFilter.java:78)
   at static root method.(Unknown Source)

    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:165)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:184)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:152)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraphInfo(MethodTypeFlow.java:110)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:114)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:628)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:575)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:166)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:152)
    at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1735)
    at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1726)
    at java.base/java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(ForkJoinTask.java:1650)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1458)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2034)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:189)
Caused by: jdk.graal.compiler.java.BytecodeParser$BytecodeParserError: jdk.graal.compiler.debug.GraalError: should not reach here: unexpected value: LINK_TO_NATIVE
    at parsing com.oracle.svm.core.methodhandles.MethodHandleIntrinsicImpl.execute(MethodHandleIntrinsicImpl.java:183)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2740)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:225)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3753)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.iterateBytecodesForBlock(SharedGraphBuilderPhase.java:954)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3705)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3552)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.build(BytecodeParser.java:1163)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.build(SharedGraphBuilderPhase.java:205)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:1055)
    at jdk.graal.compiler/jdk.graal.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:103)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:157)
    at jdk.graal.compiler/jdk.graal.compiler.phases.Phase.run(Phase.java:49)
    at jdk.graal.compiler/jdk.graal.compiler.phases.BasePhase.apply(BasePhase.java:468)
    at jdk.graal.compiler/jdk.graal.compiler.phases.Phase.apply(Phase.java:42)
    at jdk.graal.compiler/jdk.graal.compiler.phases.Phase.apply(Phase.java:38)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.AnalysisParsedGraph.parseBytecode(AnalysisParsedGraph.java:144)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.parseGraph(AnalysisMethod.java:887)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsedHelper(AnalysisMethod.java:852)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:835)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:191)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:656)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:167)
    ... 14 more
Caused by: jdk.graal.compiler.debug.GraalError: should not reach here: unexpected value: LINK_TO_NATIVE
    at jdk.graal.compiler/jdk.graal.compiler.debug.GraalError.shouldNotReachHereUnexpectedValue(GraalError.java:61)
    at jdk.graal.compiler/jdk.graal.compiler.replacements.nodes.MethodHandleNode.tryResolveTargetInvoke(MethodHandleNode.java:110)
    at jdk.graal.compiler/jdk.graal.compiler.replacements.MethodHandlePlugin.handleInvoke(MethodHandlePlugin.java:83)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.tryNodePluginForInvocation(BytecodeParser.java:2516)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.appendInvoke(BytecodeParser.java:2077)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1855)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1836)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5786)
    at jdk.graal.compiler/jdk.graal.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3745)
    ... 33 more
------------------------------------------------------------------------------------------------------------------------
                        0.4s (3.1% of total time) in 21 GCs | Peak RSS: 1.14GB | CPU load: 7.60
========================================================================================================================
Failed generating 'quarkus-runner' after 11.3s.
[INFO] ------------------------------------------------------------------------

How To Reproduce

Steps to reproduce the behavior:

  1. clone mandrel-integration-tests
  2. run the quarkus-full-microprofile application

Configuration:

Expected behavior

Mandrel integration test passes.

Additional context

It might be that we need to wait for the next JVMCI update from upstream to JDK 24+6. Currently it only supports builds up to 24+5.

jerboaa commented 3 weeks ago

The main error we see everywhere is:

Caused by: jdk.graal.compiler.debug.GraalError: should not reach here: unexpected value: LINK_TO_NATIVE
zakkak commented 3 weeks ago

The upstream PR for compatibility with 24+6 is https://github.com/oracle/graal/pull/9302 and is expected to fix this.

zakkak commented 2 weeks ago

Upstream is now merged. Let's see what the CI says.

zakkak commented 2 weeks ago

Issue resolved: https://github.com/graalvm/mandrel/actions/runs/9948658053