Uploaded image for project: 'Quarkus'
  1. Quarkus
  2. QUARKUS-2981

Compilation failure of SQL app when using `mandrel-21-jdk17-rhel8:21.3` image

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Critical Critical
    • 2.7.NEXT
    • 2.7.7.CR2
    • mandrel, team/docs
    • None
    • False
    • None
    • False
    • Release Notes
    • ---

      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
      

              fzakkak1@redhat.com Foivos Zakkak
              rsvoboda@redhat.com Rostislav Svoboda
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: