oracle / truffleruby

A high performance implementation of the Ruby programming language, built on GraalVM.
https://www.graalvm.org/ruby/
Other
3.02k stars 185 forks source link

Odd crash when bundling resources #2294

Closed marcandre closed 3 years ago

marcandre commented 3 years ago

Maybe not frequent enough to worry about, but got a crash for this build: https://github.com/rubocop/rubocop-ast/pull/174/checks?check_run_id=2081135114

``` Run bundle install --jobs 3 --retry 3 bundle install --jobs 3 --retry 3 shell: /usr/bin/bash -e {0} env: TEST_QUEUE_WORKERS: 2 RUBOCOP_VERSION: none Running specs independently of RuboCop Running specs independently of RuboCop Fetching gem metadata from https://rubygems.org/... Resolving dependencies..... Fetching rake 13.0.3 Installing rake 13.0.3 Fetching ast 2.4.2 Fetching bump 0.10.0 Using bundler 2.2.14 Fetching diff-lcs 1.4.4 Installing bump 0.10.0 Installing ast 2.4.2 Installing diff-lcs 1.4.4 java.lang.RuntimeException: Ruby Thread id=35 from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:88 terminated with internal error: at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:319) at org.truffleruby.core.thread.ThreadManager.lambda$initialize$5(ThreadManager.java:292) at java.lang.Thread.run(Thread.java:748) at com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:48) at com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:87) at com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:144) at com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:119) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:446) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:434) at com.oracle.truffle.polyglot.PolyglotThread.run(PolyglotThread.java:83) at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519) at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192) Caused by: java.lang.NullPointerException at org.truffleruby.language.FrameAndVariablesSendingNode.getFrameOrStorageIfRequired(FrameAndVariablesSendingNode.java:235) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:139) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForProcNode.execute(CatchForProcNode.java:39) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:446) at org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode.call(OptimizedIndirectCallNode.java:73) at org.truffleruby.language.yield.CallBlockNode.callBlockUncached(CallBlockNode.java:65) at org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:52) at org.truffleruby.language.yield.YieldNode.dispatch(YieldNode.java:40) at org.truffleruby.language.yield.YieldNodeGen.executeDispatchWithArrayArguments(YieldNodeGen.java:27) at org.truffleruby.language.yield.YieldNode.executeDispatch(YieldNode.java:32) at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:71) at org.truffleruby.core.cast.BooleanCastNodeGen.executeBoolean(BooleanCastNodeGen.java:127) at org.truffleruby.language.control.IfNode.execute(IfNode.java:38) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForProcNode.execute(CatchForProcNode.java:39) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:162) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:446) at org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode.call(OptimizedIndirectCallNode.java:73) at org.truffleruby.language.yield.CallBlockNode.callBlockUncached(CallBlockNode.java:65) at org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:52) at org.truffleruby.language.yield.YieldNode.dispatch(YieldNode.java:40) at org.truffleruby.language.yield.YieldNodeGen.executeDispatchWithArrayArguments(YieldNodeGen.java:27) at org.truffleruby.language.yield.YieldNode.executeDispatch(YieldNode.java:32) at org.truffleruby.builtins.YieldingCoreMethodNode.yield(YieldingCoreMethodNode.java:20) at org.truffleruby.core.array.ArrayNodes$EachNode.accept(ArrayNodes.java:795) at org.truffleruby.core.array.ArrayEachIteratorNode.iterateMany(ArrayEachIteratorNode.java:74) at org.truffleruby.core.array.ArrayEachIteratorNodeGen.execute(ArrayEachIteratorNodeGen.java:59) at org.truffleruby.core.array.ArrayNodes$EachNode.each(ArrayNodes.java:790) at org.truffleruby.core.array.ArrayNodesFactory$EachNodeFactory$EachNodeGen.execute(ArrayNodesFactory.java:3360) at org.truffleruby.builtins.EnumeratorSizeNode.execute(EnumeratorSizeNode.java:57) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:162) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.control.FrameOnStackNode.execute(FrameOnStackNode.java:37) at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:40) at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43) at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:45) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:33) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.control.FrameOnStackNode.execute(FrameOnStackNode.java:37) at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:40) at org.truffleruby.core.cast.BooleanCastNodeGen.executeBoolean(BooleanCastNodeGen.java:127) at org.truffleruby.language.control.IfNode.execute(IfNode.java:38) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:33) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.supercall.CallSuperMethodNode.callMethod(CallSuperMethodNode.java:70) at org.truffleruby.language.supercall.CallSuperMethodNode.execute(CallSuperMethodNode.java:62) at org.truffleruby.language.supercall.SuperCallNode.execute(SuperCallNode.java:50) at org.truffleruby.language.control.AndNode.execute(AndNode.java:37) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:33) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:35) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:33) at org.truffleruby.language.control.UnlessNode.execute(UnlessNode.java:40) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:33) at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:45) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.exceptions.EnsureNode.executeCommon(EnsureNode.java:59) at org.truffleruby.language.exceptions.EnsureNode.execute(EnsureNode.java:40) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:45) at org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:35) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:33) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.exceptions.TryNode.execute(TryNode.java:62) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:35) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.doExecuteVoid(SequenceNode.java:43) at org.truffleruby.language.control.ElidableResultNode.execute(ElidableResultNode.java:36) at org.truffleruby.language.defined.DefinedWrapperNode.execute(DefinedWrapperNode.java:33) at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:73) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:33) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForLambdaNode.execute(CatchForLambdaNode.java:53) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:446) at org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode.call(OptimizedIndirectCallNode.java:73) at org.truffleruby.language.yield.CallBlockNode.callBlockUncached(CallBlockNode.java:65) at org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:52) at org.truffleruby.core.proc.ProcNodes$CallNode.call(ProcNodes.java:194) at org.truffleruby.core.proc.ProcNodesFactory$CallNodeFactory$CallNodeGen.execute(ProcNodesFactory.java:680) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:162) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.exceptions.TryNode.execute(TryNode.java:62) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.dispatch.RubyCallNode.executeArguments(RubyCallNode.java:142) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:98) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForProcNode.execute(CatchForProcNode.java:39) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.yield.CallBlockNode.callBlockCached(CallBlockNode.java:53) at org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:46) at org.truffleruby.language.yield.YieldNode.dispatch(YieldNode.java:40) at org.truffleruby.language.yield.YieldNodeGen.executeDispatchWithArrayArguments(YieldNodeGen.java:27) at org.truffleruby.language.yield.YieldNode.executeDispatch(YieldNode.java:32) at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:71) at org.truffleruby.language.control.WhileNode$WhileRepeatingNode.executeRepeating(WhileNode.java:77) at com.oracle.truffle.api.nodes.RepeatingNode.executeRepeatingWithValue(RepeatingNode.java:107) at org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.profilingLoop(OptimizedOSRLoopNode.java:165) at org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.execute(OptimizedOSRLoopNode.java:123) at org.truffleruby.language.control.WhileNode.execute(WhileNode.java:37) at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:40) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.exceptions.TryNode.execute(TryNode.java:62) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.control.FrameOnStackNode.execute(FrameOnStackNode.java:37) at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:40) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.arguments.CheckArityNode.execute(CheckArityNode.java:41) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:42) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459) at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71) at org.truffleruby.language.methods.CallInternalMethodNode.callMethodCached(CallInternalMethodNode.java:44) at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:44) at org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:143) at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) at org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) at org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) at org.truffleruby.language.methods.CatchForProcNode.execute(CatchForProcNode.java:39) at org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:121) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:165) at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:104) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:446) at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:434) at org.truffleruby.core.proc.ProcOperations.rootCall(ProcOperations.java:49) at org.truffleruby.core.thread.ThreadNodes$ThreadInitializeNode.lambda$initialize$0(ThreadNodes.java:342) at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:304) ... 17 more Caused by: Attached Guest Language Frames (20) Fetching docile 1.3.5 Installing docile 1.3.5 Fetching json 2.5.1 Fetching oedipus_lex 2.5.2 Installing json 2.5.1 with native extensions Installing oedipus_lex 2.5.2 Fetching racc 1.5.2 Installing racc 1.5.2 with native extensions Fetching rspec-support 3.10.2 Installing rspec-support 3.10.2 Fetching simplecov-html 0.10.2 Installing simplecov-html 0.10.2 truffleruby: an internal exception escaped out of the interpreter, please report it to https://github.com/oracle/truffleruby/issues. ``` Ruby Thread id=35 from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:88 terminated with internal error: (java.lang.RuntimeException) from org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:319) from org.truffleruby.core.thread.ThreadManager.lambda$initialize$5(ThreadManager.java:292) from java.lang.Thread.run(Thread.java:748) from com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:48) from com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:87) from com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:144) from com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:119) from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) core/enumerable.rb:516:in `block in verify_spec' from core/enumerable.rb:516:in `block in any?' from core/enumerable.rb:516:in `each' from core/enumerable.rb:516:in `any?' from /home/runner/.rubies/truffleruby-21.0.0/lib/mri/rubygems/installer.rb:759:in `verify_spec' from /home/runner/.rubies/truffleruby-21.0.0/lib/mri/rubygems/installer.rb:912:in `pre_install_checks' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/rubygems_gem_installer.rb:59:in `pre_install_checks' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/rubygems_gem_installer.rb:12:in `install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/source/rubygems.rb:166:in `install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/gem_installer.rb:67:in `install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/gem_installer.rb:18:in `install_from_spec' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/parallel_installer.rb:163:in `do_install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/parallel_installer.rb:154:in `block in worker_pool' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:62:in `call' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:62:in `apply_func' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:57:in `block in process_queue' from core/kernel.rb:437:in `loop' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:54:in `process_queue' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:88:in `block (2 levels) in create_threads' Caused by: (java.lang.NullPointerException) from org.truffleruby.language.FrameAndVariablesSendingNode.getFrameOrStorageIfRequired(FrameAndVariablesSendingNode.java:235) from org.truffleruby.language.dispatch.DispatchNode.execute(DispatchNode.java:139) from org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:117) from org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:121) from org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:110) from org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:33) from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:36) from org.truffleruby.language.methods.CatchForProcNode.execute(CatchForProcNode.java:39) from org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61) from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591) core/enumerable.rb:516:in `block in verify_spec' from core/enumerable.rb:516:in `block in any?' from core/enumerable.rb:516:in `each' from core/enumerable.rb:516:in `any?' from /home/runner/.rubies/truffleruby-21.0.0/lib/mri/rubygems/installer.rb:759:in `verify_spec' from /home/runner/.rubies/truffleruby-21.0.0/lib/mri/rubygems/installer.rb:912:in `pre_install_checks' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/rubygems_gem_installer.rb:59:in `pre_install_checks' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/rubygems_gem_installer.rb:12:in `install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/source/rubygems.rb:166:in `install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/gem_installer.rb:67:in `install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/gem_installer.rb:18:in `install_from_spec' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/parallel_installer.rb:163:in `do_install' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/installer/parallel_installer.rb:154:in `block in worker_pool' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:62:in `call' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:62:in `apply_func' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:57:in `block in process_queue' from core/kernel.rb:437:in `loop' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:54:in `process_queue' from /home/runner/.rubies/truffleruby-21.0.0/lib/gems/gems/bundler-2.2.14/lib/bundler/worker.rb:88:in `block (2 levels) in create_threads' ```
eregon commented 3 years ago

Thank you for the report. This is an issue on 21.0 which has been fixed on truffleruby-head and will be in 21.1.

The error line is https://github.com/oracle/truffleruby/blob/vm-21.0.0/src/main/java/org/truffleruby/language/FrameAndVariablesSendingNode.java#L235 which no longer exists on master. Possibly related to #2086.