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

Flaky crash - Receiver not supported. (java.lang.IllegalArgumentException) #2700

Closed
ntkme opened this issue Aug 4, 2022 · 5 comments
Closed

Comments

@ntkme
Copy link
Contributor

ntkme commented Aug 4, 2022

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

@ntkme
Copy link
Contributor Author

ntkme commented Aug 4, 2022

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'

@eregon
Copy link
Member

eregon commented Aug 8, 2022

Thanks for the report, this is a concurrency issue, possibly with the C extensions marking/finalization, @aardvark179 has some work which might fix that.

@nateberkopec
Copy link

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

@eregon
Copy link
Member

eregon commented Sep 30, 2022

Thanks for the report, I'll try to repro it soon.

@ntkme
Copy link
Contributor Author

ntkme commented Dec 24, 2022

I'm not able to reproduce this anymore. Closing now.

@ntkme ntkme closed this as completed Dec 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants