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
381 stars 15 forks source link

[24.1] Mandrel fails to build due to BootstrapMethodConfiguration feature init failure #717

Closed jerboaa closed 1 month ago

jerboaa commented 2 months ago

Description

Mandrel builds with JDK-23-beta+19-ea fail initializing the BootstrapMethodConfiguration feature when generating the native image agent:

========================================================================================================================
GraalVM Native Image: Generating 'native-image-agent' (shared library)...
========================================================================================================================
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.08GB)
Error: Error instantiating Feature class com.oracle.svm.core.bootstrap.BootstrapMethodConfiguration. Ensure the class is not abstract and has a no-argument constructor.
------------------------------------------------------------------------------------------------------------------------
                        0.2s (5.4% of total time) in 10 GCs | Peak RSS: 0.28GB | CPU load: 2.48
========================================================================================================================
Failed generating 'native-image-agent' after 3.3s.
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Failed, exit code: 1
    at OperatingSystem.exec(build.java:1813)
    at build.buildAgents(build.java:290)
    at build.main(build.java:233)
Caused by: java.lang.RuntimeException: Failed, exit code: 1
    at OperatingSystem.exec(build.java:1802)
    at build.buildAgents(build.java:290)
    at build.main(build.java:233)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher.execute(SourceLauncher.java:268)
    at jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher.run(SourceLauncher.java:153)
    at jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher.main(SourceLauncher.java:78)
native-image 23-beta 2024-09-17
OpenJDK Runtime Environment Mandrel-24.1.0-deva65ec785 (build 23-beta+19-ea)
OpenJDK 64-Bit Server VM Mandrel-24.1.0-deva65ec785 (build 23-beta+19-ea, mixed mode)

See: https://github.com/graalvm/mandrel/actions/runs/8761583811/job/24048287236#step:8:473 (Windows) and https://github.com/graalvm/mandrel/actions/runs/8761583811/job/24048286667#step:8:500 (Linux)

zakkak commented 2 months ago

The stack trace leading to this is

com.oracle.svm.core.util.VMError$HostedError: InternalFeature defined by com.oracle.svm.core.bootstrap.BootstrapMethodConfiguration unexpectedly failed with a(n) com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
    at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:86)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.handleFeatureError(FeatureHandler.java:297)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:95)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:785)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:573)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:539)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:526)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:701)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:140)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:95)
Caused by: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError: java.lang.ClassNotFoundException: jdk.internal.util.FormatConcatItem
    at org.graalvm.nativeimage.base/com.oracle.svm.util.ReflectionUtil.lookupClass(ReflectionUtil.java:66)
    at org.graalvm.nativeimage.builder/com.oracle.svm.core.bootstrap.BootstrapMethodConfiguration.beforeAnalysis(BootstrapMethodConfiguration.java:133)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:785)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:93)
    ... 7 more
Caused by: java.lang.ClassNotFoundException: jdk.internal.util.FormatConcatItem
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:578)
    at java.base/java.lang.Class.forName(Class.java:557)
    at org.graalvm.nativeimage.base/com.oracle.svm.util.ReflectionUtil.lookupClass(ReflectionUtil.java:61)
    ... 10 more
Caused by:
com.oracle.svm.core.util.VMError$HostedError: InternalFeature defined by com.oracle.svm.core.bootstrap.BootstrapMethodConfiguration unexpectedly failed with a(n) com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
    at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:86)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.handleFeatureError(FeatureHandler.java:297)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:95)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:785)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:573)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:539)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:526)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:701)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:140)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:95)
Caused by: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError: java.lang.ClassNotFoundException: jdk.internal.util.FormatConcatItem
    at org.graalvm.nativeimage.base/com.oracle.svm.util.ReflectionUtil.lookupClass(ReflectionUtil.java:66)
    at org.graalvm.nativeimage.builder/com.oracle.svm.core.bootstrap.BootstrapMethodConfiguration.beforeAnalysis(BootstrapMethodConfiguration.java:133)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:785)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:93)
    ... 7 more
Caused by: java.lang.ClassNotFoundException: jdk.internal.util.FormatConcatItem
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:578)
    at java.base/java.lang.Class.forName(Class.java:557)
    at org.graalvm.nativeimage.base/com.oracle.svm.util.ReflectionUtil.lookupClass(ReflectionUtil.java:61)
    ... 10 more
Caused by:
com.oracle.svm.core.util.VMError$HostedError: InternalFeature defined by com.oracle.svm.core.bootstrap.BootstrapMethodConfiguration unexpectedly failed with a(n) com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
    at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:86)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.handleFeatureError(FeatureHandler.java:297)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:95)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:785)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:573)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:539)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:526)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:701)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:140)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:95)
Caused by: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError: java.lang.ClassNotFoundException: jdk.internal.util.FormatConcatItem
    at org.graalvm.nativeimage.base/com.oracle.svm.util.ReflectionUtil.lookupClass(ReflectionUtil.java:66)
    at org.graalvm.nativeimage.builder/com.oracle.svm.core.bootstrap.BootstrapMethodConfiguration.beforeAnalysis(BootstrapMethodConfiguration.java:133)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:785)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:93)
    ... 7 more
Caused by: java.lang.ClassNotFoundException: jdk.internal.util.FormatConcatItem
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:578)
    at java.base/java.lang.Class.forName(Class.java:557)
    at org.graalvm.nativeimage.base/com.oracle.svm.util.ReflectionUtil.lookupClass(ReflectionUtil.java:61)
    ... 10 more

The issue is caused by JDK-8329948 and is expected to be fixed by https://github.com/oracle/graal/pull/8805/commits/9778678fe5fe3a4ca9aa6e6211bd248011ea5a30 in https://github.com/oracle/graal/pull/8805

zakkak commented 1 month ago

https://github.com/oracle/graal/pull/8805 is now merged and the issue no longer reproduces.