Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.6
-
Fix Version/s: JRuby 1.6.1
-
Component/s: None
-
Labels:None
-
Number of attachments :
Description
$ jruby -S irb
irb(main):001:0> require 'open3'; Open3.popen3( '/bin/ls' )
=> [#<IO:0x68acbd3a>, #<IO:0x24bb6086>, #<IO:0x9be1041>]
irb(main):002:0> exit
$ jruby --1.9 -S irb
irb(main):001:0> require 'open3'; Open3.popen3( '/bin/ls' )
ls: {:in=>#<IO:0x78871e65>, :out=>#<IO:0x6edcb6b4>, :err=>#<IO:0x5c5f1c48>}: No such file or directory
Java::JavaLang::RuntimeException: CallBlock does not have a static scope; this should not be called
from org.jruby.runtime.CallBlock.getStaticScope(CallBlock.java:107)
from org.jruby.RubyProc.setup(RubyProc.java:160)
from org.jruby.RubyProc.newProc(RubyProc.java:117)
from org.jruby.RubyProc.newProc(RubyProc.java:112)
from org.jruby.Ruby.newProc(Ruby.java:2859)
from org.jruby.internal.runtime.RubyRunnable.<init>(RubyRunnable.java:60)
from org.jruby.RubyThread.initialize(RubyThread.java:269)
from org.jruby.RubyThread$i$0$0$initialize.call(RubyThread$i$0$0$initialize.gen:65535)
from org.jruby.RubyClass.finvoke(RubyClass.java:543)
from org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:537)
from org.jruby.RubyObject.callInit(RubyObject.java:226)
from org.jruby.RubyThread.startThread(RubyThread.java:313)
from org.jruby.RubyThread.newInstance(RubyThread.java:230)
from org.jruby.RubyProcess.detach(RubyProcess.java:910)
from org.jruby.RubyProcess$s$1$0$detach.call(RubyProcess$s$1$0$detach.gen:65535)
from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
... 153 levels...
from org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
from org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
from org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
from org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:179)
from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
from org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:139)
from Users.tobias.work.torquebox_minus_current.jruby.bin.jirb.__file__(/Users/tobias/work/torquebox-current/jruby/bin/jirb:13)
from Users.tobias.work.torquebox_minus_current.jruby.bin.jirb.load(/Users/tobias/work/torquebox-current/jruby/bin/jirb)
from org.jruby.Ruby.runScript(Ruby.java:670)
from org.jruby.Ruby.runNormally(Ruby.java:574)
from org.jruby.Ruby.runFromMain(Ruby.java:423)
from org.jruby.Main.doRunFromMain(Main.java:278)
from org.jruby.Main.internalRun(Main.java:198)
from org.jruby.Main.run(Main.java:164)
from org.jruby.Main.run(Main.java:148)
from org.jruby.Main.main(Main.java:128)irb(main):002:0> exit
$ jruby --version
jruby 1.6.0 (ruby 1.8.7 patchlevel 330) (2011-03-15 f3b6154) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_24) [darwin-x86_64-java]
IO.popen3 works fine:
$ jruby --1.9 -S irb irb(main):001:0> IO.popen3('/bin/ls') => [#<IO:0x54cee271>, #<IO:0x5a749436>, #<IO:0x1bae939f>] irb(main):002:0> exitIs open3.rb not recommended for use w/JRuby?
$ jruby --1.9 -S irb irb(main):001:0> IO.popen3('/bin/ls') => [#<IO:0x54cee271>, #<IO:0x5a749436>, #<IO:0x1bae939f>] irb(main):002:0> exit