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

3.2.12.CR1 Native compilation of camel-quarkus-google-bigquery failing due to issues with netty version

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 3.2.12.GA
    • 3.2.12.GA
    • None
    • False
    • None
    • False
    • ---

      The google-bigquerry extension is unable to build a native image due to missing dependencies.

      Upon discussion with engineering, this is most likely due to Netty version being upgraded to 4.1.108.Final causing this issue: https://github.com/apache/camel-quarkus/issues/5641

      12:55:51,374 INFO  -------------------- CompilationSupportedExtensionTest.extensionCanBeCompiled[Coordinates{groupId='org.apache.camel.quarkus', artifactId='camel-quarkus-google-bigquery', version='null'}] --------------------
      23.0: Pulling from quarkus/mandrel-23-rhel8
      Digest: sha256:4d9db352fd66b22464ce8b69ef24ec2eeb89f47063bc06d612ee76b58b59d3ab
      Status: Image is up to date for registry.access.redhat.com/quarkus/mandrel-23-rhel8:23.0
      registry.access.redhat.com/quarkus/mandrel-23-rhel8:23.0
      ========================================================================================================================
      GraalVM Native Image: Generating 'camel-exts-for-quarkus-supported-extensions-1.0-snapshot-runner' (executable)...
      ========================================================================================================================
      For detailed information and explanations on the build output, visit:
      https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
      ------------------------------------------------------------------------------------------------------------------------
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder.
      Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState.
      Warning: Could not resolve class com.google.auth.appengine.AppEngineCredentials for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.auth.appengine.AppEngineCredentials.
      Warning: Could not resolve class org.apache.commons.pool2.impl.DefaultEvictionPolicy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.DefaultEvictionPolicy.
      [1/8] Initializing...                                                                                    (7.8s @ 0.31GB)
       Java version: 17.0.11+9-LTS, vendor version: Mandrel-23.0.4.0-1b2
       Graal compiler: optimization level: 2, target machine: x86-64-v3
       C compiler: gcc (redhat, x86_64, 8.5.0)
       Garbage collector: Serial GC (max heap size: 80% of RAM)
       6 user-specific feature(s)
       - com.google.api.gax.grpc.nativeimage.GrpcNettyFeature
       - com.google.api.gax.nativeimage.GoogleJsonClientFeature
       - com.google.api.gax.nativeimage.OpenCensusFeature
       - com.oracle.svm.thirdparty.gson.GsonFeature
       - io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
       - io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase
      12:56:26,357 WARNING [com.goo.api.gax.nat.NativeImageUtils] Failed to find io.grpc.netty.shaded.io.netty.channel.ProtocolNegotiators on the classpath for reflection.
      [2/8] Performing analysis...  []                                                                         (3.6s @ 0.35GB)
         2,623 (52.33%) of  5,012 types reachable
         2,504 (48.27%) of  5,188 fields reachable
         4,644 (10.82%) of 42,933 methods reachable
         1,754 types, 1,368 fields, and 24,542 methods registered for reflection
      
      Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing io.netty.buffer.PooledByteBufAllocatorL.<init>(PooledByteBufAllocatorL.java:47) 
      Parsing context:
         at org.apache.arrow.memory.NettyAllocationManager.<clinit>(NettyAllocationManager.java:51)
         at static root method.(Unknown Source)
      
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:149)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:178)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:152)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraphInfo(MethodTypeFlow.java:110)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultSpecialInvokeTypeFlow.lambda$onObservedUpdate$0(DefaultSpecialInvokeTypeFlow.java:63)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.LightImmutableCollection.forEach(LightImmutableCollection.java:90)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultSpecialInvokeTypeFlow.onObservedUpdate(DefaultSpecialInvokeTypeFlow.java:62)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:583)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:474)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:187)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:171)
      	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
      	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
      	at java.base/java.util.concurrent.ForkJoinPool.externalHelpQuiescePool(ForkJoinPool.java:2104)
      	at java.base/java.util.concurrent.ForkJoinPool.awaitQuiescence(ForkJoinPool.java:3323)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:237)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.doTypeflow(PointsToAnalysis.java:527)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:515)
      	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:160)
      	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:767)
      	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:582)
      	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:408)
      	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:612)
      	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:134)
      	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:94)
      Caused by: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved field during parsing: io.netty.buffer.PoolArena.chunkSize. This error is reported at image build time because class io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator is registered for linking at image build time by command line 

              varjain@redhat.com Vardhman Jain
              jirisimek98 Jiri Simek
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: