https://issues.apache.org/bugzilla/show_bug.cgi?id=49669
Summary: Static reference from
javax.security.auth.Policy.contextClassLoader prevents
an undeployed Web application from being garbage
collected
Product: Tomcat 7
Version: 7.0.0
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: normal
Priority: P2
Component: Catalina
AssignedTo: [email protected]
ReportedBy: [email protected]
Overview
The class javax.security.auth.Policy has a static member contextClassLoader
that can refer to the WebappClassLoader of an application. If that happens, the
web application cannot be garbage collected after undeploy.
Steps to reproduce
Create a web application that uses Axis 1 as SOAP server. Deploy the web
application in Tomcat. Make a SOAP call to the webapplication. Undeploy the web
application. Wait an hour.
Make a memory dump using jmap, and inspect the memory using jhat.
Actual results
The WebappClassLoader for the web application is still present. Its "reference
chains from rootset" shows a reference like this:
System Class Reference :
--> class javax.security.auth.Policy (84 bytes) (static field
contextClassLoader:)
--> org.apache.catalina.loader.webappclassloa...@0xeb52ba60 (165 bytes)
Expected results
There is no WebappClassLoader for this web application anymore.
Build date & platform
Downloaded Core tar.gz from http://tomcat.apache.org/download-70.cgi
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]