Skip to content

JRuby+Truffle: Keyword Arguments - "illegal recursive call" #2541

@fniephaus

Description

@fniephaus

Hi folks,

If you run the following code with JRuby+Truffle:

def m(i:)
    i
end

50000.times.each do
  (1..100_000).each do |i|
    m i:i
  end
end

you'll get something similar to this:

jruby: using Graal Truffle Runtime
[truffle] opt fail  block in each:./core/kabench.rb:6 <split-0-U> |Reason com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<Class.getCanonicalName()>, must annotate such calls with @TruffleBoundary! 
[truffle] opt fail  m:./core/kabench.rb:1 <split-0-U>             |Reason com.oracle.graal.nodes.util.GraphUtil$2: This code path should never be part of a compilation. [] 
[truffle] opt fail  Range#each(core):core: Range#each <split-0-U> |Reason com.oracle.graal.nodes.util.GraphUtil$2: This code path should never be part of a compilation. [] 

I assume that there's just a TruffleBoundary missing somewhere as suggested by the error message. But unfortunately, I'm unable to tell if that's really the case and if yes how to fix it.
Any ideas?

Regards,
Fabio

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions