Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Puma (server) crashes after I set up Active Storage #2808

Closed
Intelliractive opened this issue Dec 17, 2022 · 7 comments
Closed

Puma (server) crashes after I set up Active Storage #2808

Intelliractive opened this issue Dec 17, 2022 · 7 comments
Assignees
Labels
bug third-party-issue An issue which should be fixed upstream

Comments

@Intelliractive
Copy link

Intelliractive commented Dec 17, 2022

Setup:

Ubuntu 22 on WSL2
truffleruby 22.3.0

I added ActionStorage and the whole thing began to crash.

$ bin/rails s
=> Booting Puma
=> Rails 7.0.4 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.5 (truffleruby 22.3.0 - ruby 3.0.3) ("Birdie's Version")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 3695
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
Started GET "/videos" for 127.0.0.1 at 2022-12-17 14:49:20 +0600
  ActiveRecord::SchemaMigration Pluck (26.4ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by VideosController#index as HTML
  Rendering layout layouts/application.html.erb
  Rendering videos/index.html.erb within layouts/application
  Video Load (8.4ms)  SELECT "videos".* FROM "videos"
  ↳ app/views/videos/index.html.erb:6
  Rendered videos/_video.html.erb (Duration: 17.5ms | Allocations: 0)
  Rendered videos/index.html.erb within layouts/application (Duration: 576.6ms | Allocations: 0)
@Intelliractive
Copy link
Author

Intelliractive commented Dec 17, 2022

java.lang.RuntimeException: Ruby Thread id=105 from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:332 terminated with internal error:
        at org.truffleruby.core.thread.ThreadManager.printInternalError(ThreadManager.java:305)
        at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:293)
        at org.truffleruby.core.thread.ThreadManager.lambda$initialize$2(ThreadManager.java:263)
        at java.base@17.0.5/java.lang.Thread.run(Thread.java:833)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:100)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:134)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:125)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:477)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:458)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.run(PolyglotThread.java:96)
        at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
        at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
Caused by: java.lang.ClassCastException: org.truffleruby.core.hash.library.BucketsHashStore cannot be cast to java.lang.Object[]
        at org.truffleruby.core.hash.library.PackedHashStoreLibrary$LookupPackedEntryNode.getPackedArray(PackedHashStoreLibrary.java:455)
        at org.truffleruby.core.hash.library.PackedHashStoreLibraryFactory$LookupPackedEntryNodeGen.execute(PackedHashStoreLibraryFactory.java:56)
        at org.truffleruby.core.hash.library.PackedHashStoreLibrary.lookupOrDefault(PackedHashStoreLibrary.java:165)
        at org.truffleruby.core.hash.library.PackedHashStoreLibraryGen$HashStoreLibraryExports$Cached.lookupOrDefault(PackedHashStoreLibraryGen.java:239)
        at org.truffleruby.core.hash.HashNodes$GetOrUndefinedNode.getOrUndefined(HashNodes.java:223)
        at org.truffleruby.core.hash.HashNodesFactory$GetOrUndefinedNodeFactory$GetOrUndefinedNodeGen.execute(HashNodesFactory.java:781)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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$MapNode.map(ArrayNodes.java:1496)
        at org.truffleruby.core.array.ArrayNodesFactory$MapNodeFactory$MapNodeGen.execute(ArrayNodesFactory.java:7386)
        at org.truffleruby.builtins.EnumeratorSizeNode.execute(EnumeratorSizeNode.java:56)
        at org.truffleruby.language.RubyCoreMethodRootNode.execute(RubyCoreMethodRootNode.java:48)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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.core.proc.ProcNodes$CallNode.call(ProcNodes.java:162)
        at org.truffleruby.core.proc.ProcNodesFactory$CallNodeFactory$CallNodeGen.execute(ProcNodesFactory.java:636)
        at org.truffleruby.language.methods.CallInternalMethodNode.alwaysInlined(CallInternalMethodNode.java:116)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:74)
        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.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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        at org.truffleruby.language.supercall.CallSuperMethodNode.execute(CallSuperMethodNode.java:58)
        at org.truffleruby.language.supercall.SuperCallNode.execute(SuperCallNode.java:73)
        at org.truffleruby.language.dispatch.RubyCallNode.executeArguments(RubyCallNode.java:185)
        at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:98)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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:45)
        at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:79)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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$MapNode.map(ArrayNodes.java:1496)
        at org.truffleruby.core.array.ArrayNodesFactory$MapNodeFactory$MapNodeGen.execute(ArrayNodesFactory.java:7386)
        at org.truffleruby.builtins.EnumeratorSizeNode.execute(EnumeratorSizeNode.java:56)
        at org.truffleruby.language.RubyCoreMethodRootNode.execute(RubyCoreMethodRootNode.java:48)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.dispatch.RubyCallNode.executeArguments(RubyCallNode.java:185)
        at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:98)
        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:43)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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:45)
        at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:79)
        at org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:28)
        at org.truffleruby.core.cast.BooleanCastNodeGen.execute(BooleanCastNodeGen.java:122)
        at org.truffleruby.language.control.IfNode.execute(IfNode.java:38)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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.core.array.ArrayNodes$EachWithIndexNode.accept(ArrayNodes.java:855)
        at org.truffleruby.core.array.ArrayEachIteratorNode.iterateMany(ArrayEachIteratorNode.java:58)
        at org.truffleruby.core.array.ArrayEachIteratorNodeGen.execute(ArrayEachIteratorNodeGen.java:44)
        at org.truffleruby.core.array.ArrayNodes$EachWithIndexNode.eachOther(ArrayNodes.java:850)
        at org.truffleruby.core.array.ArrayNodesFactory$EachWithIndexNodeFactory$EachWithIndexNodeGen.execute(ArrayNodesFactory.java:3873)
        at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:28)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        at org.truffleruby.language.supercall.CallSuperMethodNode.execute(CallSuperMethodNode.java:58)
        at org.truffleruby.language.supercall.SuperCallNode.execute(SuperCallNode.java:73)
        at org.truffleruby.language.dispatch.RubyCallNode.executeArguments(RubyCallNode.java:185)
        at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:98)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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:45)
        at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:79)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.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:43)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.core.basicobject.BasicObjectNodes$SendNode.send(BasicObjectNodes.java:597)
        at org.truffleruby.core.basicobject.BasicObjectNodesFactory$SendNodeFactory$SendNodeGen.execute(BasicObjectNodesFactory.java:2167)
        at org.truffleruby.language.methods.CallInternalMethodNode.alwaysInlined(CallInternalMethodNode.java:116)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:74)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.core.basicobject.BasicObjectNodes$SendNode.send(BasicObjectNodes.java:597)
        at org.truffleruby.core.basicobject.BasicObjectNodesFactory$SendNodeFactory$SendNodeGen.execute(BasicObjectNodesFactory.java:2167)
        at org.truffleruby.language.methods.CallInternalMethodNode.alwaysInlined(CallInternalMethodNode.java:116)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:74)
        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.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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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.core.proc.ProcNodes$CallNode.call(ProcNodes.java:162)
        at org.truffleruby.core.proc.ProcNodesFactory$CallNodeFactory$CallNodeGen.execute(ProcNodesFactory.java:636)
        at org.truffleruby.language.methods.CallInternalMethodNode.alwaysInlined(CallInternalMethodNode.java:116)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:74)
        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.WriteDeclarationVariableNode.execute(WriteDeclarationVariableNode.java:34)
        at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
        at org.truffleruby.language.exceptions.TryNode.execute(TryNode.java:65)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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:45)
        at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:79)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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.mutex.MutexNodes$SynchronizeNode.synchronize(MutexNodes.java:138)
        at org.truffleruby.core.mutex.MutexNodesFactory$SynchronizeNodeFactory$SynchronizeNodeGen.execute(MutexNodesFactory.java:670)
        at org.truffleruby.language.RubyCoreMethodRootNode.execute(RubyCoreMethodRootNode.java:48)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.IfElseNode.execute(IfElseNode.java:45)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.core.array.MultipleAssignmentNode.execute(MultipleAssignmentNode.java:55)
        at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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.core.proc.ProcNodes$CallNode.call(ProcNodes.java:162)
        at org.truffleruby.core.proc.ProcNodesFactory$CallNodeFactory$CallNodeGen.execute(ProcNodesFactory.java:636)
        at org.truffleruby.language.methods.CallInternalMethodNode.alwaysInlined(CallInternalMethodNode.java:116)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:74)
        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.exceptions.TryNode.execute(TryNode.java:65)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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:45)
        at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
        at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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:45)
        at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:79)
        at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63)
        at org.truffleruby.language.control.WhileNode$WhileRepeatingNode.executeRepeating(WhileNode.java:74)
        at org.graalvm.truffle/com.oracle.truffle.api.nodes.RepeatingNode.executeRepeatingWithValue(RepeatingNode.java:112)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.profilingLoop(OptimizedOSRLoopNode.java:154)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.execute(OptimizedOSRLoopNode.java:105)
        at org.truffleruby.language.control.WhileNode.execute(WhileNode.java:36)
        at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:41)
        at org.truffleruby.language.exceptions.TryNode.execute(TryNode.java:65)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/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.core.VMPrimitiveNodes$CatchNode.doCatch(VMPrimitiveNodes.java:116)
        at org.truffleruby.core.VMPrimitiveNodesFactory$CatchNodeFactory$CatchNodeGen.execute(VMPrimitiveNodesFactory.java:142)
        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:37)
        at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:495)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
        at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:71)
        at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:53)
        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.RubyProcRootNode.execute(RubyProcRootNode.java:64)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:709)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:632)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:565)
        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 jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:477)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:458)
        at org.truffleruby.core.proc.ProcOperations.rootCall(ProcOperations.java:54)
        at org.truffleruby.core.thread.ThreadNodes$ThreadInitializeNode.lambda$init$0(ThreadNodes.java:439)
        at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:276)
        ... 17 more
Caused by: Attached Guest Language Frames (41)
Exiting

truffleruby: an internal exception escaped out of the interpreter,
please report it to https://github.com/oracle/truffleruby/issues.

@Intelliractive
Copy link
Author

There is another message:

Ruby Thread id=105 from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:332 terminated with internal error: (java.lang.RuntimeException)
        from org.truffleruby.core.thread.ThreadManager.printInternalError(ThreadManager.java:305)
        from org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:293)
        from org.truffleruby.core.thread.ThreadManager.lambda$initialize$2(ThreadManager.java:263)
        from java.lang.Thread.run(Thread.java:833)
        from com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53)
        from com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:100)
        from com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:134)
        from com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:125)
<internal:core> core/hash.rb:227:in `fetch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:49:in `processor_cache_key'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processor_utils.rb:111:in `block in processors_cache_keys'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processor_utils.rb:111:in `map'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processor_utils.rb:111:in `processors_cache_keys'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processing.rb:165:in `resolve_processors_cache_key_uri'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets.rb:216:in `block in <module:Sprockets>'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/dependencies.rb:68:in `resolve_dependency'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:54:in `block in resolve_dependency'
        from <internal:core> core/hash.rb:236:in `fetch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:54:in `resolve_dependency'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:288:in `block in resolve_dependencies'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:288:in `map'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:288:in `resolve_dependencies'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:54:in `block in load'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:331:in `block in fetch_asset_from_dependency_cache'
        from <internal:core> core/enumerable.rb:358:in `each_with_index'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:327:in `fetch_asset_from_dependency_cache'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:43:in `load'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:44:in `block in load'
        from <internal:core> core/hash.rb:236:in `fetch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:44:in `load'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/base.rb:81:in `find_asset'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/base.rb:88:in `find_all_linked_assets'
        from <internal:core> core/enumerator.rb:103:in `each_with_block'
        from <internal:core> core/enumerator.rb:94:in `each'
        from <internal:core> core/enumerable.rb:291:in `to_a'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in `block in synchronize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in `synchronize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in `synchronize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in `execute'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/promise.rb:564:in `block in realize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `run_task'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:343:in `block (3 levels) in create_worker'
        from <internal:core> core/kernel.rb:407:in `loop'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block (2 levels) in create_worker'
        from <internal:core> core/throw_catch.rb:36:in `catch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:333:in `block in create_worker'
Caused by:
org.truffleruby.core.hash.library.BucketsHashStore cannot be cast to java.lang.Object[] (java.lang.ClassCastException)
        from org.truffleruby.core.hash.library.PackedHashStoreLibrary$LookupPackedEntryNode.getPackedArray(PackedHashStoreLibrary.java:455)
        from org.truffleruby.core.hash.library.PackedHashStoreLibraryFactory$LookupPackedEntryNodeGen.execute(PackedHashStoreLibraryFactory.java:56)
        from org.truffleruby.core.hash.library.PackedHashStoreLibrary.lookupOrDefault(PackedHashStoreLibrary.java:165)
        from org.truffleruby.core.hash.library.PackedHashStoreLibraryGen$HashStoreLibraryExports$Cached.lookupOrDefault(PackedHashStoreLibraryGen.java:239)
        from org.truffleruby.core.hash.HashNodes$GetOrUndefinedNode.getOrUndefined(HashNodes.java:223)
        from org.truffleruby.core.hash.HashNodesFactory$GetOrUndefinedNodeFactory$GetOrUndefinedNodeGen.execute(HashNodesFactory.java:781)
        from org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:28)
        from org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63)
        from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
        from org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
<internal:core> core/hash.rb:227:in `fetch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:49:in `processor_cache_key'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processor_utils.rb:111:in `block in processors_cache_keys'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processor_utils.rb:111:in `map'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processor_utils.rb:111:in `processors_cache_keys'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/processing.rb:165:in `resolve_processors_cache_key_uri'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets.rb:216:in `block in <module:Sprockets>'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/dependencies.rb:68:in `resolve_dependency'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:54:in `block in resolve_dependency'
        from <internal:core> core/hash.rb:236:in `fetch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:54:in `resolve_dependency'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:288:in `block in resolve_dependencies'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:288:in `map'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:288:in `resolve_dependencies'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:54:in `block in load'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:331:in `block in fetch_asset_from_dependency_cache'
        from <internal:core> core/enumerable.rb:358:in `each_with_index'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:327:in `fetch_asset_from_dependency_cache'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/loader.rb:43:in `load'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:44:in `block in load'
        from <internal:core> core/hash.rb:236:in `fetch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/cached_environment.rb:44:in `load'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/base.rb:81:in `find_asset'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/base.rb:88:in `find_all_linked_assets'
        from <internal:core> core/enumerator.rb:103:in `each_with_block'
        from <internal:core> core/enumerator.rb:94:in `each'
        from <internal:core> core/enumerable.rb:291:in `to_a'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/sprockets-4.1.1/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in `block in synchronize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in `synchronize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in `synchronize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in `execute'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/promise.rb:564:in `block in realize'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `run_task'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:343:in `block (3 levels) in create_worker'
        from <internal:core> core/kernel.rb:407:in `loop'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block (2 levels) in create_worker'
        from <internal:core> core/throw_catch.rb:36:in `catch'
        from /home/ilyushya/.rbenv/versions/truffleruby-22.3.0/lib/gems/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:333:in `block in create_worker'
```
  Rendered layout layouts/application.html.erb (Duration: 1069.1ms | Allocations: 0)
Completed   in 2062ms (ActiveRecord: 192.7ms | Allocations: 0)`

@eregon
Copy link
Member

eregon commented Dec 19, 2022

Thank you for the report. This looks like unsafe concurrent accesses to a Hash in sprockets-4.1.1, similar to #2804.
Note, I also found rails/sprockets#759 but that doesn't seem directly related.

@eregon
Copy link
Member

eregon commented Dec 19, 2022

I can reproduce this just by running sprockets' tests.

@Intelliractive
Copy link
Author

Thank you for your attention! I just have to wait, I suppose :)

@eregon
Copy link
Member

eregon commented Dec 19, 2022

Yes, upstream issue for this: rails/sprockets#772

@eregon eregon added third-party-issue An issue which should be fixed upstream bug labels Dec 19, 2022
@eregon eregon self-assigned this Dec 19, 2022
@eregon eregon changed the title Puma (server) crashes after I set up Action Storage Puma (server) crashes after I set up Active Storage Dec 20, 2022
@eregon
Copy link
Member

eregon commented Dec 20, 2022

Fixed in sprockets 4.2.0.

@eregon eregon closed this as completed Dec 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug third-party-issue An issue which should be fixed upstream
Projects
None yet
Development

No branches or pull requests

2 participants