Community
Participate
Working Groups
Using jetty-maven-plugin for rapid development with lots of context reloads and holding classes from the WebAppClassLoader in your HttpSessions, you will end with "java.lang.OutOfMemoryError: PermGen space" There should be an option to remove all sessions when the plugin reloads a context, to avoid any references to classes in the session storage, so the old WebAppClassLoader can be garbage collected.
Peter, What kind of SessionManager are you using? HashSessionManager? Are you using persistent sessions? Jan
I use the default configuration, only setting reload to manual. I assume its HashSessionManager with no persistent sessions?
Peter, When the webapp is reloaded, it is first stopped. During doStop() the SessionManager invalidates and then removes all HttpSessions. So I don't see how the SessionManager can be causing the WebAppClassLoader to be held. Do you have a small project that exhibits the problem that you can attach to this issue? thanks Jan
Here is a couple of blog posts from one of the former Sun GlassFish engineers that are related to this issue. http://blogs.oracle.com/fkieviet/entry/classloader_leaks_the_dreaded_java http://blogs.oracle.com/fkieviet/entry/how_to_fix_the_dreaded
Peter, could you please take a look at the documentation page describing possible Out Of Memory error scenarios in Jetty at http://goo.gl/7yTH9 and see if the issue described in the last section applies to your application. If that scenario does not apply to your application, you should try following the second blog post I linked above to see if the PermGen leak is caused by your application. At last, in the event that you are able to confirm that the leak is not caused by your application, please re-open this ticket and provide a sample application that we can use to re-create this issue if possible. On our end, I'm going to run a few tests with PermGen allocated deliberately very low to see if I could make the latest version of Jetty exhibit similar behavior. -Michael
It works now. This seems to be a duplicate of 345290. Peter
I agree that this is most likely a duplicate of bug 345290. *** This bug has been marked as a duplicate of bug 345290 ***