Jason Gilman created JRUBY-6603:
-----------------------------------
Summary: Concurrency bug in
org.jruby.util.ShellLauncher.getCurrentEnv
Key: JRUBY-6603
URL: https://jira.codehaus.org/browse/JRUBY-6603
Project: JRuby
Issue Type: Bug
Components: Core Classes/Modules
Affects Versions: JRuby 1.6.7
Reporter: Jason Gilman
I'm using JRuby 1.6.7 and Capistrano for orchestrating the deployments of a
bunch of Ruby and Java projects. I received an ArrayIndexOutOfBoundsException
when trying to start up 3 separate threads that would use IO.popen to execute
some commands in parallel. It looks like the ShellLauncher.getCurrentEnv
method is expecting that the global ENV variable won't change size while it
copies it to a Java String array.
(http://grepcode.com/file/repo1.maven.org/maven2/org.jruby/jruby-core/1.6.7/org/jruby/util/ShellLauncher.java#219)
I think Bundler is changing the ENV hash in my particular case. The
ShellLauncher code shouldn't make this particular assumption. See this gist:
https://gist.github.com/2398538 for a contrived example that reproduces the bug.
--
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