-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
env/graalvm-java11Relating to using GraalVM native image generation on Java 11Relating to using GraalVM native image generation on Java 11kind/bugSomething isn't workingSomething isn't working
Milestone
Description
Describe the bug
The following error happens with most (if not all) Quarkus integration tests during the native image startup (after the generation ended successfully):
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM Version 19.3.0 CE
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] docker run -v /home/git/quarkus/integration-tests/kogito/target/quarkus-integration-test-kogito-999-SNAPSHOT-native-image-source-jar:/project:z --user 0:0 --rm quay.io/quarkus/ubi-quarkus-native-image:19.3.0-java11 -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -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=1 --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime -jar quarkus-integration-test-kogito-999-SNAPSHOT-runner.jar -J-Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:+AddAllCharsets -H:EnableURLProtocols=http -H:+JNI --no-server -H:-UseServiceLoaderFeature -H:+StackTrace quarkus-integration-test-kogito-999-SNAPSHOT-runner
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] classlist: 31,275.92 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (cap): 2,406.23 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] setup: 5,438.86 ms
21:14:11,105 INFO [org.jbo.threads] JBoss Threads version 3.0.0.Final
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (typeflow): 64,753.97 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (objects): 39,490.06 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (features): 2,174.23 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] analysis: 111,257.16 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (clinit): 1,960.39 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] universe: 6,119.57 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (parse): 12,618.13 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (inline): 15,299.03 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] (compile): 64,538.59 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] compile: 100,775.67 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] image: 15,565.41 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] write: 2,620.39 ms
[quarkus-integration-test-kogito-999-SNAPSHOT-runner:27] [total]: 273,808.74 ms
[INFO] [io.quarkus.deployment.QuarkusAugmentor] Quarkus augmentation completed in 284609ms
[INFO]
[INFO] --- maven-failsafe-plugin:2.22.1:integration-test (default) @ quarkus-integration-test-kogito ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running io.quarkus.it.kogito.jbpm.OrdersProcessTestIT
Executing [/home/git/quarkus/integration-tests/kogito/target/quarkus-integration-test-kogito-999-SNAPSHOT-runner, -Dquarkus.http.port=8081, -Dtest.url=http://localhost:8081, -Dquarkus.log.file.path=target/quarkus.log]
Exception in thread "main" java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:194)
at io.quarkus.runtime.Application.start(Application.java:87)
at io.quarkus.runtime.Application.run(Application.java:210)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:41)
Caused by: java.lang.NullPointerException
at jdk.internal.loader.BootLoader.hasClassPath(BootLoader.java:101)
at java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1189)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
at org.eclipse.microprofile.config.spi.ConfigProviderResolver.loadSpi(ConfigProviderResolver.java:151)
at org.eclipse.microprofile.config.spi.ConfigProviderResolver.loadSpi(ConfigProviderResolver.java:146)
at org.eclipse.microprofile.config.spi.ConfigProviderResolver.loadSpi(ConfigProviderResolver.java:146)
at org.eclipse.microprofile.config.spi.ConfigProviderResolver.instance(ConfigProviderResolver.java:119)
at io.quarkus.runtime.generated.Config.readConfig(Config.zig:4497)
at io.quarkus.runtime.generated.Config.createRunTimeConfig(Config.zig:2830)
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:52)
... 3 more
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.323 s <<< FAILURE! - in io.quarkus.it.kogito.jbpm.OrdersProcessTestIT
[ERROR] testRuleEvaluation Time elapsed: 0.024 s <<< ERROR!
org.junit.jupiter.api.extension.TestInstantiationException: TestInstanceFactory [io.quarkus.test.junit.QuarkusTestExtension] failed to instantiate test class [io.quarkus.it.kogito.jbpm.OrdersProcessTestIT]: Failed to start native image, process has exited
Caused by: java.lang.RuntimeException: Failed to start native image, process has exited
It seems ClassLoaders.bootLoader()
returns null
which shouldn't be possible from what I can see in the JDK code (but I may read it wrong). This looks like an upstream bug but I'd like some opinions about it here before creating a GraalVM issue.
To Reproduce
Steps to reproduce the behavior:
- Build the Quarkus sources using JDK 11.
./mvnw clean install -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:19.3.0-java11 --projects :quarkus-integration-test-kogito
Environment:
- Output of
uname -a
:Linux pc-79.home 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
- Output of
java -version
:openjdk version "11.0.5" 2019-10-15 LTS OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)
- GraalVM version (if different from Java):
19.3.0
- Quarkus version or git rev:
master
Additional context
The native image build is done using a Docker image.
Metadata
Metadata
Assignees
Labels
env/graalvm-java11Relating to using GraalVM native image generation on Java 11Relating to using GraalVM native image generation on Java 11kind/bugSomething isn't workingSomething isn't working