geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevan Miller (JIRA)" <>
Subject [jira] Updated: (GERONIMO-983) Memory used by proxies isn't released by dereferencing the proxy (I speculate)
Date Wed, 12 Oct 2005 04:10:05 GMT
     [ ]

Kevan Miller updated GERONIMO-983:

    Attachment: ReferenceIdentityMap.patch

This patch file allows Proxies to be GC'ed without explicit calls to destroyProxy(). The existing
IdentityHashMap is replaced with a ReferenceIdentityMap from Commons Collections. The ReferenceIdentityMap
is configured to use WeakReferences for the proxy "keys" -- allowing a proxy and associated
MethodInterceptor to be GC'ed. Builds, tests/itests pass, and basic deploy/undeploy of web
apps all work. I've also verified that proxies, MethodInterceptors, etc are being automatically
reclaimed by GC.

I'll ping Dain to weigh in on this issue. It's time to get this closed out...

> Memory used by proxies isn't released by dereferencing the proxy (I speculate)
> ------------------------------------------------------------------------------
>          Key: GERONIMO-983
>          URL:
>      Project: Geronimo
>         Type: Bug
>   Components: console, kernel
>     Versions: 1.0-M5
>     Reporter: Aaron Mulder
>     Priority: Critical
>      Fix For: 1.0
>  Attachments: 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:
For more information on JIRA, see:

View raw message