Closed as not planned
Closed as not planned
Description
Describe the issue
When I run native-image without --no-fallback
on a project that has an incomplete classpath, it falls back (as expected). But when I add the --no-fallback
option the build does not fail and the resulting executable fails at runtime.
Steps to reproduce the issue
git clone https://github.com/jamesward/scala3-graalvm-tester.git
cd scala3-graalvm-tester
- Run without
--no-fallback
:./sbt packageWithFallback
- Run with
--no-fallback
:./sbt packageWithNoFallback
Describe GraalVM and your environment:
- GraalVM version: 21.3.0
- JDK major version: 11
- OS: Linux
- Architecture: AMD64
Output when running with --no-fallback
$ ./sbt packageWithNoFallback
[info] welcome to sbt 1.5.5 (GraalVM Community Java 11.0.13)
[info] loading settings for project scala3-graalvm-tester-build from plugins.sbt ...
[info] loading project definition from /home/jamesward/projects/scala3-graalvm-tester/project
[info] loading settings for project scala3-graalvm-tester from build.sbt ...
[info] set current project to scala3-graalvm-tester (in build file:/home/jamesward/projects/scala3-graalvm-tester/)
[warn] there's a key that's not used by any other settings/tasks:
[warn]
[warn] * scala3-graalvm-tester / packageWithNoFallback / graalVMNativeImageOptions
[warn] +- /home/jamesward/projects/scala3-graalvm-tester/build.sbt:20
[warn]
[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
[info] set current project to scala3-graalvm-tester (in build file:/home/jamesward/projects/scala3-graalvm-tester/)
[info] Using existing GraalVM native-image image: ghcr.io-graalvm-graalvm-ce-native-image:21.3.0
[info] Wrote /home/jamesward/projects/scala3-graalvm-tester/target/scala-3.1.0/scala3-graalvm-tester_3-0.1.0-SNAPSHOT.pom
[info] Executing [
[info] /opt/graalvm-ce-java17-21.3.0/bin/java \
[info] -XX:+UseParallelGC \
[info] -XX:+UnlockExperimentalVMOptions \
[info] -XX:+EnableJVMCI \
[info] -Dtruffle.TrustAllTruffleRuntimeProviders=true \
[info] -Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
[info] -Dgraalvm.ForcePolyglotInvalid=true \
[info] -Dgraalvm.locatorDisabled=true \
[info] -Dsubstratevm.IgnoreGraalVersionCheck=true \
[info] --add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
[info] --add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
[info] --add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
[info] --add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
[info] --add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
[info] --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
[info] --add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
[info] --add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
[info] --add-exports=java.base/sun.security.jca=ALL-UNNAMED \
[info] --add-exports=java.base/sun.security.provider=ALL-UNNAMED \
[info] --add-exports=java.base/sun.security.util=ALL-UNNAMED \
[info] --add-exports=java.base/sun.text.spi=ALL-UNNAMED \
[info] --add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
[info] --add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
[info] --add-exports=java.base/sun.util.resources=ALL-UNNAMED \
[info] --add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
[info] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
[info] --add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
[info] --add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
[info] --add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
[info] --add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
[info] --add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
[info] -XX:+UseJVMCINativeLibrary \
[info] -Xss10m \
[info] -Xms1g \
[info] -Xmx13233799168 \
[info] -Duser.country=US \
[info] -Duser.language=en \
[info] -Djava.awt.headless=true \
[info] -Dorg.graalvm.version=21.3.0 \
[info] -Dorg.graalvm.config=CE \
[info] -Dcom.oracle.graalvm.isaot=true \
[info] -Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
[info] -Xshare:off \
[info] -Djdk.internal.lambda.disableEagerInitialization=true \
[info] -Djdk.internal.lambda.eagerlyInitialize=false \
[info] -Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
[info] -javaagent:/opt/graalvm-ce-java17-21.3.0/lib/svm/builder/svm.jar \
[info] -cp \
[info] /opt/graalvm-ce-java17-21.3.0/lib/svm/builder/svm.jar:/opt/graalvm-ce-java17-21.3.0/lib/svm/builder/pointsto.jar:/opt/graalvm-ce-java17-21.3.0/lib/svm/builder/javacpp-shadowed.jar:/opt/graalvm-ce-java17-21.3.0/lib/svm/builder/svm-llvm.jar:/opt/graalvm-ce-java17-21.3.0/lib/svm/builder/objectfile.jar:/opt/graalvm-ce-java17-21.3.0/lib/svm/builder/llvm-wrapper-shadowed.jar:/opt/graalvm-ce-java17-21.3.0/lib/svm/builder/llvm-platform-specific-shadowed.jar \
[info] --module-path \
[info] /opt/graalvm-ce-java17-21.3.0/lib/truffle/truffle-api.jar \
[info] 'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
[info] -watchpid \
[info] 1 \
[info] -imagecp \
[info] /opt/graalvm/stage/lib/default.scala3-graalvm-tester-0.1.0-SNAPSHOT.jar:/opt/graalvm/stage/lib/org.scala-lang.scala3-library_3-3.1.0.jar:/opt/graalvm/stage/lib/org.scala-lang.scala-library-2.13.6.jar:/opt/graalvm-ce-java17-21.3.0/lib/svm/library-support.jar \
[info] -H:Path=/opt/graalvm \
[info] -H:Name=scala3-graalvm-tester \
[info] -H:+DumpTargetInfo \
[info] -H:FallbackThreshold=0 \
[info] -H:CLibraryPath=/opt/graalvm-ce-java17-21.3.0/lib/svm/clibraries/linux-amd64 \
[info] '-H:Class@explicit main-class=run'
[info] ]
[info] [scala3-graalvm-tester:27] classlist: 3,275.07 ms, 0.96 GB
[info] [scala3-graalvm-tester:27] (cap): 1,394.73 ms, 0.96 GB
[info] [scala3-graalvm-tester:27] setup: 4,869.37 ms, 0.96 GB
[info] # Printing compilation-target information to: /opt/graalvm/reports/target_info_20211112_175146.txt
[info] [scala3-graalvm-tester:27] (clinit): 241.79 ms, 2.29 GB
[info] # Printing native-library information to: /opt/graalvm/reports/native_library_info_20211112_175206.txt
[info] [scala3-graalvm-tester:27] (typeflow): 6,561.07 ms, 2.29 GB
[info] [scala3-graalvm-tester:27] (objects): 10,337.41 ms, 2.29 GB
[info] [scala3-graalvm-tester:27] (features): 2,314.63 ms, 2.29 GB
[info] [scala3-graalvm-tester:27] analysis: 20,125.19 ms, 2.29 GB
[info] [scala3-graalvm-tester:27] universe: 1,108.06 ms, 2.29 GB
[info] [scala3-graalvm-tester:27] (parse): 1,346.78 ms, 2.30 GB
[info] [scala3-graalvm-tester:27] (inline): 1,300.26 ms, 2.30 GB
[info] [scala3-graalvm-tester:27] (compile): 18,270.58 ms, 4.07 GB
[info] [scala3-graalvm-tester:27] compile: 22,515.95 ms, 4.07 GB
[info] [scala3-graalvm-tester:27] image: 1,925.68 ms, 4.46 GB
[info] [scala3-graalvm-tester:27] write: 278.27 ms, 4.46 GB
[info] [scala3-graalvm-tester:27] [total]: 54,614.75 ms, 4.46 GB
[info] # Printing build artifacts to: /opt/graalvm/scala3-graalvm-tester.build_artifacts.txt
[success] Total time: 58 s, completed Nov 12, 2021, 10:52:33 AM