Clayton Wheeler created JRUBY-6666:
--------------------------------------
Summary: Open3.popen3 failing due to missing handling for [path,
argv[0]] array
Key: JRUBY-6666
URL: https://jira.codehaus.org/browse/JRUBY-6666
Project: JRuby
Issue Type: Bug
Components: Core Classes/Modules
Affects Versions: JRuby 1.6.7
Environment: JRuby 1.6.7, Mac OS X 10.7.3, Java 1.6.0_31 64-bit server
VM
Reporter: Clayton Wheeler
A BioRuby unit test is failing with JRuby 1.6.7 in 1.8 mode, when it
tries to pass a two-element array (giving the path and argv[0] value)
as the sole element of the argument list to Open3.popen3. This works
under MRI and should be permissible according to the 1.8.7
documentation.
I created RubySpec specs for Open3.popen3 to demonstrate this, at
https://github.com/rubyspec/rubyspec/pull/137. They pass under MRI and
fail under JRuby 1.6.7.
I have worked up a patch for
org.jruby.util.ShellLauncher.parseCommandLine which fixes this. Since
Java's ProcessBuilder doesn't give us a way to pass the command path
and argv[0] separately to execve, I added a bit of code to detect this
case and discard the argv[0] value. This makes the above RubySpec
pass. All tests appear to pass with "ant test", "ant
spec:ci_interpreted_18", and "ant spec:ci_interpreted_19", as well. I
will submit this as a pull request momentarily.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email