I've been battling a variety of ClassLoader-based memory leaks that
occur during the deploy/undeploy of DayTrader. With the patches for the
following
problems, I no longer see MultiParentClassLoaders being leaked:
http://issues.apache.org/jira/browse/GERONIMO-1125 (patch just posted)
http://issues.apache.org/jira/browse/GERONIMO-1118 (fix committed)
http://issues.apache.org/jira/browse/AXIS-2232 (Old patch didn't fix
the problem. I've attached a new patch that fixes the problem. Yet to
be committed)
http://issues.apache.org/jira/browse/AXIS-2278 (Fix committed, but not picked up by Geronimo build)
Deployment of DayTrader is still leaking memory (but only 200 kbytes
per deploy/undeploy cycle. "only" is a relative term... ;-). So,
there's still work to be done.
Finally, there is an intermittent problem which will cause a Thread to
temporarily hold on to a ClassLoader. Since the problem is intermittent
and temporary, I'm not actively pursuing. I'll document the problem in
a jira, but here's the chain of references keeping the ClassLoader
alive... The Thread is in the RMI Runtime ThreadGroup.
java.lang.Thread.inheritedAccessControlContext -->
java.security.AccessControlContext.context -->
java.security.ProtectionDomain[4] -->
java.security.ProtectionDomain.classLoader -->
org.apache.geronimo.kernel.config.MultiParentClassLoader
--kevan
- ClassLoader memory leaks Kevan Miller
- Re: ClassLoader memory leaks Matt Hogstrom
- Re: ClassLoader memory leaks Jeff Genender
- Re: ClassLoader memory leaks Kevan Miller
- Re: ClassLoader memory leaks Kevan Miller
- Re: ClassLoader memory leaks Kevan Miller