[graalvm-users] Calling Ruby from R
Rodrigo Botafogo
rodrigo.a.botafogo at gmail.com
Fri Sep 28 08:46:20 PDT 2018
Hello...
I have the following code:
rf = Polyglot.eval("R", <<-R)
function(ruby_obj) {
print(ruby_obj);
ruby_obj$to_s();
}
R
h = [1, 2, 3, 4]
puts h
rf.call(h)
puts h
The result:
1
2
3
4
[polyglot value]
[1] 1 2 3 4
An error occurred while loading ./specs/tmp.rb.
Failure/Error: rf.call(h)
RuntimeError:
org.truffleruby.language.control.RaiseException: can't convert String
into Integer with to_int (TypeError) (RInternalError)
from
com.oracle.truffle.r.nodes.function.FunctionDefinitionNode.execute(FunctionDefinitionNode.java:318)
from
org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:269)
from
org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:258)
from
org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:248)
from
org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:230)
from
org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:213)
from
org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.callProxy(OptimizedDirectCallNode.java:86)
from
org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:70)
from
com.oracle.truffle.r.nodes.function.call.CallRFunctionNode.execute(CallRFunctionNode.java:59)
from
com.oracle.truffle.r.nodes.function.RCallNode$DispatchedCallNode.execute(RCallNode.java:1155)
Caused by:
(eval):3:in `convert_type': can't convert String into Integer with to_int
(TypeError)
from (eval):3:in `rb_to_integer'
from (eval):3:in `rb_to_int'
from (eval):3:in `rb_num2long'
from (eval):3:in `element_reference_fallback'
from (eval):3:in `[]'
from (eval):3:in `function(ruby_obj) {\n print(ruby_obj)'
(exception java.lang.NullPointerException null
org.truffleruby.language.backtrace.BacktraceFormatter.formatForeign(BacktraceFormatter.java:259)
from /home/rbotafogo/desenv/cantata/specs/tmp.rb:35:in `<top
(required)>'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in
`load'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in
`load'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in
`__send__'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in
`load_file_handling_errors'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1560:in
`block in load_spec_files'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1558:in
`each'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1558:in
`load_spec_files'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:98:in
`setup'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:86:in
`run'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71:in
`run'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45:in
`invoke'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/exe/rspec:4:in
`<top (required)>'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/bin/rspec:23:in
`load'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/bin/rspec:23:in
`load'
from
/home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/bin/rspec:23:in
`<main>'
Translated to internal error
--
Rodrigo Botafogo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oss.oracle.com/pipermail/graalvm-users/attachments/20180928/7c852bf4/attachment.html
More information about the GraalVM-Users
mailing list