geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevan Miller (JIRA)" <...@geronimo.apache.org>
Subject [jira] Created: (GERONIMO-1177) URLJarFile memory leak
Date Tue, 15 Nov 2005 18:07:27 GMT
URLJarFile memory leak
----------------------

         Key: GERONIMO-1177
         URL: http://issues.apache.org/jira/browse/GERONIMO-1177
     Project: Geronimo
        Type: Bug
  Components: common  
    Versions: 1.0-M5    
 Environment: Win XP/ JDK 1.4.2
    Reporter: Kevan Miller
     Fix For: 1.0


There is a Sun bug which is causing a memory leak of URLJarFile instances in Geronimo. The
problem is caused by http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4167874 -- sun.net.www.protocol.jar.JarFileFactory
will hold onto strong references to all URLJarFile instances. So URLJarFiles can never be
GCed. This means that for every deploy/undeploy of an application, you'll leak URLJarFiles.

The problem can be avoided by calling URLConnection.setDefaultUseCaches(false); This will
turn off the caching in JarFileFactory. 

I have a fix which adds a GeronimoEnvironment class that can be used to perform common environment
setup for server, client, and deployer processes. GeronimoEnvironment.init(); is invoked as
appropriate from these three process environments. init() currently only sets DefaultUseCaches
to false. There may be other functions which we could move there, but I didn't investigate
too deeply...

Note that setDefaultUseCaches(false) is a "global" setting. So it affects the entire runtime.
URLConnection.setUseCaches(false) does not fix the problem.

I'll post my patch, shortly...



-- 
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


Mime
View raw message