Compilation failure of SQL app when using `mandrel-21-jdk17-rhel8:21.3` image
Compilation works fine with `mandrel-21-rhel8:21.3` image
Marking as Critical because jdk17 based image is TP in 2.7 stream
Issue identified during RHBQ 2.7.7.CR2 testing cycle, problem can be reproduced using the upstream Quarkus bits with `registry.access.redhat.com/quarkus/mandrel-21-jdk17-rhel8:21.3`
Failure details:
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] docker run --env LANG=C --rm -v /Users/rsvoboda/git/quarkus-test-suite/sql-db/sql-app/target/sqldb-sqlapp-1.0.0-SNAPSHOT-native-image-source-jar:/project:z --name build-native-YgFbd registry.access.redhat.com/quarkus/mandrel-21-jdk17-rhel8:21.3 -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-DCoordinatorEnvironmentBean.transactionStatusManagerEnable=false -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dcom.mysql.cj.disableAbandonedConnectionCleanup=true -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=GB -J-Dfile.encoding=UTF-8 -H:-ParseOnce -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -J-Djava.awt.headless=true -H:FallbackThreshold=0 --allow-incomplete-classpath -H:+ReportExceptionStackTraces -J-Xmx5g -H:+AddAllCharsets -H:EnableURLProtocols=http,https -H:-UseServiceLoaderFeature -H:+StackTrace --exclude-config com\.oracle\.database\.jdbc /META-INF/native-image/native-image\.properties --exclude-config com\.oracle\.database\.jdbc /META-INF/native-image/reflect-config\.json sqldb-sqlapp-1.0.0-SNAPSHOT-runner -jar sqldb-sqlapp-1.0.0-SNAPSHOT-runner.jar [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] classlist: 17,133.21 ms, 0.94 GB [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] (cap): 707.40 ms, 0.94 GB [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] setup: 3,377.62 ms, 1.19 GB The bundle named: com/sun/rowset/RowSetResourceBundle, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath. 15:49:06,001 INFO [org.hib.val.int.uti.Version] HV000001: Hibernate Validator 6.2.2.Final 15:49:06,544 INFO [org.hib.Version] HHH000412: Hibernate ORM core version 5.6.5.Final 15:49:06,568 INFO [org.hib.ann.com.Version] HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 15:49:06,698 INFO [org.hib.dia.Dialect] HHH000400: Using dialect: io.quarkus.hibernate.orm.runtime.dialect.QuarkusH2Dialect 15:49:27,238 INFO [org.jbo.threads] JBoss Threads version 3.4.2.Final [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] (clinit): 1,781.53 ms, 3.19 GB [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] (typeflow): 5,623.21 ms, 3.19 GB [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] (objects): 75,641.90 ms, 3.19 GB [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] (features): 9,806.07 ms, 3.19 GB [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] analysis: 97,216.37 ms, 3.19 GB [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] universe: 4,948.02 ms, 3.00 GB Fatal error:java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Illegal Capacity: -1 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:562) at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:591) at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:672) at com.oracle.svm.hosted.meta.UniverseBuilder.build(UniverseBuilder.java:183) at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:545) at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:488) at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:410) at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:594) at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:124) at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:624) Caused by: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Illegal Capacity: -1 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:562) at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:591) at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:689) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) at com.oracle.svm.hosted.meta.UniverseBuilder.buildProfilingInformation(UniverseBuilder.java:354) at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.IllegalArgumentException: Illegal Capacity: -1 at java.base/java.util.ArrayList.<init>(ArrayList.java:160) at com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder.makeOrApplyResults(StaticAnalysisResultsBuilder.java:97) at com.oracle.svm.hosted.meta.UniverseBuilder.lambda$buildProfilingInformation$0(UniverseBuilder.java:354) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1850) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ... 5 more [sqldb-sqlapp-1.0.0-SNAPSHOT-runner:59] [total]: 123,445.63 ms, 3.00 GB # Printing build artifacts to: /project/sqldb-sqlapp-1.0.0-SNAPSHOT-runner.build_artifacts.txt Error: Image build request failed with exit status 1
Investigation details against https://github.com/quarkus-qe/quarkus-test-suite/tree/2.7
mvn clean package -DskipTests -DskipITs -Dnative -f sql-db/sql-app -Dquarkus.native.builder-image=registry.access.redhat.com/quarkus/mandrel-21-rhel8:21.3 => PASS mvn clean package -DskipTests -DskipITs -Dnative -f sql-db/sql-app -Dquarkus.native.builder-image=registry.access.redhat.com/quarkus/mandrel-21-jdk17-rhel8:21.3 => FAIL sdk use java 21.3.3.r17-grl mvn clean package -DskipTests -DskipITs -Dnative -f sql-db/sql-app -Dquarkus.native.container-build=false => PASS mvn clean package -DskipTests -DskipITs -Dnative -f sql-db/sql-app -Dquarkus.native.builder-image=registry.access.redhat.com/quarkus/mandrel-21-jdk17-rhel8:21.3 -Dquarkus.platform.version=2.7.6.Final => FAIL
The above shows that the failure is not related to Quarkus 2.7.7 changes because Quarkus 2.7.6 fails too. This scenario wasn't failing when 2.7.6 was tested. That means there is a regression on Mandrel side.
The problem starts to appear with `mandrel-21-jdk17-rhel8:21.3-42`
mvn clean package -DskipTests -DskipITs -Dnative -f sql-db/sql-app -Dquarkus.native.builder-image=registry.access.redhat.com/quarkus/mandrel-21-jdk17-rhel8:21.3-42 => FAIL mvn clean package -DskipTests -DskipITs -Dnative -f sql-db/sql-app -Dquarkus.native.builder-image=registry.access.redhat.com/quarkus/mandrel-21-jdk17-rhel8:21.3-40 => PASS
- relates to
-
QUARKUS-2832 [Docs]: Update documentation for 2.7.7 release
- Closed