I've been having a look at our PermGen issues. Whilst I have not got to the cause of the problem I have ruled out the new use of the Felix OSGi container. Typicall PermGen OOM issues are caused by creating a lot of class loaders. The fact that we start and stop the inVM broker a lot means felix gets a chance to create lots of classloaders. However, the permgen probem still occurs if we disable felix (causing thoses tests that require it to fail).
If you want to take a look at what is in the PermGen I believe the heap dump should contain details, which you can get using: export ANT_OPTS="--XX:+HeapDumpOnOutOfMemoryError" in the mean time I've just increased the PermGen size locally as follows: export ANT_OPTS=-XX:MaxPermSize=256M There are a number of things that are stored in PermGen beyond classes, things like String.iterns. So hopefully we can make our tests clean up better so we don't have to set an ANT_OPT value. One alternative would be to change our ant iterate task to fork a new vm for each module. Though this will slow the test cycle down and only delay the problem if it is down to the way the systests operate. -- Martin Ritchie --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
