[ http://issues.apache.org/jira/browse/XALANJ-1973?page=comments#action_12315503 ]
Glenn Crilley commented on XALANJ-1973: --------------------------------------- See XALANJ-2168 for possible fix. > Memory Leak, Extension functions that return a DTM > -------------------------------------------------- > > Key: XALANJ-1973 > URL: http://issues.apache.org/jira/browse/XALANJ-1973 > Project: XalanJ2 > Type: Bug > Components: transformation > Versions: CurrentCVS > Environment: Xalan, current CVS > JDK 1.4.2_04 (SUN) > Reporter: John Gentilin > Assignee: Henry Zongaro > Attachments: FanTest.xsl, screenshot-1.jpg, > xsl-apply-templates-backtrace.mht, xsl-apply-templates-heap.mht, > xsl-for-each-backtrace.mht > > It appears that when an extension function returns a DTM, a reference to the > DTM object is held within the transformation engine. > This problem is apparent within the SQL Extension but I don't think the > extension code is the source of the problem. > I am including a Stylesheet that can demonstrate the problem along with 2 > different back trace files and a heap dump produced from OptimizeIt. The heap > dump represents the state of the JVM, after the transformation was completed > with a forced GC. The back traces show the allocations of the SQLDocument > which extends DTM. > The stylesheet example is complete and does not require an XML data file. It > does require a connection to a JDBC compliant Database. The stylesheet will > create the table, insert the test data and run several iterations. > At first we were using the xsl:for-each element. Comments in this code lead > me to believe that the ElemForEach#transformSelectedNodes may have been > responsible. The XSL was then refactored to use xsl:apply-templates but the > same memory leak appeared. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
