DouglasGo8 opened a new issue, #3891:
URL: https://github.com/apache/camel-quarkus/issues/3891

   Hello Guy, I'm working in a project that needs use Azure DB Cosmos using 
Quarkus with GraalVM, bellow my stack
   
   OS - MacOS Monterrey over M1 Max Machine arc64 (the same problem happens 
using Linux Containers)
   Maven Dependencies
   
   `<dependencyManagement>
       <dependencies>
         <dependency>
           <groupId>${quarkus.platform.group-id}</groupId>
           <artifactId>${quarkus.platform.artifact-id}</artifactId>
           <version>${quarkus.platform.version}</version>
           <type>pom</type>
           <scope>import</scope>
         </dependency>
   
   
         <dependency>
           <groupId>com.azure</groupId>
           <artifactId>azure-sdk-bom</artifactId>
           <version>1.2.2</version>
           <type>pom</type>
           <scope>import</scope>
           <!--
           <exclusions>
             <exclusion>
               <groupId>com.azure</groupId>
               <artifactId>azure-core-http-netty</artifactId>
             </exclusion>
           </exclusions>
           -->
         </dependency>
   
       </dependencies>
     </dependencyManagement>
   
     <dependencies>
       <!-- Azure SDK -->
       <!--
       <dependency>
         <groupId>com.azure</groupId>
         <artifactId>azure-cosmos</artifactId>
         <exclusions>
           <exclusion>
             <groupId>com.azure</groupId>
             <artifactId>azure-core-http-netty</artifactId>
           </exclusion>
         </exclusions>
       </dependency>
       -->
   
       <!-- Thanks for using https://jar-download.com -->
   
   
   
       <!--
       <dependency>
         <groupId>com.azure</groupId>
         <artifactId>azure-storage-blob</artifactId>
         <exclusions>
           <exclusion>
             <groupId>com.azure</groupId>
             <artifactId>azure-core-http-netty</artifactId>
           </exclusion>
         </exclusions>
       </dependency>
       -->
   
   
       <!-- Quarkus SDK -->
       <dependency>
         <groupId>io.quarkus</groupId>
         <artifactId>quarkus-funqy-knative-events</artifactId>
       </dependency>
       <dependency>
         <groupId>org.apache.camel.quarkus</groupId>
         <artifactId>camel-quarkus-azure-cosmosdb</artifactId>
         <version>2.9.0</version>
       </dependency>
       <!-- Misc -->
       <dependency>
         <groupId>org.projectlombok</groupId>
         <artifactId>lombok</artifactId>
         <version>1.18.24</version>
       </dependency>
       <!--  Test -->
       <dependency>
         <groupId>io.quarkus</groupId>
         <artifactId>quarkus-junit5</artifactId>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>io.rest-assured</groupId>
         <artifactId>rest-assured</artifactId>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>io.quarkus</groupId>
         <artifactId>quarkus-arc</artifactId>
       </dependency>
     </dependencies>`
   
   Command to try to generate the native bin
   
   # Only Mac OS Binary
   mvn clean -DskipTests package -Pnative -Dquarkus.native.native-image-xmx=4g
   
   # Only Linux arch64 Binary
   ./mvnw -DskipTests clean compile package -Pnative 
-Dquarkus.native.container-build=true -Dquarkus.container-image.build=true 
-Dquarkus.native.builder-image=graalbasev17 -Dquarkus.native.native-image-xmx=5g
   
   The Error Output
   `
   [1/7] Initializing...                                                        
                            (8.1s @ 0.23GB)
    Version info: 'GraalVM 22.1.0 Java 17 CE'
    C compiler: gcc (redhat, aarch64, 8.5.0)
    Garbage collector: Serial GC
    3 user-provided feature(s)
     - io.quarkus.runner.AutoFeature
     - io.quarkus.runtime.graal.DisableLoggingAutoFeature
     - io.quarkus.runtime.graal.ResourcesFeature
   13:15:49,044 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosClientBuilderAccessor...
   13:15:49,074 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
DirectConnectionConfigAccessor...
   13:15:49,085 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosBatchAccessor...
   13:15:49,095 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosBatchOperationResultAccessor...
   13:15:49,096 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosBatchRequestOptionsAccessor...
   13:15:49,097 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosBatchResponseAccessor...
   13:15:49,098 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosBulkExecutionOptionsAccessor...
   13:15:49,099 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosBulkExecutionThresholdsStateAccessor...
   13:15:49,099 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosBulkItemResponseAccessor...
   13:15:49,100 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosChangeFeedRequestOptionsAccessor...
   13:15:49,100 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosContainerPropertiesAccessor...
   13:15:49,101 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosItemRequestOptionsAccessor...
   13:15:49,101 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosItemResponseBuilderAccessor...
   13:15:49,102 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosPatchOperationsAccessor...
   13:15:49,103 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosQueryRequestOptionsAccessor...
   13:15:49,104 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
FeedResponseAccessor...
   13:15:49,104 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
PartitionKeyAccessor...
   13:15:49,109 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosClientAccessor...
   13:15:49,119 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosAsyncClientEncryptionKeyAccessor...
   13:15:49,120 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosAsyncContainerAccessor...
   13:15:49,121 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosAsyncDatabaseAccessor...
   13:15:49,139 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosDiagnosticsAccessor...
   13:15:49,140 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosExceptionAccessor...
   13:15:49,142 INFO  [com.azu.cos.imp.ImplementationBridgeHelpers] Setting 
CosmosPageFluxAccessor...
   13:15:50,090 INFO  [com.azu.cos.imp.dir.RntbdTransportClient] Using default 
Direct TCP options: azure.cosmos.directTcp.defaultOptions
   13:15:52,418 WARN  [com.azu.cos.imp.dir.rnt.RntbdLoopNativeDetector] Failed 
for native transport checking, will fall back to NIO: 
java.lang.ClassNotFoundException: io.netty.channel.epoll.Epoll
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:375)
        at 
com.azure.cosmos.implementation.directconnectivity.rntbd.RntbdLoopNativeDetector.<clinit>(RntbdLoopNativeDetector.java:23)
        at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native 
Method)
        at 
java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1155)
        at 
com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.ensureClassInitialized(ConfigurableClassInitialization.java:183)
        at 
com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:653)
        at 
com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:136)
        at 
com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.shouldInitializeAtRuntime(ConfigurableClassInitialization.java:164)
        at com.oracle.svm.hosted.SVMHost.isInitialized(SVMHost.java:286)
        at 
com.oracle.graal.pointsto.meta.AnalysisType.isInitialized(AnalysisType.java:728)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.maybeEagerlyInitialize(BytecodeParser.java:4258)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1646)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1639)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5218)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3358)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3318)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3163)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:1138)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:1030)
        at 
jdk.internal.vm.compiler/org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:84)
        at 
com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:79)
        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:236)
        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 
com.oracle.graal.pointsto.flow.AnalysisParsedGraph.parseBytecode(AnalysisParsedGraph.java:135)
        at 
com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:586)
        at 
com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:166)
        at 
com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:357)
        at 
com.oracle.graal.pointsto.flow.MethodTypeFlow.createTypeFlow(MethodTypeFlow.java:301)
        at 
com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureTypeFlowCreated(MethodTypeFlow.java:290)
        at 
com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:111)
        at 
com.oracle.graal.pointsto.DefaultAnalysisPolicy$DefaultSpecialInvokeTypeFlow.onObservedUpdate(DefaultAnalysisPolicy.java:393)
        at com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:552)
        at 
com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:631)
        at 
com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at 
com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:177)
        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:3321)
        at 
com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:243)
        at 
com.oracle.graal.pointsto.PointsToAnalysis.doTypeflow(PointsToAnalysis.java:688)
        at 
com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:676)
        at 
com.oracle.graal.pointsto.PointsToAnalysis.runAnalysis(PointsToAnalysis.java:732)
        at 
com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:723)
        at 
com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:558)
        at 
com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:515)
        at 
com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:407)
        at 
com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:585)
        at 
com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
        at 
com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:615)
   
   [2/7] Performing analysis...  []                                             
                            (8.1s @ 1.20GB)
      8,722 (92.43%) of  9,436 classes reachable
     12,026 (58.31%) of 20,624 fields reachable
     36,139 (78.98%) of 45,756 methods reachable
        572 classes,     0 fields, and     0 methods registered for reflection
   
   Fatal error: org.graalvm.compiler.debug.GraalError: 
com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Detected an 
instance of Random/SplittableRandom class in the image heap. Instances created 
during image generation have cached seed values and don't behave as expected.  
To see how this object got instantiated use 
--trace-object-instantiation=java.util.Random. The object was probably created 
by a class initializer and is reachable from a static field. You can request 
class initialization at image runtime by using the option 
--initialize-at-run-time=<class-name>. Or you can write your own initialization 
methods and call them explicitly from your main entry point.
        at 
com.oracle.graal.pointsto.util.AnalysisFuture.setException(AnalysisFuture.java:49)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:269)
        at 
com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:63)
        at 
com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$postTask$9(ImageHeapScanner.java:611)
        at 
com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at 
com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:177)
        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: 
com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Detected an 
instance of Random/SplittableRandom class in the image heap. Instances created 
during image generation have cached seed values and don't behave as expected.  
To see how this object got instantiated use 
--trace-object-instantiation=java.util.Random. The object was probably created 
by a class initializer and is reachable from a static field. You can request 
class initialization at image runtime by using the option 
--initialize-at-run-time=<class-name>. Or you can write your own initialization 
methods and call them explicitly from your main entry point.
        at 
com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.error(DisallowedImageHeapObjectFeature.java:173)
        at 
com.oracle.svm.core.image.DisallowedImageHeapObjects.check(DisallowedImageHeapObjects.java:62)
        at 
com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.replacer(DisallowedImageHeapObjectFeature.java:149)
        at 
com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:582)
        at 
com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.replaceObject(AnalysisConstantReflectionProvider.java:257)
        at 
com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptValue(AnalysisConstantReflectionProvider.java:228)
        at 
com.oracle.svm.hosted.heap.SVMImageHeapScanner.transformFieldValue(SVMImageHeapScanner.java:126)
        at 
com.oracle.graal.pointsto.heap.ImageHeapScanner.onFieldValueReachable(ImageHeapScanner.java:331)
        at 
com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$createImageHeapObject$3(ImageHeapScanner.java:272)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        ... 10 more
   
------------------------------------------------------------------------------------------------------------------------
                           0.7s (3.9% of total time) in 19 GCs | Peak RSS: 
2.36GB | CPU load: 3.37
   
========================================================================================================================
   Failed generating 'my-gdd-funqy-natived-1.0.0-SNAPSHOT-runner' after 17.3s.
   Error: Image build request failed with exit status 1
   [INFO] 
------------------------------------------------------------------------
   [INFO] BUILD FAILURE
   [INFO] 
------------------------------------------------------------------------
   [INFO] Total time:  26.070 s
   [INFO] Finished at: 2022-06-30T10:15:52-03:00
   [INFO] 
------------------------------------------------------------------------
   [ERROR] Failed to execute goal 
io.quarkus.platform:quarkus-maven-plugin:2.10.1.Final:build (default) on 
project my-gdd-funqy-natived: Failed to build quarkus application: 
io.quarkus.builder.BuildException: Build failure: Build failed due to errors
   [ERROR]      [error]: Build step 
io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: 
io.quarkus.deployment.pkg.steps.NativeImageBuildStep$ImageGenerationFailureException:
 Image generation failed. Exit code: 1
   [ERROR]      at 
io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:400)
   [ERROR]      at 
io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:240)
   [ERROR]      at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [ERROR]      at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
   [ERROR]      at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [ERROR]      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
   [ERROR]      at 
io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:944)
   [ERROR]      at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
   [ERROR]      at 
org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
   [ERROR]      at 
org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
   [ERROR]      at 
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
   [ERROR]      at java.base/java.lang.Thread.run(Thread.java:833)
   [ERROR]      at org.jboss.threads.JBossThread.run(JBossThread.java:501)
   [ERROR] -> [Help 1]
   [ERROR]
   [ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
   [ERROR] Re-run Maven using the -X switch to enable full debug logging.
   [ERROR]
   [ERROR] For more information about the errors and possible solutions, please 
read the following articles:
   [ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
   `


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to