Open rbjorklin opened 2 years ago
The rest of the stacktrace:
truffleruby: an exception escaped out of the interpreter - this is an implementation bug org.graalvm.polyglot.PolyglotException: java.lang.RuntimeException: Ruby Thread id=85 from (unavailable) terminated with internal error: at org.truffleruby.core.thread.ThreadManager.printInternalError(ThreadManager.java:337) at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:325) at org.truffleruby.core.thread.ThreadManager.lambda$initialize$5(ThreadManager.java:293) at java.lang.Thread.run(Thread.java:833) at com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53) at com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:99) at com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:130) at com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:121) at Hash#[]=(Unknown) at block in Kubeclient::ClientMixin#load_entities(usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:596:22250-22309) at Array#each((core):1:0) at Kubeclient::ClientMixin#load_entities(usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:588:21717-21768) at Kubeclient::ClientMixin#discover(usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:134:3750-3768) at Kubeclient::ClientMixin#method_missing(usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:100:2882-2897) at KubernetesMetadata::WatchPods#get_pods_and_start_watcher(usr/local/bundle/gems/fluent-plugin-kubernetes_metadata_filter-3.1.2/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb:135:5903-5942) at KubernetesMetadata::WatchPods#start_pod_watch(usr/local/bundle/gems/fluent-plugin-kubernetes_metadata_filter-3.1.2/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb:112:5015-5046) at KubernetesMetadata::WatchPods#set_up_pod_thread(usr/local/bundle/gems/fluent-plugin-kubernetes_metadata_filter-3.1.2/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb:32:1126-1160) at &:set_up_pod_thread((unavailable):1:0) Original Internal Error: java.lang.RuntimeException: Ruby Thread id=85 from (unavailable) terminated with internal error: at org.truffleruby.core.thread.ThreadManager.printInternalError(ThreadManager.java:337) at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:325) at org.truffleruby.core.thread.ThreadManager.lambda$initialize$5(ThreadManager.java:293) at java.lang.Thread.run(Thread.java:833) at com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53) at com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:99) at com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:130) at com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:121) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:473) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:454) at com.oracle.truffle.polyglot.PolyglotThread.run(PolyglotThread.java:95) at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:705) at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202) Caused by: java.lang.NullPointerException at org.truffleruby.core.hash.library.PackedHashStoreLibrary.getHashed(PackedHashStoreLibrary.java:75) at org.truffleruby.core.hash.library.PackedHashStoreLibrary$Set.set(PackedHashStoreLibrary.java:207) at org.truffleruby.core.hash.library.PackedHashStoreLibraryGen$HashStoreLibraryExports$Cached.set(PackedHashStoreLibraryGen.java:107) at org.truffleruby.core.hash.HashNodes$SetIndexNode.set(HashNodes.java:238) at org.truffleruby.core.hash.HashNodesFactory$SetIndexNodeFactory$SetIndexNodeGen.execute(HashNodesFactory.java:981) at org.truffleruby.language.RubyCoreMethodRootNode.execute(RubyCoreMethodRootNode.java:48) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:54) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109) at org.truffleruby.language.control.IfNode.execute(IfNode.java:39) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37) at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.yield.CallBlockNode.callBlockCached(CallBlockNode.java:75) at org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:44) at org.truffleruby.language.yield.CallBlockNode.yield(CallBlockNode.java:50) at org.truffleruby.builtins.YieldingCoreMethodNode.callBlock(YieldingCoreMethodNode.java:21) at org.truffleruby.core.array.ArrayNodes$EachNode.accept(ArrayNodes.java:847) at org.truffleruby.core.array.ArrayEachIteratorNode.iterateMany(ArrayEachIteratorNode.java:58) at org.truffleruby.core.array.ArrayEachIteratorNodeGen.executeAndSpecialize(ArrayEachIteratorNodeGen.java:114) at org.truffleruby.core.array.ArrayEachIteratorNodeGen.execute(ArrayEachIteratorNodeGen.java:57) at org.truffleruby.core.array.ArrayNodes$EachNode.each(ArrayNodes.java:842) at org.truffleruby.core.array.ArrayNodesFactory$EachNodeFactory$EachNodeGen.execute(ArrayNodesFactory.java:3773) at org.truffleruby.builtins.EnumeratorSizeNode.execute(EnumeratorSizeNode.java:56) at org.truffleruby.language.RubyCoreMethodRootNode.execute(RubyCoreMethodRootNode.java:48) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:54) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109) at org.truffleruby.language.control.FrameOnStackNode.execute(FrameOnStackNode.java:34) at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37) at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.executeAndSpecialize(CallInternalMethodNodeGen.java:142) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:87) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34) at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.executeAndSpecialize(CallInternalMethodNodeGen.java:142) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:87) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34) at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37) at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.executeAndSpecialize(CallInternalMethodNodeGen.java:142) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:87) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.DispatchNode.callMethodMissing(DispatchNode.java:329) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:309) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109) at org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:28) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34) at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:45) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34) at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.executeAndSpecialize(CallInternalMethodNodeGen.java:142) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:87) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109) at org.truffleruby.language.exceptions.TryNode.execute(TryNode.java:66) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37) at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.executeAndSpecialize(CallInternalMethodNodeGen.java:142) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:87) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109) at org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:28) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34) at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68) at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70) at org.truffleruby.language.methods.CallInternalMethodNodeGen.executeAndSpecialize(CallInternalMethodNodeGen.java:142) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:87) at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:280) at org.truffleruby.language.methods.SymbolProcNode.execute(SymbolProcNode.java:37) at org.truffleruby.language.RubyLambdaRootNode.execute(RubyLambdaRootNode.java:84) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:473) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:454) at org.truffleruby.core.proc.ProcOperations.rootCall(ProcOperations.java:54) at org.truffleruby.core.thread.ThreadNodes$ThreadInitializeNode.lambda$init$0(ThreadNodes.java:440) at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:308) ... 17 more Caused by: Attached Guest Language Frames (11) 2022-10-12 19:44:30 +0000 [error]: Worker 0 finished unexpectedly with status 1
Thank you for the report.
The relevant part of the Java stacktrace:
Caused by: java.lang.NullPointerException
at org.truffleruby.core.hash.library.PackedHashStoreLibrary.getHashed(PackedHashStoreLibrary.java:75)
at org.truffleruby.core.hash.library.PackedHashStoreLibrary$Set.set(PackedHashStoreLibrary.java:207)
at org.truffleruby.core.hash.library.PackedHashStoreLibraryGen$HashStoreLibraryExports$Cached.set(PackedHashStoreLibraryGen.java:107)
at org.truffleruby.core.hash.HashNodes$SetIndexNode.set(HashNodes.java:238)
at org.truffleruby.core.hash.HashNodesFactory$SetIndexNodeFactory$SetIndexNodeGen.execute(HashNodesFactory.java:981)
at org.truffleruby.language.RubyCoreMethodRootNode.execute(RubyCoreMethodRootNode.java:48)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
The most likely cause of that is 2+ threads are accessing the same Hash concurrently and at least one of them is mutating (probably both mutating here).
The Ruby backtrace is:
/usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:596:in `[]='
from /usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:596:in `block in load_entities'
from /usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:588:in `each'
from /usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:588:in `load_entities'
from /usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:134:in `discover'
from /usr/local/bundle/gems/kubeclient-4.10.1/lib/kubeclient/common.rb:100:in `method_missing'
from /usr/local/bundle/gems/fluent-plugin-kubernetes_metadata_filter-3.1.2/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb:128:in `get_namespaces_and_start_watcher'
from /usr/local/bundle/gems/fluent-plugin-kubernetes_metadata_filter-3.1.2/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb:111:in `start_namespace_watch'
from /usr/local/bundle/gems/fluent-plugin-kubernetes_metadata_filter-3.1.2/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb:32:in `set_up_namespace_thread'
from (unavailable):1:in `set_up_namespace_thread'
which points to this line: https://github.com/ManageIQ/kubeclient/blob/v4.10.1/lib/kubeclient/common.rb#L596
Do you know what is making the call to set_up_namespace_thread
? from (unavailable):1
doesn't tell much.
It's most likely from https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter/blob/840e0b914c1a84b5146ac64fe0acef69360bb0a0/lib/fluent/plugin/filter_kubernetes_metadata.rb#L283
Is it possible that Fluent::Plugin::KubernetesMetadataFilter#configure
is called multiple times and not just once?
Could you check that by e.g. adding a puts "In configure"
in there?
Similarly in https://github.com/ManageIQ/kubeclient/blob/v4.10.1/lib/kubeclient/common.rb#L587 could you add puts "load_entities: #{object_id} on #{Thread.current}"
?
Are you able to provide a way to reproduce this? That would make it simpler.
Trying to run Fluentd with the fluent-plugin-kubernetes_metadata_filter plugin. Using the
ghcr.io/flavorjones/truffleruby:22.2.0
image.EDIT: I also tried with
ghcr.io/flavorjones/truffleruby:nightly
and saw the same issue.Full stacktrace