Return-Path: Delivered-To: apmail-jakarta-struts-dev-archive@www.apache.org Received: (qmail 5900 invoked from network); 1 Dec 2003 23:23:10 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 1 Dec 2003 23:23:10 -0000 Received: (qmail 65554 invoked by uid 500); 1 Dec 2003 23:22:51 -0000 Delivered-To: apmail-jakarta-struts-dev-archive@jakarta.apache.org Received: (qmail 65509 invoked by uid 500); 1 Dec 2003 23:22:51 -0000 Mailing-List: contact struts-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Struts Developers List" Reply-To: "Struts Developers List" Delivered-To: mailing list struts-dev@jakarta.apache.org Received: (qmail 65495 invoked from network); 1 Dec 2003 23:22:51 -0000 Received: from unknown (HELO exchange.sun.com) (192.18.33.10) by daedalus.apache.org with SMTP; 1 Dec 2003 23:22:51 -0000 Received: (qmail 13899 invoked by uid 50); 1 Dec 2003 23:23:07 -0000 Date: 1 Dec 2003 23:23:07 -0000 Message-ID: <20031201232307.13898.qmail@nagoya.betaversion.org> From: bugzilla@apache.org To: struts-dev@jakarta.apache.org Cc: Subject: DO NOT REPLY [Bug 25125] New: - Violation of JSP spec: release() method and pageContext + parent X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT . 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