You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2021/04/16 13:04:27 UTC
[GitHub] [camel-quarkus] avano opened a new issue #2489: Unable to build mongo-to-slack in native with 1.13 quarkus
avano opened a new issue #2489:
URL: https://github.com/apache/camel-quarkus/issues/2489
Quarkus version: `1.13.2.Final`
Camel Quarkus version: `1.8.1`
Camel version: `3.9.0`
With quarkus 1.13.2.Final, I am not able to build my integration in native mode (also doesn't work with 1.13.1 and 1.13.0). Works ok with 1.12.2 native mode:
```
mvn clean package -DskipTests -Pnative
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< com.test:mongo-to-slack >-----------------------
[INFO] Building mongo-to-slack 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ mongo-to-slack ---
[INFO] Deleting /git/tnb-tests/target/mongo-to-slack/target
[INFO]
[INFO] --- quarkus-maven-plugin:1.13.2.Final:generate-code (default) @ mongo-to-slack ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mongo-to-slack ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ mongo-to-slack ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /git/tnb-tests/target/mongo-to-slack/target/classes
[INFO]
[INFO] --- quarkus-maven-plugin:1.13.2.Final:generate-code-tests (default) @ mongo-to-slack ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mongo-to-slack ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /git/tnb-tests/target/mongo-to-slack/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ mongo-to-slack ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /git/tnb-tests/target/mongo-to-slack/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:3.0.0-M5:test (default-test) @ mongo-to-slack ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ mongo-to-slack ---
[INFO] Building jar: /git/tnb-tests/target/mongo-to-slack/target/mongo-to-slack-1.0.0-SNAPSHOT.jar
[INFO]
[INFO] --- quarkus-maven-plugin:1.13.2.Final:build (default) @ mongo-to-slack ---
[INFO] [org.jboss.threads] JBoss Threads version 3.2.0.Final
[INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /git/tnb-tests/target/mongo-to-slack/target/mongo-to-slack-1.0.0-SNAPSHOT-native-image-source-jar/mongo-to-slack-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /git/tnb-tests/target/mongo-to-slack/target/mongo-to-slack-1.0.0-SNAPSHOT-native-image-source-jar/mongo-to-slack-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM Version 21.0.0.2 (Java Version 11.0.10+8-jvmci-21.0-b06)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /home/avano/.sdkman/candidates/java/21.0.0.2.r11-grl/bin/native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -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=1 -J-Duser.language=en -J-Duser.country=US -J-Dfile.encoding=UTF-8 --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -jar mongo-to-slack-1.0.0-SNAPSHOT-runner.jar -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:EnableURLProtocols=http,https --enable-all-security-services -H:NativeLinkerOption=-no-pie --no-server -H:-UseServiceLoaderFeature -H:+StackTrace mongo-to-slack-1.0.0-SNAPSHOT-runner
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] classlist: 1,246.14 ms, 0.94 GB
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] (cap): 303.52 ms, 0.94 GB
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] setup: 1,226.61 ms, 0.94 GB
13:44:09,082 INFO [org.jbo.threads] JBoss Threads version 3.2.0.Final
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] (clinit): 930.56 ms, 6.20 GB
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] (typeflow): 12,644.48 ms, 6.20 GB
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] (objects): 20,417.83 ms, 6.20 GB
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] (features): 1,016.71 ms, 6.20 GB
[mongo-to-slack-1.0.0-SNAPSHOT-runner:245340] analysis: 37,714.38 ms, 6.20 GB
Error: Unsupported features in 3 methods
Detailed message:
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.leader of
constant java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue@2a669bb5 reached by
reading field java.util.concurrent.ThreadPoolExecutor.workQueue of
constant java.util.concurrent.ScheduledThreadPoolExecutor@27a95954 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@37fffeb3 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.scim.metrics.MemoryMetricsDatastore@76b32a0d reached by
reading field com.slack.api.scim.SCIMConfig.metricsDatastore of
constant com.slack.api.scim.SCIMConfig$1@63f48150 reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:220)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.ThreadPoolExecutor$Worker.thread of
constant java.util.concurrent.ThreadPoolExecutor$Worker@5faeb91 reached by
reading field java.util.HashMap$Node.key of
constant java.util.HashMap$Node@5fbf1e02 reached by
indexing into array
constant java.util.HashMap$Node[]@6cc5deae reached by
reading field java.util.HashMap.table of
constant java.util.HashMap@e63586f reached by
reading field java.util.HashSet.map of
constant java.util.HashSet@7ee693dd reached by
reading field java.util.concurrent.ThreadPoolExecutor.workers of
constant java.util.concurrent.ScheduledThreadPoolExecutor@627e4c21 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@29a89cd7 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.audit.metrics.MemoryMetricsDatastore@e05585e reached by
reading field com.slack.api.audit.AuditConfig.metricsDatastore of
constant com.slack.api.audit.AuditConfig$1@6a400c12 reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:218)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$Node.thread of
constant java.util.concurrent.locks.AbstractQueuedSynchronizer$Node@777f81a7 reached by
reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.firstWaiter of
constant java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15bea714 reached by
reading field java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.available of
constant java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue@33f17dae reached by
reading field java.util.concurrent.ThreadPoolExecutor.workQueue of
constant java.util.concurrent.ScheduledThreadPoolExecutor@7356392 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@11909ad7 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.methods.metrics.MemoryMetricsDatastore@5664abc8 reached by
reading field com.slack.api.methods.MethodsConfig.metricsDatastore of
constant com.slack.api.methods.MethodsConfig$1@320c914b reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:216)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
com.oracle.svm.core.util.UserError$UserException: Unsupported features in 3 methods
Detailed message:
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.leader of
constant java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue@2a669bb5 reached by
reading field java.util.concurrent.ThreadPoolExecutor.workQueue of
constant java.util.concurrent.ScheduledThreadPoolExecutor@27a95954 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@37fffeb3 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.scim.metrics.MemoryMetricsDatastore@76b32a0d reached by
reading field com.slack.api.scim.SCIMConfig.metricsDatastore of
constant com.slack.api.scim.SCIMConfig$1@63f48150 reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:220)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.ThreadPoolExecutor$Worker.thread of
constant java.util.concurrent.ThreadPoolExecutor$Worker@5faeb91 reached by
reading field java.util.HashMap$Node.key of
constant java.util.HashMap$Node@5fbf1e02 reached by
indexing into array
constant java.util.HashMap$Node[]@6cc5deae reached by
reading field java.util.HashMap.table of
constant java.util.HashMap@e63586f reached by
reading field java.util.HashSet.map of
constant java.util.HashSet@7ee693dd reached by
reading field java.util.concurrent.ThreadPoolExecutor.workers of
constant java.util.concurrent.ScheduledThreadPoolExecutor@627e4c21 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@29a89cd7 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.audit.metrics.MemoryMetricsDatastore@e05585e reached by
reading field com.slack.api.audit.AuditConfig.metricsDatastore of
constant com.slack.api.audit.AuditConfig$1@6a400c12 reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:218)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$Node.thread of
constant java.util.concurrent.locks.AbstractQueuedSynchronizer$Node@777f81a7 reached by
reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.firstWaiter of
constant java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15bea714 reached by
reading field java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.available of
constant java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue@33f17dae reached by
reading field java.util.concurrent.ThreadPoolExecutor.workQueue of
constant java.util.concurrent.ScheduledThreadPoolExecutor@7356392 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@11909ad7 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.methods.metrics.MemoryMetricsDatastore@5664abc8 reached by
reading field com.slack.api.methods.MethodsConfig.metricsDatastore of
constant com.slack.api.methods.MethodsConfig$1@320c914b reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:216)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
at com.oracle.svm.core.util.UserError.abort(UserError.java:82)
at com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:233)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:773)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:563)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:476)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Unsupported features in 3 methods
Detailed message:
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.leader of
constant java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue@2a669bb5 reached by
reading field java.util.concurrent.ThreadPoolExecutor.workQueue of
constant java.util.concurrent.ScheduledThreadPoolExecutor@27a95954 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@37fffeb3 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.scim.metrics.MemoryMetricsDatastore@76b32a0d reached by
reading field com.slack.api.scim.SCIMConfig.metricsDatastore of
constant com.slack.api.scim.SCIMConfig$1@63f48150 reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:220)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.ThreadPoolExecutor$Worker.thread of
constant java.util.concurrent.ThreadPoolExecutor$Worker@5faeb91 reached by
reading field java.util.HashMap$Node.key of
constant java.util.HashMap$Node@5fbf1e02 reached by
indexing into array
constant java.util.HashMap$Node[]@6cc5deae reached by
reading field java.util.HashMap.table of
constant java.util.HashMap@e63586f reached by
reading field java.util.HashSet.map of
constant java.util.HashSet@7ee693dd reached by
reading field java.util.concurrent.ThreadPoolExecutor.workers of
constant java.util.concurrent.ScheduledThreadPoolExecutor@627e4c21 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@29a89cd7 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.audit.metrics.MemoryMetricsDatastore@e05585e reached by
reading field com.slack.api.audit.AuditConfig.metricsDatastore of
constant com.slack.api.audit.AuditConfig$1@6a400c12 reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:218)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
Error: Detected a started Thread in the image heap. Threads running in the image generator are no longer running at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.lang.Thread. 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.
Trace: Object was reached by
reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$Node.thread of
constant java.util.concurrent.locks.AbstractQueuedSynchronizer$Node@777f81a7 reached by
reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.firstWaiter of
constant java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15bea714 reached by
reading field java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.available of
constant java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue@33f17dae reached by
reading field java.util.concurrent.ThreadPoolExecutor.workQueue of
constant java.util.concurrent.ScheduledThreadPoolExecutor@7356392 reached by
reading field java.util.concurrent.Executors$DelegatedExecutorService.e of
constant java.util.concurrent.Executors$DelegatedScheduledExecutorService@11909ad7 reached by
reading field com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore.cleanerExecutor of
constant com.slack.api.methods.metrics.MemoryMetricsDatastore@5664abc8 reached by
reading field com.slack.api.methods.MethodsConfig.metricsDatastore of
constant com.slack.api.methods.MethodsConfig$1@320c914b reached by
scanning method com.slack.api.SlackConfig.<init>(SlackConfig.java:216)
Call path from entry point to com.slack.api.SlackConfig.<init>():
at com.slack.api.SlackConfig.<init>(SlackConfig.java:126)
at org.apache.camel.component.slack.helper.SlackHelper.createSlackConfig(SlackHelper.java:41)
at org.apache.camel.component.slack.SlackConsumer.doStart(SlackConsumer.java:57)
at com.oracle.svm.reflect.SlackConsumer_doStart_6057eefd97482b91e3571e2610656f099094ce6c_5882.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at java.util.ServiceLoader$ProviderImpl.invokeFactoryMethod(ServiceLoader.java:737)
at java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:720)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:211)
at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:164)
at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:293)
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)
at com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:129)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:770)
... 8 more
```
the app is built with `io.quarkus:quarkus-maven-plugin:1.13.2.Final:create` with `camel-quarkus-mongodb,camel-quarkus-slack` extensions based on https://camel.apache.org/camel-quarkus/latest/user-guide/first-steps.html
--
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [camel-quarkus] jamesnetherton closed issue #2489: Unable to build mongo-to-slack in native with 1.13 quarkus
Posted by GitBox <gi...@apache.org>.
jamesnetherton closed issue #2489:
URL: https://github.com/apache/camel-quarkus/issues/2489
--
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [camel-quarkus] jamesnetherton commented on issue #2489: Unable to build mongo-to-slack in native with 1.13 quarkus
Posted by GitBox <gi...@apache.org>.
jamesnetherton commented on issue #2489:
URL: https://github.com/apache/camel-quarkus/issues/2489#issuecomment-822548831
This issue is quite strange. `SlackConfig` does have a static field which does some eager initialization where the result is that a thread ends up being started. Obviously that's not allowed during the native image build.
However, I can only replicate the error when `camel-quarkus-mongodb` is on the classpath. Using other component extensions as the consumer seems to work fine.
It should be easy enough to fix the issues with `SlackConfig`, but I'd like to understand why the presence of the mongodb extension seems to trigger the build failure.
--
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [camel-quarkus] ppalaga commented on issue #2489: Unable to build mongo-to-slack in native with 1.13 quarkus
Posted by GitBox <gi...@apache.org>.
ppalaga commented on issue #2489:
URL: https://github.com/apache/camel-quarkus/issues/2489#issuecomment-822633870
Class initialization is tricky. I always enjoy re-reading https://www.graalvm.org/reference-manual/native-image/ClassInitialization/
My spontaneous hypothesis for this one is that when Slack is alone, the native compiler is able to correctly auto-classify SlackConfig as runtime init, but when combined with Mongo, there is some explicit config to init some class eagerly that implictily causes SlackConfig to be initialited at build time too.
--
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org