Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 71010 invoked from network); 12 Oct 2005 04:10:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 12 Oct 2005 04:10:39 -0000 Received: (qmail 20001 invoked by uid 500); 12 Oct 2005 04:10:27 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 19956 invoked by uid 500); 12 Oct 2005 04:10:27 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 19945 invoked by uid 99); 12 Oct 2005 04:10:27 -0000 X-ASF-Spam-Status: No, hits=1.3 required=10.0 tests=SPF_FAIL X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Oct 2005 21:10:26 -0700 Received: from ajax.apache.org (ajax.apache.org [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id 5F9EE512 for ; Wed, 12 Oct 2005 06:10:05 +0200 (CEST) Message-ID: <1078972258.1129090205369.JavaMail.jira@ajax.apache.org> Date: Wed, 12 Oct 2005 06:10:05 +0200 (CEST) From: "Kevan Miller (JIRA)" To: dev@geronimo.apache.org Subject: [jira] Updated: (GERONIMO-983) Memory used by proxies isn't released by dereferencing the proxy (I speculate) In-Reply-To: <1616327462.1126156650592.JavaMail.jira@ajax.apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/GERONIMO-983?page=all ] 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: 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: 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