[ http://issues.apache.org/jira/browse/GERONIMO-983?page=all ]
Kevan Miller updated GERONIMO-983: ---------------------------------- Attachment: BasicProxyMap.patch Yet another solution to this problem... ;-) BasicProxyMap is an implementation of a WeakIdentityHashMap (class size ~10k). This allows proxy keys to be GC'ed without being explicitly destroyed. In the interest of minimalism, BasicProxyMap is not a full Map implementation -- it does not provide the Iterator or Collection support specified by the Map interface. I "borrowed" code from Commons Collection ReferenceIdentityMap and pared it down. Copyright date and code should indicate this... Associated Junit test validates basic functionality. > Memory used by proxies isn't released by dereferencing the proxy (I speculate) > ------------------------------------------------------------------------------ > > Key: GERONIMO-983 > URL: http://issues.apache.org/jira/browse/GERONIMO-983 > Project: Geronimo > Type: Bug > Components: console, kernel > Versions: 1.0-M5 > Reporter: Aaron Mulder > Priority: Critical > Fix For: 1.0 > Attachments: BasicProxyMap.patch, ConsoleFix.txt, > ReferenceIdentityMap.patch, basicProxyManager.patch > > On Wed, 7 Sep 2005, Neal Sanche wrote: > > I compiled up a new Geronimo, and then I left it running with the Server > > Info page displayed so I could see the cool AJX work there... and then I > > forgot about it for a day or so. When I got back it was saying: > > > > 20:56:53,219 WARN [ThreadedServer] EXCEPTION > > java.lang.OutOfMemoryError: Java heap space > > > On Wed, 7 Sep 2005, Neal Sanche wrote: > > Well, I did some profiling, and found that the predominant object that > > was being retained was: > > > > org.apache.geronimo.kernel.basic.RawGetAttributeInvoker > > > > There are also another slowly growing group of geronimo classes that > > seem to pile up, and they aren't getting garbage collected either: > > > > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor and many > > internal classes of this class. > The console uses lots of proxies and doesn't manually close them, just > releases the references. Seems like this leaks memory. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira