[ http://issues.apache.org/jira/browse/XALANJ-1980?page=comments#action_54671 ]
     
Joe Kesselman commented on XALANJ-1980:
---------------------------------------

The *Impl objects *are* created by your code; that's the DOM you passed in by 
specifying a DOMSource.

The rest are internal Xalan objects, which should be created, but which should also Go 
Away after the Transformer has been discarded. Are you sure you're giving the GC time 
to clean things up before analysing your remaining heap?

> memory leak with certain xalan objects
> --------------------------------------
>
>          Key: XALANJ-1980
>          URL: http://issues.apache.org/jira/browse/XALANJ-1980
>      Project: XalanJ2
>         Type: Bug
>   Components: Xalan
>     Versions: 2.5, 2.6
>  Environment: Solaris, Sparc. 
>     Reporter: Archna Monga

>
> Hi,
> I am from Sun Microsystems and we are using XALAN for XSL processing. Our
> application is apparently observing good heap size increase. Using JProbe
> analysis tool, I find couple of objects collecting in xsl processing after a request 
> is completed - 
> org.apache.xpath.axes.AxesWalker ->
> org.apache.xml.dtm.ref.DTMDefaultBaseTraversers$RootTraverser ->
> org.apache.xml.dtm.ref.dom2dt.DOM2DTM -> Vector -> Object[] ->
> AttrImpl/ElementImpl etc. 
> JProbe shows them as loitering objects created after we include a checkpoint to 
> monitor objects created only in the request. The result of above extra objects is 
> that heap size seems to keep growing as the load increases and in a period of time 
> the process size reached the max. 
> Each request in testing tends to serve search.xml:
> search.xml (contains couple of tags that are expanded to obtain data)
> search.xsl (which is translated to output html)
> I am not sure what part of our code would result in that. We are using following 
> code for XSL transformation - 
>       Transformer transformer = null;
>       if (xmlDoc == null) {
>         throw new XSLProcessingException("XSLProcessor: xmlDoc null");
>       }
>       if (outputStream == null)
>         throw new XSLProcessingException("XSLProcessor: outputStream null");
>       try {
>         transformer = _templates.newTransformer();
>       } catch (TransformerConfigurationException tce) {
>         throw new XSLProcessingException("XSLProcessor: transformer could not be
> created : "
>                                          +tce.getMessage());
>       }
>       if (transformer == null) {
>         throw new XSLProcessingException("XSLProcessor: _transformer null");
>       }
>       try {
>         transformer.transform( new DOMSource(xmlDoc),
>                                new StreamResult(outputStream));
>       } catch (TransformerException te) {
>         throw new XSLProcessingException("XSLProcessor: transform failed ("
>                                          +te.getMessage() + ")");
>       }
>     }
>   
> Please let me know if more information is required. It's quite urgent for us as our 
> application is released and the problem is reported by a customer. 

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to