Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native build failed after 3.x.x upgrade, using panache mongodb (maybe releated to ManagedExecuter and narayana) #35215

Open
ayhanap opened this issue Aug 4, 2023 · 11 comments · May be fixed by #45306
Labels
area/narayana Transactions / Narayana kind/bug Something isn't working

Comments

@ayhanap
Copy link

ayhanap commented Aug 4, 2023

Describe the bug

Native build fails with missing classes/libs related to narayana after upgrading to 3.2.2.Final (from 2.x.x)

Expected behavior

Native build should successfully complete. (works fine with 2.16.9.Final)

Actual behavior

Native build fails with the following log

✦ ✖  mvn clean package -Pnative -DskipTests
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.acme:code-with-quarkus:jar:1.0.0-SNAPSHOT
[WARNING] 'dependencies.dependency.scope' for io.quarkus.platform:quarkus-bom:pom must be one of [provided, compile, runtime, test, system] but is 'import'. @ line 109, column 14
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO] 
[INFO] ---------------------< org.acme:code-with-quarkus >---------------------
[INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- clean:3.2.0:clean (default-clean) @ code-with-quarkus ---
[INFO] Deleting /Users/apaydin/Downloads/code-with-quarkus/target
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ code-with-quarkus ---
[INFO] Copying 2 resources from src/main/resources to target/classes
[INFO] 
[INFO] --- quarkus:3.2.2.Final:generate-code (default) @ code-with-quarkus ---
[INFO] 
[INFO] --- compiler:3.11.0:compile (default-compile) @ code-with-quarkus ---
[INFO] Changes detected - recompiling the module! :source
[INFO] Compiling 9 source files with javac [debug release 17] to target/classes
[INFO] 
[INFO] --- quarkus:3.2.2.Final:generate-code-tests (default) @ code-with-quarkus ---
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ code-with-quarkus ---
[INFO] skip non existing resourceDirectory /Users/apaydin/Downloads/code-with-quarkus/src/test/resources
[INFO] 
[INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ code-with-quarkus ---
[INFO] Changes detected - recompiling the module! :dependency
[INFO] 
[INFO] --- surefire:3.0.0:test (default-test) @ code-with-quarkus ---
[INFO] Tests are skipped.
[INFO] 
[INFO] --- jar:3.3.0:jar (default-jar) @ code-with-quarkus ---
[INFO] Building jar: /Users/apaydin/Downloads/code-with-quarkus/target/code-with-quarkus-1.0.0-SNAPSHOT.jar
[INFO] 
[INFO] --- quarkus:3.2.2.Final:build (default) @ code-with-quarkus ---
[WARNING] [io.quarkus.config] Unrecognized configuration key "quarkus.jib.jvm-arguments" was provided; it will be ignored; verify that the dependency extension for this configuration is set or that you did not make a typo
[WARNING] [io.quarkus.deployment.steps.ReflectiveHierarchyStep] Unable to properly register the hierarchy of the following classes for reflection as they are not in the Jandex index:
        - io.mashona.logwriting.ArrayStore (source: <unknown>)
        - jakarta.enterprise.context.spi.Contextual (source: <unknown>)
        - jakarta.enterprise.context.spi.CreationalContext (source: <unknown>)
        - jakarta.enterprise.event.Event (source: <unknown>)
        - jakarta.jms.BytesMessage (source: <unknown>)
        - jakarta.jms.Connection (source: <unknown>)
        - jakarta.jms.ConnectionMetaData (source: <unknown>)
        - jakarta.jms.ExceptionListener (source: <unknown>)
        - jakarta.jms.MapMessage (source: <unknown>)
        - jakarta.jms.Message (source: <unknown>)
        - jakarta.jms.MessageListener (source: <unknown>)
        - jakarta.jms.ObjectMessage (source: <unknown>)
        - jakarta.jms.Session (source: <unknown>)
        - jakarta.jms.StreamMessage (source: <unknown>)
        - jakarta.jms.TemporaryQueue (source: <unknown>)
        - jakarta.jms.TemporaryTopic (source: <unknown>)
        - jakarta.jms.TextMessage (source: <unknown>)
        - jakarta.jms.XAConnection (source: <unknown>)
        - jakarta.jms.XAConnectionFactory (source: <unknown>)
        - jakarta.jms.XASession (source: <unknown>)
        - jakarta.transaction.Synchronization (source: <unknown>)
        - jakarta.transaction.Transaction (source: <unknown>)
        - jakarta.transaction.TransactionManager (source: <unknown>)
        - jakarta.transaction.TransactionSynchronizationRegistry (source: <unknown>)
        - javax.management.MBeanNotificationInfo (source: <unknown>)
        - javax.management.NotificationBroadcasterSupport (source: <unknown>)
        - javax.management.ObjectName (source: <unknown>)
        - javax.naming.InitialContext (source: <unknown>)
        - javax.sql.DataSource (source: <unknown>)
        - javax.sql.XAConnection (source: <unknown>)
        - javax.sql.XADataSource (source: <unknown>)
        - javax.transaction.xa.XAResource (source: <unknown>)
        - javax.transaction.xa.Xid (source: <unknown>)
        - org.apache.activemq.artemis.core.journal.Journal (source: <unknown>)
        - org.apache.activemq.artemis.core.journal.RecordInfo (source: <unknown>)
        - org.eclipse.microprofile.context.ManagedExecutor (source: <unknown>)
        - org.eclipse.microprofile.context.ThreadContext (source: <unknown>)
        - org.eclipse.microprofile.context.spi.ThreadContextController (source: <unknown>)
        - org.eclipse.microprofile.context.spi.ThreadContextProvider (source: <unknown>)
        - org.eclipse.microprofile.context.spi.ThreadContextSnapshot (source: <unknown>)
        - org.jboss.tm.ConnectableResource (source: <unknown>)
Consider adding them to the index either by creating a Jandex index for your dependency via the Maven plugin, an empty META-INF/beans.xml or quarkus.index-dependency properties.
[INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /Users/apaydin/Downloads/code-with-quarkus/target/code-with-quarkus-1.0.0-SNAPSHOT-native-image-source-jar/code-with-quarkus-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /Users/apaydin/Downloads/code-with-quarkus/target/code-with-quarkus-1.0.0-SNAPSHOT-native-image-source-jar/code-with-quarkus-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM 22.3.1 Java 17 CE (Java Version 17.0.6+10-jvmci-22.3-b13)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /Library/Java/JavaVirtualMachines/graalvm-ce-java17-22.3.1/Contents/Home/bin/native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-DCoordinatorEnvironmentBean.transactionStatusManagerEnable=false -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -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=en -J-Duser.country=TR -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--add-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:+CollectImageBuildStatistics -H:ImageBuildStatisticsFile=code-with-quarkus-1.0.0-SNAPSHOT-runner-timing-stats.json -H:BuildOutputJSONFile=code-with-quarkus-1.0.0-SNAPSHOT-runner-build-output-stats.json -H:Log=registerResource:verbose -H:+PrintAnalysisCallTree -J--enable-preview -H:+AllowFoldMethods -J-Djava.awt.headless=true --no-fallback --link-at-build-time -H:+ReportExceptionStackTraces -H:-AddAllCharsets --enable-url-protocols=http,https -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 code-with-quarkus-1.0.0-SNAPSHOT-runner -jar code-with-quarkus-1.0.0-SNAPSHOT-runner.jar
========================================================================================================================
GraalVM Native Image: Generating 'code-with-quarkus-1.0.0-SNAPSHOT-runner' (executable)...
========================================================================================================================
Warning: Could not register org.jboss.narayana.jta.jms.JmsXAResourceRecoveryHelper: allDeclaredConstructors for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/XAConnectionFactory.
Warning: Could not register org.jboss.narayana.jta.jms.ConnectionManager: allDeclaredConstructors for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.ConnectionManager: allDeclaredMethods for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.ConnectionManager: allDeclaredFields for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.ConnectionClosingSynchronization: allDeclaredConstructors for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.ConnectionClosingSynchronization: allDeclaredMethods for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.ConnectionClosingSynchronization: allDeclaredFields for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not resolve jakarta.jms.XAConnection for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.XAConnection.
Warning: Could not resolve jakarta.jms.XASession for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.XASession.
Warning: Could not resolve jakarta.jms.XAConnectionFactory for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.XAConnectionFactory.
Warning: Could not register com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore: allDeclaredConstructors for reflection. Reason: java.lang.NoClassDefFoundError: org/apache/activemq/artemis/core/io/SequentialFileFactory.
Warning: Could not register com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore: allDeclaredMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/apache/activemq/artemis/core/io/SequentialFileFactory.
Warning: Could not register com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore: allDeclaredFields for reflection. Reason: java.lang.NoClassDefFoundError: org/apache/activemq/artemis/core/io/SequentialFileFactory.
Warning: Could not resolve jakarta.jms.Connection for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.Connection.
Warning: Could not resolve org.jboss.narayana.jta.jms.ConnectionProxy for reflection configuration. Reason: java.lang.NoClassDefFoundError: jakarta/jms/Connection.
Warning: Could not register com.arjuna.ats.internal.arjuna.objectstore.slot.PmemSlots: allDeclaredFields for reflection. Reason: java.lang.NoClassDefFoundError: io/mashona/logwriting/ArrayStore.
Warning: Could not resolve org.apache.activemq.artemis.core.journal.Journal for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.activemq.artemis.core.journal.Journal.
Warning: Could not register org.jboss.narayana.jta.jms.TransactionHelper: allDeclaredMethods for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.TransactionHelperImpl: allDeclaredConstructors for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.TransactionHelperImpl: allDeclaredMethods for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not register org.jboss.narayana.jta.jms.TransactionHelperImpl: allDeclaredFields for reflection. Reason: java.lang.NoClassDefFoundError: jakarta/jms/JMSException.
Warning: Could not resolve jakarta.jms.Session for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.Session.
Warning: Could not resolve org.jboss.narayana.jta.jms.SessionProxy for reflection configuration. Reason: java.lang.NoClassDefFoundError: jakarta/jms/Session.
Warning: Could not resolve jakarta.jms.ExceptionListener for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.ExceptionListener.
Warning: Could not resolve jakarta.jms.ConnectionMetaData for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.ConnectionMetaData.
Warning: Could not resolve io.mashona.logwriting.ArrayStore for reflection configuration. Reason: java.lang.ClassNotFoundException: io.mashona.logwriting.ArrayStore.
Warning: Could not resolve jakarta.jms.BytesMessage for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.BytesMessage.
Warning: Could not resolve jakarta.jms.MapMessage for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.MapMessage.
Warning: Could not resolve jakarta.jms.Message for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.Message.
Warning: Could not resolve jakarta.jms.ObjectMessage for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.ObjectMessage.
Warning: Could not resolve jakarta.jms.StreamMessage for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.StreamMessage.
Warning: Could not resolve jakarta.jms.TemporaryQueue for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.TemporaryQueue.
Warning: Could not resolve jakarta.jms.TemporaryTopic for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.TemporaryTopic.
Warning: Could not resolve jakarta.jms.TextMessage for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.TextMessage.
Warning: Could not resolve jakarta.jms.MessageListener for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.jms.MessageListener.
Warning: Could not resolve org.apache.activemq.artemis.core.journal.RecordInfo for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.activemq.artemis.core.journal.RecordInfo.
[1/7] Initializing...                                                                                   (16.1s @ 0.32GB)
 Version info: 'GraalVM 22.3.1 Java 17 CE'
 Java version info: '17.0.6+10-jvmci-22.3-b13'
 C compiler: cc (apple, x86_64, 14.0.3)
 Garbage collector: Serial GC
 2 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
22:42:47,036 WARN  [io.qua.config] Unrecognized configuration key "quarkus.jib.jvm-arguments" was provided; it will be ignored; verify that the dependency extension for this configuration is set or that you did not make a typo
22:43:20,977 WARN  [io.net.res.dns.DnsServerAddressStreamProviders] Can not find io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider in the classpath, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'
22:43:42,640 INFO  [org.mon.dri.authenticator] Using built-in driver implementation to retrieve AWS credentials. Consider adding a dependency to AWS SDK v2's software.amazon.awssdk:auth artifact to get access to additional AWS authentication functionality.
[Use -Dgraal.LogFile=<path> to redirect Graal log output to a file.]
[thread:1] scope: main
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/resources/index.html
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.vertx.core.spi.JsonFactory
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.jboss.logmanager.MDCProvider
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.jboss.resteasy.reactive.common.core.ResponseBuilderFactory
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.quarkus.vertx.http.runtime.attribute.ExchangeAttributeBuilder
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.eclipse.microprofile.config.spi.Converter
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.eclipse.microprofile.config.spi.Converter
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.eclipse.microprofile.config.spi.ConfigProviderResolver
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.jboss.logmanager.EmbeddedConfigurator
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.smallrye.config.ConfigSourceInterceptor
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/com.mongodb.spi.dns.DnsClientProvider
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.eclipse.microprofile.reactive.streams.operators.ReactiveStreamsFactory
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.eclipse.microprofile.reactive.streams.operators.spi.ReactiveStreamsEngine
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.eclipse.yasson.spi.JsonbComponentInstanceCreator
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: yasson-messages.properties
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.jboss.resteasy.reactive.client.spi.MissingMessageBodyReaderErrorMessageContextualizer
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/jakarta.ws.rs.client.ClientBuilder
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.jboss.resteasy.reactive.common.core.ResponseBuilderFactory
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/jakarta.ws.rs.client.ClientBuilder
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.smallrye.stork.spi.config.ConfigProvider
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.smallrye.config.ConfigSourceInterceptor
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/org.eclipse.microprofile.config.spi.Converter
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.smallrye.stork.spi.internal.ServiceRegistrarLoader
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.smallrye.stork.spi.internal.LoadBalancerLoader
  [thread:1] scope: main.registerResource
  ResourcesFeature: registerResource: META-INF/services/io.smallrye.stork.spi.internal.ServiceDiscoveryLoader
[thread:46] scope: ForkJoinPool-2-worker-3
  [thread:46] scope: ForkJoinPool-2-worker-3.ClosedWorldAnalysis
  Context: StructuredGraph:121839{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.remove_state -> HotSpotMethod<CacheStore.remove_state(Uid, String, int)>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.remove_state -> HotSpotMethod<CacheStore.remove_state(Uid, String, int)>>
    [thread:46] scope: ForkJoinPool-2-worker-3.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope ForkJoinPool-2-worker-3.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: 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=com.arjuna.ats.internal.arjuna.objectstore.AsyncStore. 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 parsing com.arjuna.ats.internal.arjuna.objectstore.CacheStore.remove_state(CacheStore.java:78)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:171)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:109)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.lambda$addObserver$0(TypeFlow.java:455)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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 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=com.arjuna.ats.internal.arjuna.objectstore.AsyncStore. 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 org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.error(DisallowedImageHeapObjectFeature.java:174)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.image.DisallowedImageHeapObjects.check(DisallowedImageHeapObjects.java:77)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.replacer(DisallowedImageHeapObjectFeature.java:150)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:595)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.replaceObject(AnalysisConstantReflectionProvider.java:177)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptValue(AnalysisConstantReflectionProvider.java:148)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readValue(AnalysisConstantReflectionProvider.java:100)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readFieldValue(AnalysisConstantReflectionProvider.java:79)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.util.ConstantFoldUtil$1.readValue(ConstantFoldUtil.java:55)
        at jdk.internal.vm.compiler/org.graalvm.compiler.core.common.spi.JavaConstantFieldProvider.readConstantField(JavaConstantFieldProvider.java:78)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantFieldProvider.readConstantField(AnalysisConstantFieldProvider.java:72)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.util.ConstantFoldUtil.tryConstantFold(ConstantFoldUtil.java:51)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.ConstantFoldLoadFieldPlugin.tryConstantFold(ConstantFoldLoadFieldPlugin.java:53)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.ConstantFoldLoadFieldPlugin.handleLoadStaticField(ConstantFoldLoadFieldPlugin.java:49)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genGetStatic(BytecodeParser.java:4801)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genGetStatic(BytecodeParser.java:4772)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5282)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 27 more
    
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
    Context obj StructuredGraph:121839{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.remove_state -> HotSpotMethod<CacheStore.remove_state(Uid, String, int)>>}
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.remove_state -> HotSpotMethod<CacheStore.remove_state(Uid, String, int)>>
[thread:51] scope: ForkJoinPool-2-worker-8
  [thread:51] scope: ForkJoinPool-2-worker-8.ClosedWorldAnalysis
  Context: StructuredGraph:122139{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.write_state -> HotSpotMethod<CacheStore.write_state(Uid, String, OutputObjectState, int)>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.write_state -> HotSpotMethod<CacheStore.write_state(Uid, String, OutputObjectState, int)>>
    [thread:51] scope: ForkJoinPool-2-worker-8.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope ForkJoinPool-2-worker-8.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: 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=com.arjuna.ats.internal.arjuna.objectstore.AsyncStore. 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 parsing com.arjuna.ats.internal.arjuna.objectstore.CacheStore.write_state(CacheStore.java:116)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:171)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultSpecialInvokeTypeFlow.onObservedUpdate(DefaultSpecialInvokeTypeFlow.java:61)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.lambda$addObserver$0(TypeFlow.java:455)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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 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=com.arjuna.ats.internal.arjuna.objectstore.AsyncStore. 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 org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.error(DisallowedImageHeapObjectFeature.java:174)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.image.DisallowedImageHeapObjects.check(DisallowedImageHeapObjects.java:77)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.replacer(DisallowedImageHeapObjectFeature.java:150)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:595)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.replaceObject(AnalysisConstantReflectionProvider.java:177)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptValue(AnalysisConstantReflectionProvider.java:148)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readValue(AnalysisConstantReflectionProvider.java:100)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readFieldValue(AnalysisConstantReflectionProvider.java:79)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.util.ConstantFoldUtil$1.readValue(ConstantFoldUtil.java:55)
        at jdk.internal.vm.compiler/org.graalvm.compiler.core.common.spi.JavaConstantFieldProvider.readConstantField(JavaConstantFieldProvider.java:78)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantFieldProvider.readConstantField(AnalysisConstantFieldProvider.java:72)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.util.ConstantFoldUtil.tryConstantFold(ConstantFoldUtil.java:51)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.ConstantFoldLoadFieldPlugin.tryConstantFold(ConstantFoldLoadFieldPlugin.java:53)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.ConstantFoldLoadFieldPlugin.handleLoadStaticField(ConstantFoldLoadFieldPlugin.java:49)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genGetStatic(BytecodeParser.java:4801)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genGetStatic(BytecodeParser.java:4772)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5282)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 27 more
    
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
    Context obj StructuredGraph:122139{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.write_state -> HotSpotMethod<CacheStore.write_state(Uid, String, OutputObjectState, int)>>}
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.write_state -> HotSpotMethod<CacheStore.write_state(Uid, String, OutputObjectState, int)>>
[thread:48] scope: ForkJoinPool-2-worker-5
  [thread:48] scope: ForkJoinPool-2-worker-5.ClosedWorldAnalysis
  Context: StructuredGraph:124711{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>(HornetqJournalEnvironmentBean)>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>(HornetqJournalEnvironmentBean)>>
    [thread:48] scope: ForkJoinPool-2-worker-5.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope ForkJoinPool-2-worker-5.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor is registered for linking at image build time by command line
        at parsing com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init>(HornetqObjectStoreAdaptor.java:84)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.lookupEncodedGraph(InlineBeforeAnalysis.java:180)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.doInline(PEGraphDecoder.java:1162)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.tryInline(PEGraphDecoder.java:1145)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.trySimplifyInvoke(PEGraphDecoder.java:1003)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.handleInvoke(PEGraphDecoder.java:957)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.processNextNode(GraphDecoder.java:817)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.processNextNode(InlineBeforeAnalysis.java:240)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.decode(GraphDecoder.java:548)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.decode(PEGraphDecoder.java:833)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysis.decodeGraph(InlineBeforeAnalysis.java:98)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:179)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultAnalysisPolicy.staticRootMethodGraph(DefaultAnalysisPolicy.java:182)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.lambda$addRootMethod$0(PointsToAnalysis.java:320)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$2.run(PointsToAnalysis.java:507)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor 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:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1778)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1768)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5287)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 38 more
    
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
[thread:1] scope: main
  [thread:1] scope: main.ClosedWorldAnalysis
  Context: StructuredGraph:124893{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>()>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>()>>
    [thread:1] scope: main.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope main.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor is registered for linking at image build time by command line
        at parsing com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init>(HornetqObjectStoreAdaptor.java:78)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.lookupEncodedGraph(InlineBeforeAnalysis.java:180)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.doInline(PEGraphDecoder.java:1162)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.tryInline(PEGraphDecoder.java:1145)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.trySimplifyInvoke(PEGraphDecoder.java:1003)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.handleInvoke(PEGraphDecoder.java:957)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.processNextNode(GraphDecoder.java:817)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.processNextNode(InlineBeforeAnalysis.java:240)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.decode(GraphDecoder.java:548)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.decode(PEGraphDecoder.java:833)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysis.decodeGraph(InlineBeforeAnalysis.java:98)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:179)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultAnalysisPolicy.staticRootMethodGraph(DefaultAnalysisPolicy.java:182)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.lambda$addRootMethod$0(PointsToAnalysis.java:320)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$2.run(PointsToAnalysis.java:507)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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 org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:243)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.doTypeflow(PointsToAnalysis.java:541)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:529)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:143)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:745)
        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.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor 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:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1778)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1768)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5287)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 46 more
    
    Context obj StructuredGraph:124711{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>(HornetqJournalEnvironmentBean)>>}
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>(HornetqJournalEnvironmentBean)>>
    Context obj StructuredGraph:124893{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>()>>}
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init> -> HotSpotMethod<HornetqObjectStoreAdaptor.<init>()>>
[thread:48] scope: ForkJoinPool-2-worker-5
  [thread:48] scope: ForkJoinPool-2-worker-5.InlineBeforeAnalysis
  Context: StructuredGraph:124710{AnalysisMethod<com.oracle.svm.core.code.FactoryMethodHolder.HornetqObjectStoreAdaptor_constructor_2d6d138d283e6a1f75de283c9b345f27be64f1cb -> com.oracle.svm.hosted.code.FactoryMethod@3c7a842a>}
    [thread:48] scope: ForkJoinPool-2-worker-5.InlineBeforeAnalysis.PEGraphDecode
    Context: StructuredGraph:124710{AnalysisMethod<com.oracle.svm.core.code.FactoryMethodHolder.HornetqObjectStoreAdaptor_constructor_2d6d138d283e6a1f75de283c9b345f27be64f1cb -> com.oracle.svm.hosted.code.FactoryMethod@3c7a842a>}
    Exception raised in scope ForkJoinPool-2-worker-5.InlineBeforeAnalysis.PEGraphDecode: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor is registered for linking at image build time by command line
        at parsing com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init>(HornetqObjectStoreAdaptor.java:84)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.lookupEncodedGraph(InlineBeforeAnalysis.java:180)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.doInline(PEGraphDecoder.java:1162)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.tryInline(PEGraphDecoder.java:1145)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.trySimplifyInvoke(PEGraphDecoder.java:1003)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.handleInvoke(PEGraphDecoder.java:957)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.processNextNode(GraphDecoder.java:817)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.processNextNode(InlineBeforeAnalysis.java:240)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.decode(GraphDecoder.java:548)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.decode(PEGraphDecoder.java:833)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysis.decodeGraph(InlineBeforeAnalysis.java:98)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:179)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultAnalysisPolicy.staticRootMethodGraph(DefaultAnalysisPolicy.java:182)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.lambda$addRootMethod$0(PointsToAnalysis.java:320)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$2.run(PointsToAnalysis.java:507)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor 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:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1778)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1768)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5287)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 38 more
    
    Context obj StructuredGraph:124710{AnalysisMethod<com.oracle.svm.core.code.FactoryMethodHolder.HornetqObjectStoreAdaptor_constructor_2d6d138d283e6a1f75de283c9b345f27be64f1cb -> com.oracle.svm.hosted.code.FactoryMethod@3c7a842a>}
[thread:1] scope: main
  [thread:1] scope: main.InlineBeforeAnalysis
  Context: StructuredGraph:124890{AnalysisMethod<com.oracle.svm.core.code.FactoryMethodHolder.HornetqObjectStoreAdaptor_constructor_45e69d2915d4aaddc960f0c9fd5a8ef4ce662b8d -> com.oracle.svm.hosted.code.FactoryMethod@653aa9c1>}
    [thread:1] scope: main.InlineBeforeAnalysis.PEGraphDecode
    Context: StructuredGraph:124890{AnalysisMethod<com.oracle.svm.core.code.FactoryMethodHolder.HornetqObjectStoreAdaptor_constructor_45e69d2915d4aaddc960f0c9fd5a8ef4ce662b8d -> com.oracle.svm.hosted.code.FactoryMethod@653aa9c1>}
    Exception raised in scope main.InlineBeforeAnalysis.PEGraphDecode: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor is registered for linking at image build time by command line
        at parsing com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.<init>(HornetqObjectStoreAdaptor.java:78)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.lookupEncodedGraph(InlineBeforeAnalysis.java:180)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.doInline(PEGraphDecoder.java:1162)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.tryInline(PEGraphDecoder.java:1145)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.trySimplifyInvoke(PEGraphDecoder.java:1003)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.handleInvoke(PEGraphDecoder.java:957)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.processNextNode(GraphDecoder.java:817)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.processNextNode(InlineBeforeAnalysis.java:240)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.decode(GraphDecoder.java:548)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.decode(PEGraphDecoder.java:833)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysis.decodeGraph(InlineBeforeAnalysis.java:98)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:179)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultAnalysisPolicy.staticRootMethodGraph(DefaultAnalysisPolicy.java:182)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.lambda$addRootMethod$0(PointsToAnalysis.java:320)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$2.run(PointsToAnalysis.java:507)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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 org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:243)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.doTypeflow(PointsToAnalysis.java:541)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:529)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:143)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:745)
        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.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.<init>(com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalEnvironmentBean). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor 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:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1778)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1768)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5287)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 46 more
    
    Context obj StructuredGraph:124890{AnalysisMethod<com.oracle.svm.core.code.FactoryMethodHolder.HornetqObjectStoreAdaptor_constructor_45e69d2915d4aaddc960f0c9fd5a8ef4ce662b8d -> com.oracle.svm.hosted.code.FactoryMethod@653aa9c1>}
[thread:1] scope: main
  [thread:1] scope: main.ClosedWorldAnalysis
  Context: StructuredGraph:125721{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.sync -> HotSpotMethod<CacheStore.sync()>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.sync -> HotSpotMethod<CacheStore.sync()>>
    [thread:1] scope: main.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope main.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: 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=com.arjuna.ats.internal.arjuna.objectstore.AsyncStore. 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 parsing com.arjuna.ats.internal.arjuna.objectstore.CacheStore.sync(CacheStore.java:68)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:171)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:109)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:562)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:488)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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 org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:243)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.doTypeflow(PointsToAnalysis.java:541)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:529)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:143)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:745)
        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.constraints.UnsupportedFeatureException: 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=com.arjuna.ats.internal.arjuna.objectstore.AsyncStore. 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 org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.error(DisallowedImageHeapObjectFeature.java:174)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.image.DisallowedImageHeapObjects.check(DisallowedImageHeapObjects.java:77)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.replacer(DisallowedImageHeapObjectFeature.java:150)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:595)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.replaceObject(AnalysisConstantReflectionProvider.java:177)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptValue(AnalysisConstantReflectionProvider.java:148)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readValue(AnalysisConstantReflectionProvider.java:100)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readFieldValue(AnalysisConstantReflectionProvider.java:79)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.util.ConstantFoldUtil$1.readValue(ConstantFoldUtil.java:55)
        at jdk.internal.vm.compiler/org.graalvm.compiler.core.common.spi.JavaConstantFieldProvider.readConstantField(JavaConstantFieldProvider.java:78)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantFieldProvider.readConstantField(AnalysisConstantFieldProvider.java:72)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.util.ConstantFoldUtil.tryConstantFold(ConstantFoldUtil.java:51)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.ConstantFoldLoadFieldPlugin.tryConstantFold(ConstantFoldLoadFieldPlugin.java:53)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.ConstantFoldLoadFieldPlugin.handleLoadStaticField(ConstantFoldLoadFieldPlugin.java:49)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genGetStatic(BytecodeParser.java:4801)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genGetStatic(BytecodeParser.java:4772)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5282)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 36 more
    
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
[thread:45] scope: ForkJoinPool-2-worker-2
  [thread:45] scope: ForkJoinPool-2-worker-2.ClosedWorldAnalysis
  Context: StructuredGraph:125750{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.getStoreName -> HotSpotMethod<HornetqObjectStoreAdaptor.getStoreName()>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.getStoreName -> HotSpotMethod<HornetqObjectStoreAdaptor.getStoreName()>>
    [thread:45] scope: ForkJoinPool-2-worker-2.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope ForkJoinPool-2-worker-2.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.getStoreName(). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor is registered for linking at image build time by command line
        at parsing com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.getStoreName(HornetqObjectStoreAdaptor.java:442)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:171)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:109)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:562)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:488)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.getStoreName(). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor 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:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeVirtual(BytecodeParser.java:1721)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5286)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 28 more
    
    Context obj StructuredGraph:125721{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.sync -> HotSpotMethod<CacheStore.sync()>>}
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.CacheStore.sync -> HotSpotMethod<CacheStore.sync()>>
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
    Context obj StructuredGraph:125750{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.getStoreName -> HotSpotMethod<HornetqObjectStoreAdaptor.getStoreName()>>}
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.getStoreName -> HotSpotMethod<HornetqObjectStoreAdaptor.getStoreName()>>
[thread:48] scope: ForkJoinPool-2-worker-5
  [thread:48] scope: ForkJoinPool-2-worker-5.ClosedWorldAnalysis
  Context: StructuredGraph:126995{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.read_committed -> HotSpotMethod<HornetqObjectStoreAdaptor.read_committed(Uid, String)>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.read_committed -> HotSpotMethod<HornetqObjectStoreAdaptor.read_committed(Uid, String)>>
    [thread:48] scope: ForkJoinPool-2-worker-5.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope ForkJoinPool-2-worker-5.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.read_committed(com.arjuna.ats.arjuna.common.Uid, java.lang.String). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor is registered for linking at image build time by command line
        at parsing com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.read_committed(HornetqObjectStoreAdaptor.java:172)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:171)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:109)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:562)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:488)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.read_committed(com.arjuna.ats.arjuna.common.Uid, java.lang.String). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor 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:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeVirtual(BytecodeParser.java:1721)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5286)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 28 more
    
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
    Context obj StructuredGraph:126995{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.read_committed -> HotSpotMethod<HornetqObjectStoreAdaptor.read_committed(Uid, String)>>}
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.read_committed -> HotSpotMethod<HornetqObjectStoreAdaptor.read_committed(Uid, String)>>
[thread:49] scope: ForkJoinPool-2-worker-6
  [thread:49] scope: ForkJoinPool-2-worker-6.ClosedWorldAnalysis
  Context: StructuredGraph:127127{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.allObjUids -> HotSpotMethod<HornetqObjectStoreAdaptor.allObjUids(String, InputObjectState, int)>>}
  Context: AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.allObjUids -> HotSpotMethod<HornetqObjectStoreAdaptor.allObjUids(String, InputObjectState, int)>>
    [thread:49] scope: ForkJoinPool-2-worker-6.ClosedWorldAnalysis.AnalysisGraphBuilderPhase
    Exception raised in scope ForkJoinPool-2-worker-6.ClosedWorldAnalysis.AnalysisGraphBuilderPhase: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.getUidsForType(java.lang.String). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor is registered for linking at image build time by command line
        at parsing com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.allObjUids(HornetqObjectStoreAdaptor.java:329)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        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:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        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:446)
        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:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:171)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:109)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:562)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:488)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/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.UnresolvedElementException: Discovered unresolved method during parsing: com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqJournalStore.getUidsForType(java.lang.String). This error is reported at image build time because class com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor 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:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeVirtual(BytecodeParser.java:1721)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5286)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 28 more
    
    Context obj com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase@763d8dbc
    Context obj StructuredGraph:127127{AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.allObjUids -> HotSpotMethod<HornetqObjectStoreAdaptor.allObjUids(String, InputObjectState, int)>>}
    Context obj AnalysisMethod<com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor.allObjUids -> HotSpotMethod<HornetqObjectStoreAdaptor.allObjUids(String, InputObjectState, int)>>
[2/7] Performing analysis...  [*]                                                                       (75.7s @ 1.71GB)
  13,117 (88.46%) of 14,829 classes reachable
  18,268 (60.33%) of 30,278 fields reachable
  64,342 (55.24%) of 116,476 methods reachable
     695 classes,   710 fields, and 4,976 methods registered for reflection
       1 native library: -framework CoreServices
^C%                                                                                                                                                                            


How to Reproduce?

Here is a reproducer:

https://github.com/ayhanap/quarkus-3.x.x.native-build-error/tree/main

  1. checkout
  2. mvn clean package -Pnative -DskipTests

Output of uname -a or ver

Darwin Ayhans-MBP.home 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun 8 22:22:22 PDT 2023; root:xnu-8796.121.3~7/RELEASE_X86_64 x86_64

Output of java -version

openjdk version "17.0.5" 2022-10-18

GraalVM version (if different from Java)

Running Quarkus native-image plugin on GraalVM 22.3.1 Java 17 CE (Java Version 17.0.6+10-jvmci-22.3-b13)

Quarkus version or git rev

3.2.2.Final

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.3 (21122926829f1ead511c958d89bd2f672198ae9f)

Additional information

I've recently upgraded my project to use Quarkus 3.x.x. But although project works nicely, there is a strange native build error related to narayana which didn't make any sense. Tried to check plugin versions and all seems ok.

Spent hours to make a minimal reproducer because it is very inconsistent but seems to be related to ManagedExecutor. Works ok if you just comment out ManagedExecutor.

@quarkus-bot
Copy link

quarkus-bot bot commented Aug 4, 2023

/cc @FroMage (panache), @evanchooly (mongodb), @geoand (jib), @loicmathieu (mongodb,panache)

@geoand
Copy link
Contributor

geoand commented Aug 7, 2023

Thanks for reporting.

@zakkak can you have at look at this one with @mmusgrov ?

@gsmet
Copy link
Member

gsmet commented Aug 7, 2023

I would start by checking the dependency tree to make sure you have a jakarta.* JMS API jar. It might just be that you still have the javax.* one. In this case, I would be interested in knowing the dependency you are using and where it comes from (if you are enforcing the version or if it comes from Quarkus).

@zakkak
Copy link
Contributor

zakkak commented Aug 8, 2023

Checking the dependency tree reveals that no JMS API jar is being pulled in, so it indeed looks like a missing dependency.

On the other hand org.eclipse.microprofile.context-propagation is present, yet Quarkus complains about org.eclipse.microprofile.context.ManagedExecutor and others.

Digging into this it looks like the reflection registration is triggered by io.quarkus.mongodb.panache.deployment.BasePanacheMongoResourceProcessor#processRepositories which leads to registering for reflection all subclasses, parameter types etc. of io.apaydin.userowl.domain.repository.FeedbackRepository.

This doesn't look like a native-image issue to me, more like a configuration issue, either on the application side or the Quarkus side.

One needs to inspect the dependency tree starting from io.apaydin.userowl.domain.repository.FeedbackRepository and leading to the said classes being registered for reflection and figuring out at which step the said classes should have been added to the index and/or the classpath.

HTH

@zakkak
Copy link
Contributor

zakkak commented Aug 8, 2023

FWIW, @gsmet I also think that the following diff helps a bit more in figuring out what lead to the said classes to be registered for reflection (although still not clear, it at least gives a class name you can work with).

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java
index c75ec59494e..c09d11cdc69 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java
@@ -141,7 +141,7 @@ public Predicate<MethodInfo> getIgnoreMethodPredicate() {
     }
 
     public boolean hasSource() {
-        return source != null;
+        return source != null && source != UNKNOWN_SOURCE;
     }
 
     public boolean isSerialization() {

This results in the following output for the given example:

[WARNING] [io.quarkus.deployment.steps.ReflectiveHierarchyStep] Unable to properly register the hierarchy of the following classes for reflection as they are not in the Jandex index:
	- io.mashona.logwriting.ArrayStore (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.enterprise.context.spi.Contextual (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.enterprise.context.spi.CreationalContext (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.enterprise.event.Event (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.BytesMessage (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.Connection (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.ConnectionMetaData (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.ExceptionListener (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.MapMessage (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.Message (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.MessageListener (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.ObjectMessage (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.Session (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.StreamMessage (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.TemporaryQueue (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.TemporaryTopic (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.TextMessage (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.XAConnection (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.XAConnectionFactory (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.jms.XASession (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.transaction.Synchronization (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.transaction.Transaction (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.transaction.TransactionManager (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- jakarta.transaction.TransactionSynchronizationRegistry (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.management.MBeanNotificationInfo (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.management.NotificationBroadcasterSupport (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.management.ObjectName (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.naming.InitialContext (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.sql.DataSource (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.sql.XAConnection (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.sql.XADataSource (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.transaction.xa.XAResource (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- javax.transaction.xa.Xid (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.apache.activemq.artemis.core.journal.Journal (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.apache.activemq.artemis.core.journal.RecordInfo (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.eclipse.microprofile.context.ManagedExecutor (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.eclipse.microprofile.context.ThreadContext (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.eclipse.microprofile.context.spi.ThreadContextController (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.eclipse.microprofile.context.spi.ThreadContextProvider (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.eclipse.microprofile.context.spi.ThreadContextSnapshot (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
	- org.jboss.tm.ConnectableResource (source: io.apaydin.userowl.domain.entity.feedback.Feedback)
Consider adding them to the index either by creating a Jandex index for your dependency via the Maven plugin, an empty META-INF/beans.xml or quarkus.index-dependency properties.

@ayhanap
Copy link
Author

ayhanap commented Nov 2, 2023

I have made another reproducer with only forking quarkus-quickstarts/mongodb-panache-quickstart.

Here it is https://github.com/ayhanap/quarkus-quickstarts-issue-35215

Just added a single commit, which basically just indirectly links a class using ManagedExecutor to a database Entity. quarkusio/quarkus-quickstarts@be62566

To reproduce:

  1. clone
  2. cd mongodb-panache-quickstart
  3. mvn clean package -Pnative -DskipTests

Here is the logs from my run. It's same as original, starting with warnings about jakarta.jms classes. I think because it sees ManagedExecutor it decides to add XAConnection dependencies.
quarkus-35215-native-compile-error.log

@FroMage
Copy link
Member

FroMage commented Nov 8, 2023

Looks like in both cases, we have an entity that should indeed be registered for reflection, but it has fields annotated with @BsonIgnore that should not be registered for reflection.

@ayhanap
Copy link
Author

ayhanap commented Nov 8, 2023

BTW, at last I upgraded to 3.x.x by refactoring any ManagedExecutor reference from related Entities. But this stays as a little constraint.

@loicmathieu
Copy link
Contributor

@FroMage maybe there can be legitimate use case of fields with @BsonId which should be registered for reflection (as a field that we didn't want to persist to the database but still be serialized inside a JSON response).

What disturb me more is a field inside an entity that is an application scoped bean with injection in it, this is a stange design.

@FroMage
Copy link
Member

FroMage commented Nov 10, 2023

What disturb me more is a field inside an entity that is an application scoped bean with injection in it, this is a stange design

It is very strange, but it's also very strange that we register for reflection (for bson, I assume) things that will be ignored by it.

gsmet added a commit to gsmet/quarkus that referenced this issue Dec 28, 2024
@gsmet
Copy link
Member

gsmet commented Dec 28, 2024

There is a combination of multiple issues.

For the initial reproducer

  • Ignore elements annotated with @BsonIgnore for reflection #45306 will ignore the fields marked with @BsonIgnore
  • But... Lombok generates getters without copying the annotation so the methods will trigger the registration of CloudFileTransformer anyway: you need to make sure Lombok copy the @BsonIgnore annotation to the generated getters

For the second reproducer

  • You also need to use the @JsonIgnore annotation as you are pushing these elements through REST JSON services.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/narayana Transactions / Narayana kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants