[ https://issues.apache.org/jira/browse/XALANJ-2195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14360257#comment-14360257 ]
Srdan Srepfler edited comment on XALANJ-2195 at 3/13/15 12:12 PM: ------------------------------------------------------------------ Can this be triggered by a SAXParseException as well? I see 2.7.2 is the latest Xalan, any chance it solved this issue? example: {code}org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x{2}) was found in the value of attribute "{1}" and element is "1d".{code} was (Author: schrepfler): Can this be triggered by a SAXParseException as well? I see 2.7.2 is the latest Xalan, any chance it solved this issue? example: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x{2}) was found in the value of attribute "{1}" and element is "1d". > Memory leak in XMLReaderManager > ------------------------------- > > Key: XALANJ-2195 > URL: https://issues.apache.org/jira/browse/XALANJ-2195 > Project: XalanJ2 > Issue Type: Bug > Components: Xalan > Affects Versions: 2.7 > Reporter: Marko Strukelj > Priority: Blocker > Attachments: gc-roots.jpg, retained-object-sizes.jpg, > xalan-j2-2.6.0-xmlmemoryleak-tm2l.patch > > > In class org.apache.xml.utils.XMLReaderManager > getXMLReader() method creates a new XMLReader (i.e. SAXParser) and stores it > into ThreadLocal. > releaseXMLReader() does not remove (set to null) ThreadLocal thus creating a > permanent leak. > Unfortunately the size of the cached Reader is typically dependent upon the > size of the XML document you process (depends on implementation but this is > the case with xerces SAXParser). In heavy load server environments with > thread pools of tens and hundreds of threads the server sustains a > significant memory leak (hundreds of megabytes - depending on the XML > document sizes and number of threads in a thread pools). > A fix is trivial: > Put the following line at the end of releaseXMLReader method: > m_readers.set(null); > I wonder, why is reader stored in ThreadLocal in the first place? -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org For additional commands, e-mail: dev-h...@xalan.apache.org