truffleruby
truffleruby copied to clipboard
Flaky crash - Receiver not supported. (java.lang.IllegalArgumentException)
It is very difficult to reproduce but here is one occurrence that is lucky enough to be logged: https://github.com/ntkme/sass-embedded-host-ruby/runs/7681669161?check_suite_focus=true
java.lang.RuntimeException: Ruby Thread id=92 from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:17 terminated with internal error:
at org.truffleruby.core.thread.ThreadManager.printInternalError(ThreadManager.java:337)
at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:325)
Finished in 4.56 seconds (files took 5.04 seconds to load)
at org.truffleruby.core.thread.ThreadManager.lambda$initialize$5(ThreadManager.java:293)
391 examples, 0 failures
at java.lang.Thread.run(Thread.java:833)
at com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53)
at com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:99)
at com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:130)
at com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:121)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:[561](https://github.com/ntkme/sass-embedded-host-ruby/runs/7681669161?check_suite_focus=true#step:5:562))
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:473)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:454)
at com.oracle.truffle.polyglot.PolyglotThread.run(PolyglotThread.java:95)
at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:705)
at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202)
Caused by: java.lang.IllegalArgumentException: Receiver not supported.
at com.oracle.truffle.api.object.PropertyGetter.illegalArgumentException(PropertyGetter.java:190)
at com.oracle.truffle.api.object.PropertyGetter.get(PropertyGetter.java:98)
at org.truffleruby.language.objects.shared.ShareObjectNode.shareCached(ShareObjectNode.java:78)
at org.truffleruby.language.objects.shared.ShareObjectNodeGen.executeShare(ShareObjectNodeGen.java:51)
at org.truffleruby.language.objects.shared.WriteBarrierNode.writeBarrierCached(WriteBarrierNode.java:69)
at org.truffleruby.language.objects.shared.WriteBarrierNodeGen.executeWriteBarrier(WriteBarrierNodeGen.java:80)
at org.truffleruby.language.objects.WriteObjectFieldNode.writeShared(WriteObjectFieldNode.java:47)
at org.truffleruby.language.objects.WriteObjectFieldNodeGen.execute(WriteObjectFieldNodeGen.java:63)
at org.truffleruby.language.objects.WriteInstanceVariableNode.write(WriteInstanceVariableNode.java:71)
at org.truffleruby.language.objects.WriteInstanceVariableNode.execute(WriteInstanceVariableNode.java:47)
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 org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
at org.truffleruby.language.yield.CallBlockNode.callBlockCached(CallBlockNode.java:75)
at org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:44)
at org.truffleruby.language.yield.CallBlockNode.yield(CallBlockNode.java:50)
at org.truffleruby.builtins.YieldingCoreMethodNode.callBlock(YieldingCoreMethodNode.java:21)
at org.truffleruby.core.mutex.MutexNodes$SynchronizeNode.synchronize(MutexNodes.java:142)
at org.truffleruby.core.mutex.MutexNodesFactory$SynchronizeNodeFactory$SynchronizeNodeGen.execute(MutexNodesFactory.java:669)
at org.truffleruby.language.RubyCoreMethodRootNode.execute(RubyCoreMethodRootNode.java:48)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70)
at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:54)
at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318)
at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285)
at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152)
at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109)
at org.truffleruby.language.control.FrameOnStackNode.execute(FrameOnStackNode.java:34)
at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:41)
at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70)
at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:54)
at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318)
at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285)
at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152)
at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109)
at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70)
at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:54)
at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318)
at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285)
at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:280)
at org.truffleruby.core.kernel.KernelNodes$PublicSendNode.send(KernelNodes.java:1423)
at org.truffleruby.core.kernel.KernelNodesFactory$PublicSendNodeFactory$PublicSendNodeGen.execute(KernelNodesFactory.java:6149)
at org.truffleruby.language.methods.CallInternalMethodNode.alwaysInlined(CallInternalMethodNode.java:114)
at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:75)
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.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 org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70)
at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:54)
at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318)
at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285)
at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152)
at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109)
at org.truffleruby.language.exceptions.TryNode.execute(TryNode.java:66)
at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
at org.truffleruby.language.yield.CallBlockNode.callBlockCached(CallBlockNode.java:75)
at org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:44)
at org.truffleruby.language.yield.CallBlockNode.yield(CallBlockNode.java:45)
at org.truffleruby.language.yield.YieldExpressionNode.execute(YieldExpressionNode.java:95)
at org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63)
at org.truffleruby.language.control.WhileNode$WhileRepeatingNode.executeRepeating(WhileNode.java:74)
at com.oracle.truffle.api.nodes.RepeatingNode.executeRepeatingWithValue(RepeatingNode.java:112)
at org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.profilingLoop(OptimizedOSRLoopNode.java:160)
at org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.execute(OptimizedOSRLoopNode.java:111)
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:66)
at org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43)
at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
at org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:491)
at org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:68)
at org.truffleruby.language.methods.CallInternalMethodNode.callCached(CallInternalMethodNode.java:70)
at org.truffleruby.language.methods.CallInternalMethodNodeGen.execute(CallInternalMethodNodeGen.java:54)
at org.truffleruby.language.dispatch.DispatchNode.dispatchInternal(DispatchNode.java:318)
at org.truffleruby.language.dispatch.DispatchNode.dispatch(DispatchNode.java:285)
at org.truffleruby.language.dispatch.RubyCallNode.doCall(RubyCallNode.java:152)
at org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:109)
at org.truffleruby.language.control.FrameOnStackNode.execute(FrameOnStackNode.java:34)
at org.truffleruby.language.methods.CatchBreakNode.execute(CatchBreakNode.java:41)
at org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
at org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:656)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:628)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:561)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:115)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:194)
at com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:97)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:473)
at org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:454)
at org.truffleruby.core.proc.ProcOperations.rootCall(ProcOperations.java:54)
at org.truffleruby.core.thread.ThreadNodes$ThreadInitializeNode.lambda$init$0(ThreadNodes.java:440)
at org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:308)
... 17 more
Caused by: Attached Guest Language Frames (9)
truffleruby: an internal exception escaped out of the interpreter,
please report it to https://github.com/oracle/truffleruby/issues.
Ruby Thread id=92 from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:17 terminated with internal error: (java.lang.RuntimeException)
from org.truffleruby.core.thread.ThreadManager.printInternalError(ThreadManager.java:337)
from org.truffleruby.core.thread.ThreadManager.threadMain(ThreadManager.java:325)
from org.truffleruby.core.thread.ThreadManager.lambda$initialize$5(ThreadManager.java:293)
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:99)
from com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:130)
from com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:121)
/Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/async.rb:33:in `block in resolve'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/async.rb:33:in `synchronize'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/async.rb:33:in `resolve'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/host.rb:92:in `compile_response'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:77:in `receive_message'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:19:in `block (2 levels) in initialize'
from <internal:core> core/kernel.rb:407:in `loop'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:18:in `block in initialize'
Caused by:
Receiver not supported. (java.lang.IllegalArgumentException)
from com.oracle.truffle.api.object.PropertyGetter.illegalArgumentException(PropertyGetter.java:190)
from com.oracle.truffle.api.object.PropertyGetter.get(PropertyGetter.java:98)
from org.truffleruby.language.objects.shared.ShareObjectNode.shareCached(ShareObjectNode.java:78)
from org.truffleruby.language.objects.shared.ShareObjectNodeGen.executeShare(ShareObjectNodeGen.java:51)
from org.truffleruby.language.objects.shared.WriteBarrierNode.writeBarrierCached(WriteBarrierNode.java:69)
from org.truffleruby.language.objects.shared.WriteBarrierNodeGen.executeWriteBarrier(WriteBarrierNodeGen.java:80)
from org.truffleruby.language.objects.WriteObjectFieldNode.writeShared(WriteObjectFieldNode.java:47)
from org.truffleruby.language.objects.WriteObjectFieldNodeGen.execute(WriteObjectFieldNodeGen.java:63)
from org.truffleruby.language.objects.WriteInstanceVariableNode.write(WriteInstanceVariableNode.java:71)
from org.truffleruby.language.objects.WriteInstanceVariableNode.execute(WriteInstanceVariableNode.java:47)
from org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:63)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
from org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
from org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:64)
/Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/async.rb:33:in `block in resolve'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/async.rb:33:in `synchronize'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/async.rb:33:in `resolve'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/host.rb:92:in `compile_response'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:77:in `receive_message'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:19:in `block (2 levels) in initialize'
from <internal:core> core/kernel.rb:407:in `loop'
from /Users/runner/work/sass-embedded-host-ruby/sass-embedded-host-ruby/lib/sass/embedded/dispatcher.rb:18:in `block in initialize'
Thanks for the report, this is a concurrency issue, possibly with the C extensions marking/finalization, @aardvark179 has some work which might fix that.
We're seeing this in Puma as well pretty frequently, e.g. https://github.com/puma/puma/actions/runs/3065634022/jobs/4962730643#step:8:423
Thanks for the report, I'll try to repro it soon.
I'm not able to reproduce this anymore. Closing now.