添加 -agentlib 选项时无法使用 graalVM 编译 spring 应用程序

问题描述

我目前遇到了一个奇怪的问题。我正在从 SpringBoot JVM 应用程序迁移到 GraalVM 原生应用程序。

为了实现这一点,我需要手动覆盖 GraalVM 制作的reflectioc-config.json。为此,我想通过 graal 自动生成一个,以避免重写所有内容(并了解他所做的一切)。但是,当我添加 -agentlib:native-image-agent=config-output-dir=src/graal 参数时,一切都会出错。

我的意思是,没有这个,本机映像编译并运行(后来,因为它错过了一些初始化而崩溃),但是有了这一行,它在编译时完全崩溃了

[INFO]     [creator]     Fatal error: jvmti call Failed with jvmti_ERROR_NOT_AVAILABLE
[INFO]     [creator]     Error: Image build request Failed with exit status 99

我基本上什至不知道什么是 jvmti,为什么需要它,为什么它现在是一个问题(以及如何修复它^^')我用谷歌搜索它,但我没有找到与我的相关的东西具体案例 有人已经在使用 spring-native 时遇到过这个问题吗?

如果你可能需要它,完整的错误信息:

[INFO]     [creator]     Fatal error: jvmti call Failed with jvmti_ERROR_NOT_AVAILABLE
[INFO]     [creator]
[INFO]     [creator]     JavaFrameAnchor dump:
[INFO]     [creator]
[INFO]     [creator]       No anchors
[INFO]     [creator]
[INFO]     [creator]     TopFrame info:
[INFO]     [creator]
[INFO]     [creator]       TotalFrameSize in CodeInfoTable 48
[INFO]     [creator]
[INFO]     [creator]     VMThreads info:
[INFO]     [creator]
[INFO]     [creator]       VMThread 00007f264c0249c0  STATUS_IN_JAVA (safepoints disabled)  java.lang.Thread@0x7f264a771850
[INFO]     [creator]
[INFO]     [creator]     VM Thread State for current thread 00007f264c0249c0:
[INFO]     [creator]
[INFO]     [creator]       0 (8 bytes): com.oracle.svm.jni.JNIThreadLocalEnvironment.jniFunctions = (bytes)
[INFO]     [creator]         00007f264c0249c0: 00007f264a699010
[INFO]     [creator]
[INFO]     [creator]       8 (8 bytes): com.oracle.svm.core.graal.snippets.StackOverflowCheckImpl.stackBoundaryTL = (Word) 1  0000000000000001
[INFO]     [creator]       16 (4 bytes): com.oracle.svm.core.thread.Safepoint.safepointRequested = (int) 2147480300  7ffff2ec
[INFO]     [creator]       20 (4 bytes): com.oracle.svm.core.thread.VMThreads$StatusSupport.statusTL = (int) 1  00000001
[INFO]     [creator]       24 (32 bytes): com.oracle.svm.core.genscavenge.ThreadLocalAllocation.regularTLAB = (bytes)
[INFO]     [creator]         00007f264c0249d8: 00007f2650100000 00007f2650200000
[INFO]     [creator]         00007f264c0249e8: 00007f2650103688 0000000000000000
[INFO]     [creator]
[INFO]     [creator]
[INFO]     [creator]       56 (8 bytes): com.oracle.svm.core.thread.JavaThreads.currentThread = (Object) java.lang.Thread  00007f264a771850
[INFO]     [creator]       64 (8 bytes): com.oracle.svm.core.stack.JavaFrameAnchors.lastAnchor = (Word) 0  0000000000000000
[INFO]     [creator]       72 (8 bytes): com.oracle.svm.core.heap.NoAllocationVerifier.openVerifiers = (Object) null
[INFO]     [creator]       80 (8 bytes): com.oracle.svm.core.identityhashcode.IdentityHashCodeSupport.hashCodeGeneratorTL = (Object) null
[INFO]     [creator]       88 (8 bytes): com.oracle.svm.core.snippets.ExceptionUnwind.currentException = (Object) null
[INFO]     [creator]       96 (8 bytes): com.oracle.svm.core.thread.ThreadingSupportImpl.activeTimer = (Object) null
[INFO]     [creator]       104 (8 bytes): com.oracle.svm.graal.isolated.IsolatedCompileClient.currentClient = (Object) null
[INFO]     [creator]       112 (8 bytes): com.oracle.svm.graal.isolated.IsolatedCompileContext.currentContext = (Object) null
[INFO]     [creator]       120 (8 bytes): com.oracle.svm.jni.JNIObjectHandles.handles = (Object) com.oracle.svm.core.handles.ThreadLocalHandles  00007f26501010a0
[INFO]     [creator]       128 (8 bytes): com.oracle.svm.jni.JNIThreadLocalPendingException.pendingException = (Object) null
[INFO]     [creator]       136 (8 bytes): com.oracle.svm.jni.JNIThreadLocalPinnedobjects.pinnedobjectsListHead = (Object) null
[INFO]     [creator]       144 (8 bytes): com.oracle.svm.jni.JNIThreadOwnedMonitors.ownedMonitors = (Object) null
[INFO]     [creator]       152 (8 bytes): com.oracle.svm.core.thread.VMThreads.IsolateTL = (Word) 139802432241664  00007f264a500000
[INFO]     [creator]       160 (8 bytes): com.oracle.svm.core.thread.VMThreads.OSThreadHandleTL = (Word) 139802571708160  00007f2652a01700
[INFO]     [creator]       168 (8 bytes): com.oracle.svm.core.thread.VMThreads.OSThreadIdTL = (Word) 139802571708160  00007f2652a01700
[INFO]     [creator]       176 (8 bytes): com.oracle.svm.core.thread.VMThreads.nextTL = (Word) 0  0000000000000000
[INFO]     [creator]       184 (8 bytes): com.oracle.svm.core.thread.VMThreads.unalignedisolateThreadMemoryTL = (Word) 139802460703120  00007f264c024990
[INFO]     [creator]       192 (4 bytes): com.oracle.svm.core.graal.snippets.StackOverflowCheckImpl.yellowZonestateTL = (int) -16843010  fefefefe
[INFO]     [creator]       196 (4 bytes): com.oracle.svm.core.snippets.ImplicitExceptions.implicitExceptionsAreFatal = (int) 0  00000000
[INFO]     [creator]       200 (4 bytes): com.oracle.svm.core.thread.ThreadingSupportImpl.currentPauseDepth = (int) 0  00000000
[INFO]     [creator]       204 (4 bytes): com.oracle.svm.core.thread.VMThreads$ActionOnExitSafepointSupport.actionTL = (int) 0  00000000
[INFO]     [creator]       208 (4 bytes): com.oracle.svm.core.thread.VMThreads$ActionOnTransitionToJavaSupport.actionTL = (int) 0  00000000
[INFO]     [creator]       212 (4 bytes): com.oracle.svm.core.thread.VMThreads$StatusSupport.safepointsdisabledTL = (int) 1  00000001
[INFO]     [creator]
[INFO]     [creator]     VMOperation dump:
[INFO]     [creator]
[INFO]     [creator]       No VMOperation in progress
[INFO]     [creator]
[INFO]     [creator]       The 10 most recent VM operation status changes (oldest first):
[INFO]     [creator]
[INFO]     [creator]
[INFO]     [creator]     Dump Counters:
[INFO]     [creator]
[INFO]     [creator]
[INFO]     [creator]     Raw Stacktrace:
[INFO]     [creator]
[INFO]     [creator]       00007f2652a00a30: 00007f2650103550 00007f2650103628
[INFO]     [creator]       00007f2652a00a40: 00007f2650103668 00007f264a500000
[INFO]     [creator]       00007f2652a00a50: 00007f264ab7a8f9 00007f264ab7a974
[INFO]     [creator]       00007f2652a00a60: 00007f264a61b4b8 00007f264ab7a8f9
[INFO]     [creator]       00007f2652a00a70: 0000001949544d56 00007f264abf6a25
[INFO]     [creator]       00007f2652a00a80: 00007f264a500000 0000000000000062
[INFO]     [creator]       00007f2652a00a90: 00007f2650103550 00007f264a8a8718
[INFO]     [creator]       00007f2652a00aa0: 0000000000000000 00007f264ab7b4e1
[INFO]     [creator]
[INFO]     [creator]     Stacktrace Stage 0:
[INFO]     [creator]
[INFO]     [creator]       SP 00007f2652a00a30 IP 00007f264ab5c740  FrameSize 48
[INFO]     [creator]       SP 00007f2652a00a60 IP 00007f264ab7a974  FrameSize 16
[INFO]     [creator]       SP 00007f2652a00a70 IP 00007f264ab7a8f9  FrameSize 16
[INFO]     [creator]       SP 00007f2652a00a80 IP 00007f264abf6a25  FrameSize 48
[INFO]     [creator]       SP 00007f2652a00ab0 IP 00007f264ab7b4e1  FrameSize 32
[INFO]     [creator]       SP 00007f2652a00ad0 IP 00007f264ab7cbc3  FrameSize 48
[INFO]     [creator]       SP 00007f2652a00b00 IP 00007f264abf64fe  FrameSize 96
[INFO]     [creator]       SP 00007f2652a00b60 IP 00007f264ab29ba4  FrameSize 96
[INFO]     [creator]
[INFO]     [creator]     Stacktrace Stage 1:
[INFO]     [creator]
[INFO]     [creator]       SP 00007f2652a00a30 IP 00007f264ab5c740  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]       SP 00007f2652a00a60 IP 00007f264ab7a974  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]       SP 00007f2652a00a70 IP 00007f264ab7a8f9  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]       SP 00007f2652a00a80 IP 00007f264abf6a25  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]       SP 00007f2652a00ab0 IP 00007f264ab7b4e1  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]       SP 00007f2652a00ad0 IP 00007f264ab7cbc3  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]       SP 00007f2652a00b00 IP 00007f264abf64fe  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]       SP 00007f2652a00b60 IP 00007f264ab29ba4  com.oracle.svm.core.code.CodeInfo@0x7f264a727318 name = image code
[INFO]     [creator]
[INFO]     [creator]     Stacktrace Stage 2:
[INFO]     [creator]
[INFO]     [creator]       SP 00007f2652a00a30 IP 00007f264ab5c740  [image code] com.oracle.svm.core.jdk.VMErrorSubstitutions.shutdown(VMErrorSubstitutions.java:111)
[INFO]     [creator]       SP 00007f2652a00a30 IP 00007f264ab5c740  [image code] com.oracle.svm.core.jdk.VMErrorSubstitutions.shouldNotReachHere(VMErrorSubstitutions.java:104)
[INFO]     [creator]       SP 00007f2652a00a60 IP 00007f264ab7a974  [image code] com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:63)
[INFO]     [creator]       SP 00007f2652a00a70 IP 00007f264ab7a8f9  [image code] com.oracle.svm.core.util.VMError.guarantee(VMError.java:89)
[INFO]     [creator]       SP 00007f2652a00a80 IP 00007f264abf6a25  [image code] com.oracle.svm.jvmtiagentbase.Support.check(Support.java:417)
[INFO]     [creator]       SP 00007f2652a00ab0 IP 00007f264ab7b4e1  [image code] com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.enableCapabilities(NativeImageDiagnosticsAgent.java:243)
[INFO]     [creator]       SP 00007f2652a00ad0 IP 00007f264ab7cbc3  [image code] com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.onLoadCallback(NativeImageDiagnosticsAgent.java:128)
[INFO]     [creator]       SP 00007f2652a00b00 IP 00007f264abf64fe  [image code] com.oracle.svm.jvmtiagentbase.jvmtiAgentBase.onLoad(jvmtiAgentBase.java:222)
[INFO]     [creator]       SP 00007f2652a00b60 IP 00007f264ab29ba4  [image code] com.oracle.svm.core.code.IsolateEnterStub.jvmtiAgentBase_onLoad_e67bdedbf3481555b89aadf746b9faadab5d0851(IsolateEnterStub.java:0)
[INFO]     [creator]
[INFO]     [creator]     [Heap settings and statistics:
[INFO]     [creator]       Supports isolates: true
[INFO]     [creator]       Object reference size: 8
[INFO]     [creator]       Incremental collections: 0
[INFO]     [creator]       Complete collections: 0]
[INFO]     [creator]
[INFO]     [creator]     [Native image heap boundaries:
[INFO]     [creator]       ReadOnly Primitives: 0x7f264a501028 .. 0x7f264a5cdbf0
[INFO]     [creator]       ReadOnly References: 0x7f264a5cdc00 .. 0x7f264a698810
[INFO]     [creator]       ReadOnly Relocatables: 0x7f264a699000 .. 0x7f264a6e7648
[INFO]     [creator]       Writable Primitives: 0x7f264a6e8000 .. 0x7f264a735d60
[INFO]     [creator]       Writable References: 0x7f264a735d70 .. 0x7f264a8cff48
[INFO]     [creator]       Writable Huge: 0x0 .. 0x0
[INFO]     [creator]       ReadOnly Huge: 0x7f264a900030 .. 0x7f264a9a4410]
[INFO]     [creator]
[INFO]     [creator]
[INFO]     [creator]     [Heap:
[INFO]     [creator]       [Young generation:
[INFO]     [creator]         [Eden:
[INFO]     [creator]           [edenSpace:
[INFO]     [creator]             aligned: 0/0 unaligned: 0/0]]
[INFO]     [creator]         [Survivors:
[INFO]     [creator]           ]]
[INFO]     [creator]       [Old generation:
[INFO]     [creator]         [oldFromSpace:
[INFO]     [creator]           aligned: 0/0 unaligned: 0/0]
[INFO]     [creator]         [oldToSpace:
[INFO]     [creator]           aligned: 0/0 unaligned: 0/0]
[INFO]     [creator]         ]
[INFO]     [creator]       [Unused:
[INFO]     [creator]         aligned: 0/0]]
[INFO]     [creator]
[INFO]     [creator]     Fatal error: jvmti call Failed with jvmti_ERROR_NOT_AVAILABLE
[INFO]     [creator]     Error: Image build request Failed with exit status 99
[INFO]     [creator]     unable to invoke layer creator
[INFO]     [creator]     unable to contribute native-image layer
[INFO]     [creator]     error running build
[INFO]     [creator]     exit status 99
[INFO]     [creator]     ERROR: Failed to build: exit status 1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)