DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG� RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=33934>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND� INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=33934 Summary: [standard] memory leak in jstl c:set tag Product: Taglibs Version: 1.0.6 Platform: PC OS/Version: All Status: NEW Severity: critical Priority: P2 Component: Standard Taglib AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] <c:set ..> does not clear its target/value fields after usage, it keeps references to these objects when the application server places the tag instance back into a tag pool. Example: I have a session attribute named hugeBean and set a property of that bean with <c:set target="${hugeBean}" ... />. In doStartTag() the EL ${hugeBean} is evaluated and the result is placed into the field "target" - see org.apache.taglibs.standard.tag.el.core.SetTag and org.apache.taglibs.standard.tag.common.core.SetSupport. In doEndTag() the property of hugeBean is changed, but the field "target" in SetSupport is not cleared afterwards. After calling doEndTag() the application server may (and tomcat does) put the tag into a tag pool for recycling - release() is not called before this (which is correct I think). Now the tag pool contains the SetTag instance that still contains a reference to the hugeBean. If the application removes hugeBean from the session, it can not be garbage collected because of the reference from the tag pool. The fix should be not too difficult, I think doEndTag() should clear all references to appliaction objects. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
