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

   Hello,
   
   We have a project that uses both camel-quarkus-hazelcast and 
camel-quarkus-cxf-soap.
   
   To best illustrate the error (and remove everything unrelated to the error) 
I've created a sample project on https://code.quarkus.io/ with the following 
dependencies:
   ```
     <dependencies>
       <dependency>
         <groupId>org.apache.camel.quarkus</groupId>
         <artifactId>camel-quarkus-hazelcast</artifactId>
       </dependency>
       <dependency>
         <groupId>org.apache.camel.quarkus</groupId>
         <artifactId>camel-quarkus-cxf-soap</artifactId>
       </dependency>
       <dependency>
         <groupId>io.quarkus</groupId>
         <artifactId>quarkus-arc</artifactId>
       </dependency>
       <dependency>
         <groupId>io.quarkus</groupId>
         <artifactId>quarkus-junit5</artifactId>
         <scope>test</scope>
       </dependency>
     <dependencies>
   ```
   
   Having **both camel-quarkus-hazelcast and camel-quarkus-cxf-soap** as 
dependencies we get these exceptions (and the native build fails):
   ```
   
========================================================================================================================
   GraalVM Native Image: Generating 'code-with-quarkus-1.0.0-SNAPSHOT-runner' 
(executable)...
   
========================================================================================================================
   [1/7] Initializing...                                                        
                           (15.1s @ 0.27GB)
    Version info: 'GraalVM 22.3.1 Java 17 CE'
    Java version info: '17.0.6+10-jvmci-22.3-b13'
    C compiler: gcc (linux, x86_64, 11.3.0)
    Garbage collector: Serial GC
    3 user-specific feature(s)
    - 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 for the [org.jboss.threads] categories
    - io.quarkus.runtime.graal.ResourcesFeature: Register each line in 
META-INF/quarkus-native-resources.txt as a resource on Substrate VM
   com.oracle.svm.core.util.UserError$UserException: Incompatible change of 
initialization policy for com.hazelcast.internal.util.ICMPHelper: trying to 
change RUN_TIME from feature io.quarkus.runner.Feature.beforeAnalysis with 
'ICMPHelper.class' to RERUN Quarkus
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:73)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:103)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insert(ClassInitializationConfiguration.java:64)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ProvenSafeClassInitializationSupport.rerunInitialization(ProvenSafeClassInitializationSupport.java:158)
        at io.quarkus.runner.Feature.runtimeReinitializedClasses(Unknown Source)
        at io.quarkus.runner.Feature.beforeAnalysis(Unknown Source)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$9(NativeImageGenerator.java:736)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:85)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:736)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:578)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:535)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:403)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:580)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
   [2/7] Performing analysis...  [12:25:09,283 WARNING 
[com.haz.ins.imp.HazelcastInstanceFactory] Hazelcast is starting in a Java 
modular environment (Java 9 and newer) but without proper access to required 
Java packages. Use additional Java arguments to provide Hazelcast access to 
Java internal API. The internal API access is used to get the best performance 
results. Arguments to be used:
    --add-modules java.se --add-exports java.base/jdk.internal.ref=ALL-UNNAMED 
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens 
java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED 
--add-opens java.management/sun.management=ALL-UNNAMED --add-opens 
jdk.management/com.sun.management.internal=ALL-UNNAMED
   *****]                                                                  
(182.2s @ 3.27GB)
     26,720 (91.41%) of 29,232 classes reachable
     39,633 (67.49%) of 58,728 fields reachable
    140,591 (58.40%) of 240,723 methods reachable
      4,221 classes, 9,903 fields, and 39,475 methods registered for reflection
          2 native libraries: m, stdc++
   
   Error: Analysis step failed. Reason: should not reach here: When a feature 
makes more types, methods, or fields reachable, it must require another 
analysis iteration via DuringAnalysisAccess.requireAnalysisIteration().
   com.oracle.svm.core.util.UserError$UserException: Analysis step failed. 
Reason: should not reach here: When a feature makes more types, methods, or 
fields reachable, it must require another analysis iteration via 
DuringAnalysisAccess.requireAnalysisIteration().
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:753)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:578)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:535)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:403)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:580)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
   Caused by: com.oracle.graal.pointsto.util.AnalysisError: should not reach 
here: When a feature makes more types, methods, or fields reachable, it must 
require another analysis iteration via 
DuringAnalysisAccess.requireAnalysisIteration()
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisError.shouldNotReachHere(AnalysisError.java:169)
        at 
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:164)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:745)
        ... 5 more
   ```
   
   
   Having **only camel-quarkus-hazelcast** as a dependency we get this 
exception (but the build is still "successful"):
   ```
   
========================================================================================================================
   GraalVM Native Image: Generating 'code-with-quarkus-1.0.0-SNAPSHOT-runner' 
(executable)...
   
========================================================================================================================
   [1/7] Initializing...                                                        
                           (11.7s @ 0.32GB)
    Version info: 'GraalVM 22.3.1 Java 17 CE'
    Java version info: '17.0.6+10-jvmci-22.3-b13'
    C compiler: gcc (linux, x86_64, 11.3.0)
    Garbage collector: Serial GC
    3 user-specific feature(s)
    - 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 for the [org.jboss.threads] categories
    - io.quarkus.runtime.graal.ResourcesFeature: Register each line in 
META-INF/quarkus-native-resources.txt as a resource on Substrate VM
   com.oracle.svm.core.util.UserError$UserException: Incompatible change of 
initialization policy for com.hazelcast.internal.util.ICMPHelper: trying to 
change RUN_TIME from feature io.quarkus.runner.Feature.beforeAnalysis with 
'ICMPHelper.class' to RERUN Quarkus
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:73)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:103)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:117)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insert(ClassInitializationConfiguration.java:64)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ProvenSafeClassInitializationSupport.rerunInitialization(ProvenSafeClassInitializationSupport.java:158)
        at io.quarkus.runner.Feature.runtimeReinitializedClasses(Unknown Source)
        at io.quarkus.runner.Feature.beforeAnalysis(Unknown Source)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$9(NativeImageGenerator.java:736)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:85)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:736)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:578)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:535)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:403)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:580)
        at 
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
   [2/7] Performing analysis...  [12:19:06,896 WARNING 
[com.haz.ins.imp.HazelcastInstanceFactory] Hazelcast is starting in a Java 
modular environment (Java 9 and newer) but without proper access to required 
Java packages. Use additional Java arguments to provide Hazelcast access to 
Java internal API. The internal API access is used to get the best performance 
results. Arguments to be used:
    --add-modules java.se --add-exports java.base/jdk.internal.ref=ALL-UNNAMED 
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens 
java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED 
--add-opens java.management/sun.management=ALL-UNNAMED --add-opens 
jdk.management/com.sun.management.internal=ALL-UNNAMED
   ********]                                                               
(121.7s @ 3.89GB)
     18,906 (90.53%) of 20,883 classes reachable
     25,872 (66.54%) of 38,883 fields reachable
     88,179 (52.98%) of 166,449 methods reachable
      2,593 classes, 6,058 fields, and 24,037 methods registered for reflection
         64 classes,    70 fields, and    55 methods registered for JNI access
          4 native libraries: dl, pthread, rt, z
   [3/7] Building universe...                                                   
                           (10.6s @ 3.66GB)
   [4/7] Parsing methods...      [***]                                          
                            (8.0s @ 4.77GB)
   [5/7] Inlining methods...     [***]                                          
                            (4.0s @ 3.16GB)
   [6/7] Compiling methods...    [********]                                     
                           (63.1s @ 4.44GB)
   [7/7] Creating image...                                                      
                            (8.5s @ 3.68GB)
     35.34MB (42.13%) for code area:    63,362 compilation units
     48.22MB (57.49%) for image heap:  447,193 objects and 879 resources
    324.16KB ( 0.38%) for other data
     83.88MB in total
   ```
   This error seems related to #3936 (although not really intermittent but 
rather persistent)
   Furthermore it looks a lot like this #2719 (although not on Mac but rather 
Ubuntu 22.04)
   
   We need to run with both camel-quarkus-hazelcast and camel-quarkus-cxf-soap 
so currently we're not able to build a native image.
   Please advice.
   
   Best regards
   Jesper Berggren


-- 
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.apache.org

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

Reply via email to