You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working on refreshing our tags for the MRI tests. While doing so, I ran into a situation where a Java exception is escaping into Ruby. If you run with assertions enabled you'll see an assertion error instead.
pr=proc{|*a,b,c|
[a,b,c]}pr.call
> jt ruby -v bad-proc.rb
truffleruby 23.0.0-dev-671182fb*, like ruby 3.1.3, GraalVM CE JVM [aarch64-darwin]
truffleruby: an internal exception escaped out of the interpreter,
please report it to https://github.com/oracle/truffleruby/issues.
-2 (java.lang.NegativeArraySizeException)
from org.truffleruby.core.array.ArrayUtils.extractRange(ArrayUtils.java:110)
from org.truffleruby.language.arguments.RubyArguments.getRawArguments(RubyArguments.java:343)
from org.truffleruby.language.arguments.ReadRestArgumentNode.execute(ReadRestArgumentNode.java:80)
from org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:28)
from org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:64)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
from org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:45)
from org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:64)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
from org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:77)
bad-proc:1:in `block in <main>'
from bad-proc:5:in `<main>'
> jt ruby -v --reveal bad-proc.rb
truffleruby 23.0.0-dev-671182fb*, like ruby 3.1.3, GraalVM CE JVM [aarch64-darwin]
truffleruby: an internal exception escaped out of the interpreter,
please report it to https://github.com/oracle/truffleruby/issues.
<no message> (java.lang.AssertionError)
from org.truffleruby.core.array.ArrayUtils.assertExtractRangeArgs(ArrayUtils.java:119)
from org.truffleruby.core.array.ArrayUtils.extractRange(ArrayUtils.java:108)
from org.truffleruby.language.arguments.RubyArguments.getRawArguments(RubyArguments.java:343)
from org.truffleruby.language.arguments.ReadRestArgumentNode.execute(ReadRestArgumentNode.java:80)
from org.truffleruby.language.locals.WriteLocalVariableNode.execute(WriteLocalVariableNode.java:28)
from org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:64)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
from org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:45)
from org.truffleruby.language.RubyNode.doExecuteVoid(RubyNode.java:64)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:34)
from org.truffleruby.language.RubyProcRootNode.execute(RubyProcRootNode.java:77)
bad-proc:1:in `block in <main>'
from bad-proc:5:in `<main>'
The text was updated successfully, but these errors were encountered:
nirvdrum
changed the title
Java exception leaking calling proc
Java exception escaping when calling proc
Mar 10, 2023
I'm working on refreshing our tags for the MRI tests. While doing so, I ran into a situation where a Java exception is escaping into Ruby. If you run with assertions enabled you'll see an assertion error instead.
The text was updated successfully, but these errors were encountered: