zhfeng commented on issue #5006:
URL: https://github.com/apache/camel-quarkus/issues/5006#issuecomment-1613170644

   @jamesnetherton the work around seems only work in application file such as 
`integration-tests/google-bigquery/src/main/resources/META-INF/native-image/native-image.properties`
   
   @zakkak now we upgrade to quarkus `3.2.0.Final`, it is failing with
   ```
   [INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running 
Quarkus native-image plugin on native-image 17.0.7 2023-04-18
   OpenJDK Runtime Environment Mandrel-23.0.0.0-Final (build 17.0.7+7)
   OpenJDK 64-Bit Server VM Mandrel-23.0.0.0-Final (build 17.0.7+7, mixed mode)
   [INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] docker run 
--env LANG=C --rm --user 1000:1000 -v 
/home/zhfeng/work/zhfeng/camel-quarkus/integration-tests/google-bigquery/target/camel-quarkus-integration-test-google-bigquery-3.0.0-SNAPSHOT-native-image-source-jar:/project:z
 --name build-native-KDmxj 
quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-17 
-J-Djava.util.logging.manager=org.jboss.logmanager.LogManager 
-J-Dsun.nio.ch.maxUpdateArraySize=100 
-J-Dlogging.initial-configurator.min-level=500 
-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=zh -J-Duser.country=CN 
-J-Dfile.encoding=UTF-8 
--features=io.quarkus.runner.Feature,io.quarkus.runtime.graal.DisableLoggingFeature
 -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED 
-J--add-opens=java.base/java.text=ALL-UNNAMED -J--ad
 d-opens=java.base/java.io=ALL-UNNAMED 
-J--add-opens=java.base/java.lang.invoke=ALL-UNNAMED 
-J--add-opens=java.base/java.util=ALL-UNNAMED 
-H:BuildOutputJSONFile=camel-quarkus-integration-test-google-bigquery-3.0.0-SNAPSHOT-runner-build-output-stats.json
 -H:+AllowFoldMethods -J-Djava.awt.headless=true --no-fallback 
--link-at-build-time -H:+ReportExceptionStackTraces -H:-AddAllCharsets 
--enable-url-protocols=http -H:-UseServiceLoaderFeature -H:+StackTrace 
-J--add-exports=org.graalvm.sdk/org.graalvm.nativeimage.impl=ALL-UNNAMED 
--exclude-config io\.netty\.netty-codec 
/META-INF/native-image/io\.netty/netty-codec/generated/handlers/reflect-config\.json
 --exclude-config io\.netty\.netty-handler 
/META-INF/native-image/io\.netty/netty-handler/generated/handlers/reflect-config\.json
 camel-quarkus-integration-test-google-bigquery-3.0.0-SNAPSHOT-runner -jar 
camel-quarkus-integration-test-google-bigquery-3.0.0-SNAPSHOT-runner.jar
   
========================================================================================================================
   GraalVM Native Image: Generating 
'camel-quarkus-integration-test-google-bigquery-3.0.0-SNAPSHOT-runner' 
(executable)...
   
========================================================================================================================
   [1/8] Initializing...                                                        
                            (7.3s @ 0.35GB)
    Java version: 17.0.7+7, vendor version: Mandrel-23.0.0.0-Final
    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)
    8 user-specific feature(s)
    - com.google.api.gax.grpc.nativeimage.GrpcNettyFeature
    - com.google.api.gax.grpc.nativeimage.ProtobufMessageFeature
    - 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
    - org.eclipse.angus.activation.nativeimage.AngusActivationFeature
   Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The 
automatic substitution registration was attempted because a call to 
sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer 
of com.google.protobuf.UnsafeUtil. Detailed failure reason(s): The argument of 
sun.misc.Unsafe.objectFieldOffset(java.lang.reflect.Field) is not a constant 
value or a field load that can be constant-folded., Could not determine the 
field where the value produced by the call to 
sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is 
stored. The call is not directly followed by a field store or by a sign extend 
node followed directly by a field store. 
   [2/8] Performing analysis...  []                                             
                           (24.1s @ 6.07GB)
     15,321 (79.61%) of 19,245 types reachable
     21,672 (57.86%) of 37,454 fields reachable
     74,150 (52.75%) of 140,577 methods reachable
      5,378 types, 1,668 fields, and 11,565 methods registered for reflection
   
   Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError: 
Error encountered while parsing 
io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator.directBuffer(PooledByteBufAllocatorL.java:210)
 
   Parsing context:
      at 
io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator.directBuffer(PooledByteBufAllocatorL.java:136)
      at 
io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:179)
      at 
io.netty.buffer.AbstractByteBufAllocator.buffer(AbstractByteBufAllocator.java:116)
      at io.netty.handler.codec.base64.Base64$Decoder.decode(Base64.java:318)
      at io.netty.handler.codec.base64.Base64.decode(Base64.java:302)
      at io.netty.handler.codec.base64.Base64.decode(Base64.java:293)
      at io.netty.handler.codec.base64.Base64.decode(Base64.java:281)
      at io.netty.handler.ssl.PemReader.readPrivateKey(PemReader.java:150)
      at 
io.quarkus.netty.runtime.graal.Target_SslContext.toPrivateKey(NettySubstitutions.java:604)
      at 
io.netty.handler.ssl.SslContextBuilder.keyManager(SslContextBuilder.java:418)
      at io.grpc.netty.ProtocolNegotiators.from(ProtocolNegotiators.java:114)
      at 
io.grpc.netty.NettyChannelProvider.newChannelBuilder(NettyChannelProvider.java:52)
      at 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.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:113)
        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$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: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: 
com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered 
unresolved method during parsing: 
io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator.threadCache(). 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
        at parsing 
io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator.newDirectBufferL(PooledByteBufAllocatorL.java:164)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2536)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:169)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3414)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.iterateBytecodesForBlock(SharedGraphBuilderPhase.java:712)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3366)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3208)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:1134)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.build(SharedGraphBuilderPhase.java:152)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:1026)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:97)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:114)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.run(Phase.java:49)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:434)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.AnalysisParsedGraph.parseBytecode(AnalysisParsedGraph.java:146)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.parseGraph(AnalysisMethod.java:819)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsedHelper(AnalysisMethod.java:784)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:767)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.lookupEncodedGraph(InlineBeforeAnalysisGraphDecoder.java:120)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.doInline(PEGraphDecoder.java:1190)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.tryInline(PEGraphDecoder.java:1173)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.trySimplifyInvoke(PEGraphDecoder.java:1028)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.handleInvoke(PEGraphDecoder.java:982)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.processNextNode(GraphDecoder.java:871)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.processNextNode(InlineBeforeAnalysisGraphDecoder.java:186)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.decode(GraphDecoder.java:600)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.decode(PEGraphDecoder.java:854)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysis.decodeGraph(InlineBeforeAnalysis.java:77)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:193)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:583)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:165)
        ... 13 more
   Caused by: com.oracle.graal.pointsto.constraints.UnresolvedElementException: 
Discovered unresolved method during parsing: 
io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator.threadCache(). 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
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.reportUnresolvedElement(SharedGraphBuilderPhase.java:521)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.reportUnresolvedElement(SharedGraphBuilderPhase.java:515)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:442)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:338)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeVirtual(BytecodeParser.java:1725)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5329)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3406)
        ... 42 more
   
   ```
   
   I think it could be related to Vertx `4.4.4` which dpeneds on `netty 
4.1.94.Final` and I revert the commit [Update to Vert.x 
4.4.4](https://github.com/quarkusio/quarkus/commit/ee1bf877d1ad7d953d38819cb87d756221bd9a5c).
 Then the work around is back to work. Any thought?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to