we had the same problem. however, my conclusion was that using Ivy was not the root cause but rather the straw that broke the camel's back. the research i did showed the using the "ant" and "antcall" targets are memory hungry and are at the root cause. i assume when you say "iterate over a series of subprojects" you are using the "ant" task.

you can work around this by setting the MaxPermSize to some larger value. you can set this in your environment by doing:

$ export ANT_OPTS="$ANT_OPTS -Xmx... -XX:MaxPermSize=..."

where ... are some values you'll need to play with.


jgunz wrote:
I'm getting "java.lang.OutOfMemoryError: PermGen space" errors when using
subant calls to iterate over a series of sub-projects which utilize Ivy. It
seems each call has to re-parse the ivysettings.xml file and continually
eats up memory.

I've mocked up a simple example project that illustrates the problem. Ignore
the Groovy usage; I just did that to loop over the same sub-project multiple
times to simulate the effect of having numerous sub-projects.

I recommend reducing Ant's maximum memory size so that you see the problem
faster by setting ANT_OPTS=-XX:MaxPermSize=32m

The following project should run out of the box and generate an
OutOfMemoryError.
http://www.nabble.com/file/p12097331/ivySubantFailure.zip
ivySubantFailure.zip

Reply via email to