Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: None
-
Fix Version/s: JRuby 1.x+
-
Component/s: Extensions
-
Labels:None
-
Environment:Mac OS X, Java 6
-
Number of attachments :
Description
{{
$ java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode)
$ jruby -v
jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-04-23 rev 6586) [i386-java]
$ curl http://gist.github.com/111495 > vim
$ jirb
irb > load 'vim'
irb > true
irb > load 'vim'
irb > true
irb > load 'vim'
irb > true
irb > load 'vim'
irb > true
irb > load 'vim'
irb > true
[vim doesn't execute], just returns true
}}
doesn't happen after a fix number of loads, after around ~ 10 loads. works ok on linux.
Hmm, I tried moving some of the arguments out, but it still seemed to do this. This may be a question for Wayne. Wayne, is it possible that we're still doing "too much" work after the fork? Maybe we'd be best providing this as a bare-metal Java-based extension we know doesn't do any additional allocation after the fork? Also, I'm guessing that the JVM forces everything to reach a safe point before doing fork+exec...maybe there's some way we can do the same? I'm checking OpenJDK source now.