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: dev@(protected)
ReportedBy: ArjenCornelis.Knibbe@(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.WebappClassLoader@(protected))
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: dev-unsubscribe@(protected)
For additional commands, e-mail: dev-help@(protected)