I grabbed a copy of trunk and was not able to reproduce the OOM. 
This is on my OSX 10.6 box using 64 bit Java 6.
I haven't set up yourkit yet, but I believe what is happening is that I'm 
causing the memory usage for a bunch of the classes to get bigger by calling 
the generics reflection methods. The sun jvm lazy loads the generic objects the 
first time you request them by parsing the signature of the 
class/method/constrictor. 

To fully support generics I end up calling one of the generics methods on every 
page, service and interface used by a page or interface. There is probably some 
optimization that can be done on my end, but I think it'd be thin.

I believe the problem is partially the 64 bit jvm which uses more memory to 
store references (http://wikis.sun.com/display/HotSpotInternals/CompressedOops) 
but I haven't played with the jvm settings to see if it helps.

I ran the tests successfully with a 32 bit java 5 (and discovered  a couple 
java 6 dependencies in my stuff)

So, what does Hudson run the tests in? 
Should we consider adding jvm memory stuff to the docs? 
Currently the tests all run under the same jvm instance. I believe this may end 
up accumulating copies of classes in permgen since multiple registries/apps are 
fired up. Should the tests fork a new 


-- Josh
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to