Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.6.7, JRuby 1.7.0.pre1
-
Fix Version/s: JRuby 1.7.0.pre1
-
Component/s: Core Classes/Modules
-
Labels:None
-
Number of attachments :
Description
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.
Issue Links
- relates to
-
JRUBY-6591
When running a gem via bundle exec, java options are not passed it.
-
Activity
| Field | Original Value | New Value |
|---|---|---|
| Affects Version/s | JRuby 1.7 [ 17049 ] | |
| Priority | Major [ 3 ] | Critical [ 2 ] |
| Link | This issue relates to JRUBY-6591 [ JRUBY-6591 ] |
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Assignee | Charles Oliver Nutter [ headius ] | |
| Fix Version/s | JRuby 1.7 [ 17049 ] | |
| Resolution | Fixed [ 1 ] |
Confirmed on master.