Bug 48510

Summary: Memory leak after undeploying web application using custom log formatter
Product: Tomcat 6 Reporter: dsavickas
Component: CatalinaAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: P2    
Version: 6.0.20   
Target Milestone: default   
Hardware: PC   
OS: Windows XP   
Attachments: Zipped Maven project folder

Description dsavickas 2010-01-08 06:02:55 UTC
Created attachment 24819 [details]
Zipped Maven project folder

After undeploying web application (see attachment) instance of CustomFormatter is left non-reclaimed. As CustomFormatter is loaded by WebAppClassLoader, the classloader remains in memory too.

To reproduce: deploy attached web application and stop/start it several times, then do a heap dump. Check the dump using Eclipse Memory Analyzer or YourKit Java Profiler and notice multiple WebAppClassLoaders present in the dump.

Issue seems to be related to org.apache.juli.ClassLoaderLogManager.
org.apache.juli.ClassLoaderLogManager$LogNode keeps a reference to java.util.logging.Logger. Logger has a handler with CustomFormatter.
Comment 1 Mark Thomas 2010-01-12 13:06:04 UTC
Thanks for the test case. This bug has the same root cause as bug 48421 so I am marking it as a duplicate.

*** This bug has been marked as a duplicate of bug 48421 ***