You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2003/12/02 00:23:07 UTC
DO NOT REPLY [Bug 25125] New: -
Violation of JSP spec: release() method and pageContext + parent
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25125>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25125
Violation of JSP spec: release() method and pageContext + parent
Summary: Violation of JSP spec: release() method and pageContext
+ parent
Product: Struts
Version: 1.1 Final
Platform: Other
OS/Version: Other
Status: NEW
Severity: Minor
Priority: Other
Component: Custom Tags
AssignedTo: struts-dev@jakarta.apache.org
ReportedBy: mogsie@escenic.com
IMHO, it is a violation of the JSP spec to not reset the "pageContext" and
"parent" instance variables of the JSP Tag Handlers in the release() method.
The Final JSP 1.2 spec states on page 164 (jsp-2.0 on page 2-55) that:
"Once a release method invoked _all_ properties, including parent and
pageContext, are assumed to have been reset to an unspecified value."
I propose (in all Tags):
public void release() {
...
this.pageContext = null;
this.parent = null;
}
One could argue that the "TagSupport" class should do exactly this in its
release() method, but Fat Chance... (see bug 13741.)
The problem I am experiencing with this is a memory leak which slowly eats up
memory, as old pooled tag handlers are kept in memory. This leak is caused by
our own tag handlers as well as the Struts tag handlers. After 20 hours of peak
traffic, a heap dump shows thousands of PageContext objects kept in memory by
idle tag handlers; totalling to several hundreds of megabytes...
And, no, this has nothing to do with bug 13392 !
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org