|
|
|
This looks like a bug in jvyamlb. Assigning to Ola.
This is strange - I can't reproduce the issue at all:
Orpheus:~/workspace/jruby> head bin/gem #!/usr/bin/env jruby -J-Xmx384M #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ require 'rubygems' Gem.manage_gems Orpheus:~/workspace/jruby> bin/gem install optiflag Bulk updating Gem source index for: http://gems.rubyforge.org Successfully installed optiflag-0.6.5 Installing ri documentation for optiflag-0.6.5... Installing RDoc documentation for optiflag-0.6.5... The above memory settings are the default in our gem script. As far as I can see, there is nothing bad in the YAML spec for optiflag, since I can install it just fine. Could you try again with the default settings? I just now found your comment. For some reason, the email notification escaped me.
I just duplicated the error with the default settings and a different command (gem query): gem query --remote
I'm willing to believe that I have an environment anomaly, but I wonder what the Another highly likely suspect is an old Java class that somehow sneaked into the a. Weird. This resolution message doesn't appear under
the bug-created thread. b. I question the resolution. The resolution is given as "unable to reproduce". Yet To my mind, the inability to browse and load gems qualifies I thought about downloading the trunk, but I saw a ton of I did not notice that this was originally reported against Solaris, but we can now run this on 1.0.2 pre-build on both Windows and MacOS with no troubles. On windows there were some minor tweakage to make sure all .bat files had the upp'd -Xmx values. I also tried doing this by wiping out the source_cache which should be a worse case scenario.
Eric, can you reproduce this? I was not able to reproduce this on Solaris 10 x86 or Mac OS 10.4 x86, but I did manage to get OOM on a Linux x64 box running Java 5. However, the -Xmx flag to bump it up (-J-Xmx512M in my case) allowed it to "Bulk update" just fine and proceed to the optiflag install.
Hence, "cannot reproduce". Eric, if you could try again against the 1.0 branch (ASAP, we're cutting a release within hours) and try to run this again, we would appreciate it. At the moment, it seems to work fine, albeit requiring a memory bump on one or two platforms. Bumped max heap up to 512M since this worked for Charlie on 64 bit system. Commit 4837.
The reason seems to be that gem install process is a memory hog, at least in Windows platform. The process takes > 750 megabytes of memory in Windows XP.
Joni: I believe this should be entirely solved now that we've moved to RubyGems 1.2+. It no longer consumes so much memory, as part of design changes in RubyGems.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
I tried different -Xms and -Xmx values, didn't seem to help.
C:\workspace\jruby_trunk\bin>gem install optiflag
Bulk updating Gem source index for: http://gems.rubyforge.org
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at org.jruby.util.ByteList.grow(ByteList.java:537)
at org.jruby.util.ByteList.append(ByteList.java:116)
at org.jruby.util.ByteList.append(ByteList.java:122)
at org.jvyamlb.ScannerImpl.update(ScannerImpl.java:330)
at org.jvyamlb.ScannerImpl.ensure(ScannerImpl.java:350)
at org.jvyamlb.ScannerImpl.scanLineBreak(ScannerImpl.java:581)
at org.jvyamlb.ScannerImpl.scanToNextToken(ScannerImpl.java:562)
at org.jvyamlb.ScannerImpl.fetchMoreTokens(ScannerImpl.java:488)
at org.jvyamlb.ScannerImpl.peekToken(ScannerImpl.java:411)
at org.jvyamlb.ParserImpl$ProductionEnvironment.produce(ParserImpl.java:355)
at org.jvyamlb.ParserImpl.parseStreamNext(ParserImpl.java:730)
at org.jvyamlb.ParserImpl.peekEvent(ParserImpl.java:681)
at org.jvyamlb.ComposerImpl.composeNode(ComposerImpl.java:161)
at org.jvyamlb.ComposerImpl.composeNode(ComposerImpl.java:167)
at org.jvyamlb.ComposerImpl.composeNode(ComposerImpl.java:167)
at org.jvyamlb.ComposerImpl.composeDocument(ComposerImpl.java:100)
at org.jvyamlb.ComposerImpl.getNode(ComposerImpl.java:76)
at org.jvyamlb.BaseConstructorImpl.getData(BaseConstructorImpl.java:97)
at org.jruby.RubyYAML.load(RubyYAML.java:223)
at org.jruby.RubyYAMLInvoker$load_FS1.call(Unknown Source)
at org.jruby.runtime.callback.FastInvocationCallback.execute(FastInvocationCallback.java:49)
at org.jruby.internal.runtime.methods.SimpleCallbackMethod.call(SimpleCallbackMethod.java:70)
at org.jruby.runtime.CallAdapter$DefaultCallAdapter.call(CallAdapter.java:167)
at org.jruby.runtime.CallAdapter$DefaultCallAdapter.call(CallAdapter.java:108)
at org.jruby.evaluator.ASTInterpreter.callNode(ASTInterpreter.java:561)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:208)
at org.jruby.evaluator.ASTInterpreter.orNode(ASTInterpreter.java:1335)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:338)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:165)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:144)
at org.jruby.runtime.CallAdapter$DefaultCallAdapter.call(CallAdapter.java:167)
at org.jruby.runtime.CallAdapter$DefaultCallAdapter.call(CallAdapter.java:108)