You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When i try to build a Application using Chronicle-Map with GraalVM's native-image it fails.
The SubstrateVM (the native Building tool) can build with Access to Native Memory
[https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md#unsafe-memory-access](Unsafe Memory Access)
Using a native build Application with Chronicle-Map could improve an Application an incredible much.
Following Log Entries inside the Build:
gu install native-image�[0;m
Downloading: Component catalog from www.graalvm.org
Processing component archive: Native Image
Downloading: Component native-image: Native Image from github.com
[ ]����������������������[# ]����������������������[## ]����������������������[### ]����������������������[#### ]����������������������[##### ]����������������������[###### ]����������������������[####### ]����������������������[######## ]����������������������[######### ]����������������������[########## ]����������������������[########### ]����������������������[############ ]����������������������[############# ]����������������������[############## ]����������������������[############### ]����������������������[################ ]����������������������[################# ]����������������������[################## ]����������������������[################### ]����������������������[####################]����������������������Installing new component: Native Image (org.graalvm.native-image, version 19.2.0)
Refreshed alternative links in /usr/bin/
native-image --no-server -cp build/libs/premiumize-downloader-0.1-all.jar -H:+ReportExceptionStackTraces --no-fallback�[0;m
[premiumize-downloader:87] classlist: 19,720.30 ms
[premiumize-downloader:87] (cap): 3,968.41 ms
[premiumize-downloader:87] setup: 9,208.52 ms
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.bytes.NativeBytesStore. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.bytes.NativeBytesStore. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.bytes.NativeBytesStore. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.hash.impl.util.CleanerUtils. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.hash.impl.util.CleanerUtils. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.core.util.StringUtils. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.core.util.StringUtils. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.core.util.StringUtils. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.wire.BitSetUtil. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.wire.BitSetUtil. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.wire.BitSetUtil. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.wire.WireInternal. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.wire.WireInternal. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of net.openhft.chronicle.values.CompilerUtils. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
[premiumize-downloader:87] analysis: 188,696.41 ms
Error: Error encountered while parsing net.openhft.chronicle.wire.WireMarshaller$FieldAccess.copy(java.lang.Object, java.lang.Object)
Parsing context:
parsing net.openhft.chronicle.wire.WireMarshallerForUnexpectedFields.readMarshallable(WireMarshallerForUnexpectedFields.java:24)
parsing net.openhft.chronicle.wire.Wires.readMarshallable(Wires.java:324)
parsing net.openhft.chronicle.wire.SerializationStrategies$5.readUsing(SerializationStrategies.java:122)
parsing net.openhft.chronicle.wire.Wires.object0(Wires.java:515)
parsing net.openhft.chronicle.wire.ValueIn.object(ValueIn.java:598)
parsing net.openhft.chronicle.wire.TextWire$TextValueIn.objectWithInferredType0(TextWire.java:3330)
parsing net.openhft.chronicle.wire.TextWire$TextValueIn.objectWithInferredType(TextWire.java:3303)
parsing net.openhft.chronicle.wire.TextWire$TextValueIn.typedMarshallable(TextWire.java:3093)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.openWithExistingFile(ChronicleMapBuilder.java:1853)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createWithFile(ChronicleMapBuilder.java:1724)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createPersistedTo(ChronicleMapBuilder.java:1615)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1637)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1626)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1620)
parsing de.serverfrog.premiumize.downloader.database.InMemoryDatabase.<init>(InMemoryDatabase.kt:48)
parsing de.serverfrog.premiumize.downloader.database.$InMemoryDatabaseDefinition.build(Unknown Source)
parsing io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1610)
parsing io.micronaut.context.DefaultBeanContext.addCandidateToList(DefaultBeanContext.java:2642)
parsing io.micronaut.context.DefaultBeanContext.getBeansOfTypeInternal(DefaultBeanContext.java:2541)
parsing io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:637)
parsing io.micronaut.context.DefaultBeanContext.publishEvent(DefaultBeanContext.java:1130)
parsing io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:217)
parsing io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:187)
parsing io.micronaut.runtime.Micronaut.start(Micronaut.java:69)
parsing de.serverfrog.premiumize.downloader.Application$Companion.main(Application.kt:47)
parsing de.serverfrog.premiumize.downloader.Application.main(Application.kt)
parsing com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:151)
parsing com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:186)
parsing com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing net.openhft.chronicle.wire.WireMarshaller$FieldAccess.copy(java.lang.Object, java.lang.Object)
Parsing context:
parsing net.openhft.chronicle.wire.WireMarshallerForUnexpectedFields.readMarshallable(WireMarshallerForUnexpectedFields.java:24)
parsing net.openhft.chronicle.wire.Wires.readMarshallable(Wires.java:324)
parsing net.openhft.chronicle.wire.SerializationStrategies$5.readUsing(SerializationStrategies.java:122)
parsing net.openhft.chronicle.wire.Wires.object0(Wires.java:515)
parsing net.openhft.chronicle.wire.ValueIn.object(ValueIn.java:598)
parsing net.openhft.chronicle.wire.TextWire$TextValueIn.objectWithInferredType0(TextWire.java:3330)
parsing net.openhft.chronicle.wire.TextWire$TextValueIn.objectWithInferredType(TextWire.java:3303)
parsing net.openhft.chronicle.wire.TextWire$TextValueIn.typedMarshallable(TextWire.java:3093)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.openWithExistingFile(ChronicleMapBuilder.java:1853)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createWithFile(ChronicleMapBuilder.java:1724)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createPersistedTo(ChronicleMapBuilder.java:1615)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1637)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1626)
parsing net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(ChronicleMapBuilder.java:1620)
parsing de.serverfrog.premiumize.downloader.database.InMemoryDatabase.<init>(InMemoryDatabase.kt:48)
parsing de.serverfrog.premiumize.downloader.database.$InMemoryDatabaseDefinition.build(Unknown Source)
parsing io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1610)
parsing io.micronaut.context.DefaultBeanContext.addCandidateToList(DefaultBeanContext.java:2642)
parsing io.micronaut.context.DefaultBeanContext.getBeansOfTypeInternal(DefaultBeanContext.java:2541)
parsing io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:637)
parsing io.micronaut.context.DefaultBeanContext.publishEvent(DefaultBeanContext.java:1130)
parsing io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:217)
parsing io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:187)
parsing io.micronaut.runtime.Micronaut.start(Micronaut.java:69)
parsing de.serverfrog.premiumize.downloader.Application$Companion.main(Application.kt:47)
parsing de.serverfrog.premiumize.downloader.Application.main(Application.kt)
parsing com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:151)
parsing com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:186)
parsing com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
at com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:138)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:327)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:300)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:107)
at com.oracle.graal.pointsto.DefaultAnalysisPolicy$DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultAnalysisPolicy.java:191)
at com.oracle.graal.pointsto.flow.TypeFlow.notifyObservers(TypeFlow.java:343)
at com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:385)
at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:510)
at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:171)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.oracle.svm.hosted.analysis.flow.SVMMethodTypeFlowBuilder$UnsafeOffsetError: Field AnalysisField<WireMarshaller$FieldAccess.offset accessed: false reads: true written: true> is used as an offset in an unsafe operation, but no value recomputation found.
Wrapped field: HotSpotResolvedJavaFieldImpl<net.openhft.chronicle.wire.WireMarshaller$FieldAccess.offset long:16>
Location: at net.openhft.chronicle.wire.WireMarshaller$FieldAccess.copy(WireMarshaller.java:418) [bci: 13]
at com.oracle.svm.hosted.analysis.flow.SVMMethodTypeFlowBuilder$UnsafeOffsetError.report(SVMMethodTypeFlowBuilder.java:119)
at com.oracle.svm.hosted.analysis.flow.SVMMethodTypeFlowBuilder.checkUnsafeOffset(SVMMethodTypeFlowBuilder.java:161)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder$NodeIterator.node(MethodTypeFlowBuilder.java:1029)
at org.graalvm.compiler.phases.graph.PostOrderNodeIterator.apply(PostOrderNodeIterator.java:106)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:421)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:310)
... 12 more
Error: Error encountered while parsing net.openhft.chronicle.wire.WireMarshaller$DoubleFieldAccess.sameValue(java.lang.Object, java.lang.Object)
Parsing context:
parsing net.openhft.chronicle.wire.WireMarshaller$FieldAccess.isEqual(WireMarshaller.java:437)
parsing net.openhft.chronicle.wire.WireMarshaller.isEqual(WireMarshaller.java:194)
parsing net.openhft.chronicle.wire.Wires.isEquals(Wires.java:377)
parsing net.openhft.chronicle.wire.AbstractFieldInfo.equals(AbstractFieldInfo.java:42)
parsing io.reactivex.internal.util.OpenHashSet.add(OpenHashSet.java:64)
parsing io.reactivex.disposables.CompositeDisposable.add(CompositeDisposable.java:108)
parsing io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.schedule(ExecutorScheduler.java:156)
parsing io.reactivex.internal.operators.flowable.FlowableSubscribeOn.subscribeActual(FlowableSubscribeOn.java:48)
parsing io.reactivex.Flowable.subscribe(Flowable.java:14918)
parsing io.reactivex.Flowable.subscribe(Flowable.java:14868)
parsing io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice.intercept(HttpClientIntroductionAdvice.java:487)
parsing io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:69)
parsing de.serverfrog.premiumize.downloader.Application$ApplicationEventListener$loadConferenceData1$Intercepted.onApplicationEvent(Unknown Source)
parsing io.micronaut.context.DefaultBeanContext.lambda$publishEvent$17(DefaultBeanContext.java:1145)
parsing io.micronaut.context.DefaultBeanContext$$Lambda$436/607723195.accept(Unknown Source)
parsing java.util.ArrayList.forEach(ArrayList.java:1257)
parsing io.micronaut.context.DefaultBeanContext.lambda$processParallelBeans$47(DefaultBeanContext.java:1746)
parsing io.micronaut.context.DefaultBeanContext$$Lambda$434/1963668494.run(Unknown Source)
parsing com.oracle.svm.core.jdk.RuntimeSupport.executeHooks(RuntimeSupport.java:144)
parsing com.oracle.svm.core.jdk.RuntimeSupport.executeTearDownHooks(RuntimeSupport.java:121)
parsing com.oracle.svm.core.graal.snippets.CEntryPointSnippets.tearDownIsolate(CEntryPointSnippets.java:300)
com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing net.openhft.chronicle.wire.WireMarshaller$DoubleFieldAccess.sameValue(java.lang.Object, java.lang.Object)
Parsing context:
parsing net.openhft.chronicle.wire.WireMarshaller$FieldAccess.isEqual(WireMarshaller.java:437)
parsing net.openhft.chronicle.wire.WireMarshaller.isEqual(WireMarshaller.java:194)
parsing net.openhft.chronicle.wire.Wires.isEquals(Wires.java:377)
parsing net.openhft.chronicle.wire.AbstractFieldInfo.equals(AbstractFieldInfo.java:42)
parsing io.reactivex.internal.util.OpenHashSet.add(OpenHashSet.java:64)
parsing io.reactivex.disposables.CompositeDisposable.add(CompositeDisposable.java:108)
parsing io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.schedule(ExecutorScheduler.java:156)
parsing io.reactivex.internal.operators.flowable.FlowableSubscribeOn.subscribeActual(FlowableSubscribeOn.java:48)
parsing io.reactivex.Flowable.subscribe(Flowable.java:14918)
parsing io.reactivex.Flowable.subscribe(Flowable.java:14868)
parsing io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice.intercept(HttpClientIntroductionAdvice.java:487)
parsing io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:69)
parsing de.serverfrog.premiumize.downloader.Application$ApplicationEventListener$loadConferenceData1$Intercepted.onApplicationEvent(Unknown Source)
parsing io.micronaut.context.DefaultBeanContext.lambda$publishEvent$17(DefaultBeanContext.java:1145)
parsing io.micronaut.context.DefaultBeanContext$$Lambda$436/607723195.accept(Unknown Source)
parsing java.util.ArrayList.forEach(ArrayList.java:1257)
parsing io.micronaut.context.DefaultBeanContext.lambda$processParallelBeans$47(DefaultBeanContext.java:1746)
parsing io.micronaut.context.DefaultBeanContext$$Lambda$434/1963668494.run(Unknown Source)
parsing com.oracle.svm.core.jdk.RuntimeSupport.executeHooks(RuntimeSupport.java:144)
parsing com.oracle.svm.core.jdk.RuntimeSupport.executeTearDownHooks(RuntimeSupport.java:121)
parsing com.oracle.svm.core.graal.snippets.CEntryPointSnippets.tearDownIsolate(CEntryPointSnippets.java:300)
at com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:138)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:327)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:300)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:107)
at com.oracle.graal.pointsto.DefaultAnalysisPolicy$DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultAnalysisPolicy.java:191)
at com.oracle.graal.pointsto.flow.TypeFlow.notifyObservers(TypeFlow.java:343)
at com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:385)
at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:510)
at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:171)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.oracle.svm.hosted.analysis.flow.SVMMethodTypeFlowBuilder$UnsafeOffsetError: Field AnalysisField<WireMarshaller$FieldAccess.offset accessed: false reads: true written: true> is used as an offset in an unsafe operation, but no value recomputation found.
Wrapped field: HotSpotResolvedJavaFieldImpl<net.openhft.chronicle.wire.WireMarshaller$FieldAccess.offset long:16>
Location: at net.openhft.chronicle.wire.WireMarshaller$DoubleFieldAccess.sameValue(WireMarshaller.java:1557) [bci: 5]
at com.oracle.svm.hosted.analysis.flow.SVMMethodTypeFlowBuilder$UnsafeOffsetError.report(SVMMethodTypeFlowBuilder.java:119)
at com.oracle.svm.hosted.analysis.flow.SVMMethodTypeFlowBuilder.checkUnsafeOffset(SVMMethodTypeFlowBuilder.java:161)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder$NodeIterator.node(MethodTypeFlowBuilder.java:1029)
at org.graalvm.compiler.phases.graph.PostOrderNodeIterator.apply(PostOrderNodeIterator.java:106)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:421)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:310)
... 12 more
Error: Image build request failed with exit status 1
The text was updated successfully, but these errors were encountered:
@Serverfrog you probably need to report this to Graal, not us. Graal compiler can't figure out how to work with Unsafe but it works fine with Graal JIT meaning there's no problem with the code.
When i try to build a Application using Chronicle-Map with GraalVM's native-image it fails.
The SubstrateVM (the native Building tool) can build with Access to Native Memory
[https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md#unsafe-memory-access](Unsafe Memory Access)
Using a native build Application with Chronicle-Map could improve an Application an incredible much.
Following Log Entries inside the Build:
The text was updated successfully, but these errors were encountered: