Rbx.exe hits 3GB memory usage during "rake test"

Hi there,

Today I decided to take a look at IronRuby. I pulled the source down as
demonstrated in the video, followed the build instructions on the wiki,
and
then ran the unit tests using the command ‘rake test’. After letting it
execute for a minute or two, I noticed no new results were appearing, my
system was no longer responding properly and the rbx.exe process was
using
approximately 3GB of memory. I killed it, and this is is what was in the
console buffer:

repro: (a,b),c = *[nil]
nil; nil; nil;
repro: (a,b),c = *[1]
1; nil; nil;
repro: (a,b),c = [1,2]
1; nil; 2;
repro: (a,b),c = 1,
[2,3]
1; nil; 2;
repro: (a,b),c = [[]]
nil; nil; nil;
repro: (a,b),c = 1,
[]
1; nil; nil;
repro: (a,b),c = [1,2],3
1; 2; 3;
repro: (a,b),c = nil,1
nil; nil; 1;
rake aborted!

I’m running 64-bit Vista. I did a ‘gem update’ before building the
source.
ruby -v gives me:

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

After it happened the first time, I deleted my entire local copy of the
source, pulled it all down again and then got the exact same result.

I was wondering whether anyone has come across this before or has any
suggestions. Cheers!

I just ran rake test and didn’t get the same result. rbx never took more
then 50 megs of ram, but the process ended with the error below after
running for a few minutes. I’m on the same version of Ruby as you, but
running 32 bit Windows 2k3 Standard. What version is your pathname2 gem
(I
think that’s the only gem that’s required, and I know there are version
problems there). I’m on 1.5.2. Did you try rake spec as well?

:0:in do_generate': undefined local variable or methodmethods’ for
main:Objec
t (NoMethodError)
from :0:in #block162' from c:\IronRuby\src\IronRuby.Libraries\Extensions\IListOps.cs:785:inE
ach’
from :0:in `Initialize##1’rake aborted!
Command failed with status (1): [“c:\ironruby\build\debug\rbx.exe”
"test_eh…]
C:/IronRuby/rakefile:196
(See full trace by running task with --trace)

C:\IronRuby>

Sorry about the experience - I haven’t been using rake test as a part of
our test matrix for some time now - I’ll update the tests and the
Rakefile in the next release.

In the meantime, the most comprehensive way of running tests are the
community-produced specs. You can run these via:

rake spec - - coverage

This will give you an indication of the pass / fail rate of the specs
which can be found under tests\ironruby\specs\core**

Thanks,
-John

From: [email protected]
[mailto:[email protected]] On Behalf Of Aaron Junod
Sent: Saturday, April 26, 2008 12:41 PM
To: [email protected]
Subject: Re: [Ironruby-core] rbx.exe hits 3GB memory usage during “rake
test”

I just ran rake test and didn’t get the same result. rbx never took more
then 50 megs of ram, but the process ended with the error below after
running for a few minutes. I’m on the same version of Ruby as you, but
running 32 bit Windows 2k3 Standard. What version is your pathname2 gem
(I think that’s the only gem that’s required, and I know there are
version problems there). I’m on 1.5.2.http://1.5.2. Did you try rake
spec as well?

:0:in do_generate': undefined local variable or method methods’ for
main:Objec
t (NoMethodError)
from :0:in #block162' from c:\IronRuby\src\IronRuby.Libraries\Extensions\IListOps.cs:785:in E
ach’
from :0:in `Initialize##1’rake aborted!
Command failed with status (1): [“c:\ironruby\build\debug\rbx.exe”
"test_eh…]
C:/IronRuby/rakefile:196
(See full trace by running task with --trace)

C:\IronRuby>

On Sat, Apr 26, 2008 at 2:34 PM, Paul Batum
<[email protected]mailto:[email protected]> wrote:
Hi there,

Today I decided to take a look at IronRuby. I pulled the source down as
demonstrated in the video, followed the build instructions on the wiki,
and then ran the unit tests using the command ‘rake test’. After letting
it execute for a minute or two, I noticed no new results were appearing,
my system was no longer responding properly and the rbx.exe process was
using approximately 3GB of memory. I killed it, and this is is what was
in the console buffer:

repro: (a,b),c = *[nil]
nil; nil; nil;
repro: (a,b),c = *[1]
1; nil; nil;
repro: (a,b),c = [1,2]
1; nil; 2;
repro: (a,b),c = 1,
[2,3]
1; nil; 2;
repro: (a,b),c = [[]]
nil; nil; nil;
repro: (a,b),c = 1,
[]
1; nil; nil;
repro: (a,b),c = [1,2],3
1; 2; 3;
repro: (a,b),c = nil,1
nil; nil; 1;
rake aborted!

I’m running 64-bit Vista. I did a ‘gem update’ before building the
source. ruby -v gives me:

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

After it happened the first time, I deleted my entire local copy of the
source, pulled it all down again and then got the exact same result.

I was wondering whether anyone has come across this before or has any
suggestions. Cheers!

After lurking on these forums for a while, and getting myself up to
speed on
where the project is, I’d like to see if I can lend a hand by
contributing
to the project. I’ve taken care of getting the contributor agreement
squared away, so now I’m looking for some recommendations on what could
use
some attention.

Is there a list of prioritized “items” that would benefit from some
community love?

Cheers,
Steve

I know about this issue, it’s a bug in IronRuby that leads to massive
memory leaks. I think it could be that 64bit pointers are just twice as
big so it consumes even more memory there.
Will get to fixing it soon.

Tomas

From: [email protected]
[mailto:[email protected]] On Behalf Of John L.
(IRONRUBY)
Sent: Saturday, April 26, 2008 1:43 PM
To: [email protected]
Subject: Re: [Ironruby-core] rbx.exe hits 3GB memory usage during “rake
test”

Sorry about the experience - I haven’t been using rake test as a part of
our test matrix for some time now - I’ll update the tests and the
Rakefile in the next release.

In the meantime, the most comprehensive way of running tests are the
community-produced specs. You can run these via:

rake spec - - coverage

This will give you an indication of the pass / fail rate of the specs
which can be found under tests\ironruby\specs\core**

Thanks,
-John

From: [email protected]
[mailto:[email protected]] On Behalf Of Aaron Junod
Sent: Saturday, April 26, 2008 12:41 PM
To: [email protected]
Subject: Re: [Ironruby-core] rbx.exe hits 3GB memory usage during “rake
test”

I just ran rake test and didn’t get the same result. rbx never took more
then 50 megs of ram, but the process ended with the error below after
running for a few minutes. I’m on the same version of Ruby as you, but
running 32 bit Windows 2k3 Standard. What version is your pathname2 gem
(I think that’s the only gem that’s required, and I know there are
version problems there). I’m on 1.5.2.http://1.5.2. Did you try rake
spec as well?

:0:in do_generate': undefined local variable or method methods’ for
main:Objec
t (NoMethodError)
from :0:in #block162' from c:\IronRuby\src\IronRuby.Libraries\Extensions\IListOps.cs:785:in E
ach’
from :0:in `Initialize##1’rake aborted!
Command failed with status (1): [“c:\ironruby\build\debug\rbx.exe”
"test_eh…]
C:/IronRuby/rakefile:196
(See full trace by running task with --trace)

C:\IronRuby>

On Sat, Apr 26, 2008 at 2:34 PM, Paul Batum
<[email protected]mailto:[email protected]> wrote:
Hi there,

Today I decided to take a look at IronRuby. I pulled the source down as
demonstrated in the video, followed the build instructions on the wiki,
and then ran the unit tests using the command ‘rake test’. After letting
it execute for a minute or two, I noticed no new results were appearing,
my system was no longer responding properly and the rbx.exe process was
using approximately 3GB of memory. I killed it, and this is is what was
in the console buffer:

repro: (a,b),c = *[nil]
nil; nil; nil;
repro: (a,b),c = *[1]
1; nil; nil;
repro: (a,b),c = [1,2]
1; nil; 2;
repro: (a,b),c = 1,
[2,3]
1; nil; 2;
repro: (a,b),c = [[]]
nil; nil; nil;
repro: (a,b),c = 1,
[]
1; nil; nil;
repro: (a,b),c = [1,2],3
1; 2; 3;
repro: (a,b),c = nil,1
nil; nil; 1;
rake aborted!

I’m running 64-bit Vista. I did a ‘gem update’ before building the
source. ruby -v gives me:

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

After it happened the first time, I deleted my entire local copy of the
source, pulled it all down again and then got the exact same result.

I was wondering whether anyone has come across this before or has any
suggestions. Cheers!