rinruby icon indicating copy to clipboard operation
rinruby copied to clipboard

jruby error on init; error on IO.popen(); fails when cmd is string, works when cmd is array

Open bwalsh opened this issue 12 years ago • 2 comments

note brackets around cmd [] cmd is a string or an array as follows.

      @engine = IO.popen([cmd],"w+")

environment

java -version java version "1.7.0_09" Java(TM) SE Runtime Environment (build 1.7.0_09-b05) Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

jruby -v jruby 1.7.2 (1.9.3p327) 2013-01-04 302c706 on Java HotSpot(TM) 64-Bit Server VM 1.7.0_09-b05 [Windows 7-amd64]

trace

I've added a few puts() statements to trace ...

  puts "R cmd #{cmd}"
     begin
       @engine = IO.popen(cmd,"w+")
     rescue Exception => e  
        puts "e.message=#{e.message}"
        puts e.backtrace
        puts e.inspect  
        raise e.message
     end  
  puts "R @engine #{@engine}"

with the brackets ...

jruby -S irb irb(main):001:0> require "rinruby" R start R require java R platform windows-java R executable "C:/Program Files/R/R-2.15.2/bin/i386/Rterm.exe" R loaded readline R cmd "C:/Program Files/R/R-2.15.2/bin/i386/Rterm.exe" --ess --slave R @engine #IO:0x51a4f310

without the brackets ...

jruby -S irb irb(main):001:0> require "rinruby" R start R require java R platform windows-java R executable "C:/Program Files/R/R-2.15.2/bin/i386/Rterm.exe" R loaded readline R cmd "C:/Program Files/R/R-2.15.2/bin/i386/Rterm.exe" --ess --slave e.message= java.lang.ProcessImpl.(ProcessImpl.java:181) java.lang.ProcessImpl.start(ProcessImpl.java:133) java.lang.ProcessBuilder.start(ProcessBuilder.java:1021) jnr.posix.util.Java5ProcessMaker.start(Java5ProcessMaker.java:139) org.jruby.util.ShellLauncher.buildProcess(ShellLauncher.java:492) org.jruby.util.ShellLauncher.popenShared(ShellLauncher.java:734) org.jruby.util.ShellLauncher.popen(ShellLauncher.java:693) org.jruby.RubyIO.popen19(RubyIO.java:3931) org.jruby.RubyIO$INVOKER$s$0$2$popen19.call(RubyIO$INVOKER$s$0$2$popen19.gen) org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:216) org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212) org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346) org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) c_3a_.Users.bwalsh.jruby_minus_1_dot_7_dot_2.lib.ruby.gems.shared.gems.rinruby_minus_2_dot_0_dot_3.lib.rinruby.chained_6_rescue_4$RUBY$SYNTHETICinitialize(c:/Users/bwalsh/jruby-1.7.2/lib/ruby/gems/shared/gems/rinruby-2.0.3/lib/rinruby.rb:173)

bwalsh avatar Feb 24 '13 00:02 bwalsh

Ok, I will check it.

clbustos avatar Feb 24 '13 02:02 clbustos

Much appreciated. Thanks so much for the quick response! -b

-Brian Walsh

On Sat, Feb 23, 2013 at 6:45 PM, Claudio Bustos [email protected]:

Ok, I will check it.

— Reply to this email directly or view it on GitHubhttps://github.com/clbustos/rinruby/issues/10#issuecomment-14002381.

bwalsh avatar Feb 24 '13 03:02 bwalsh