[ https://issues.apache.org/jira/browse/XALANJ-2608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joe Kesselman resolved XALANJ-2608. ----------------------------------- Resolution: Incomplete Insufficient information to reproduce. Breaking up the document and later reassembling, or filtering irrelevant parts out of the input, or using incremental with the discard extension, or simply increasing heap size, are the usual approaches. Some day sone if that may be able to be di e automatically --IBM has a few patents related to that – or the XSLT 3.0 streaming model, may help with large documents, but Xalan does not currently implement those concepts. One thought: If you are using DOM input, try switching to SAX. Our DTM document model was explicitly designed to pack large documents into less memory than an object based DOM can. > Java Heap Space Error from DTMDefaultBase > ----------------------------------------- > > Key: XALANJ-2608 > URL: https://issues.apache.org/jira/browse/XALANJ-2608 > Project: XalanJ2 > Issue Type: Bug > Security Level: No security risk; visible to anyone(Ordinary problems in > Xalan projects. Anybody can view the issue.) > Components: DTM > Affects Versions: 2.7.1, 2.7.2 > Environment: Windows 7 Entreprise Service Pack 1 > Java 8 update 122 - MaxHeapSize = 4GB > Reporter: khaled khalifa > Assignee: Steven J. Hathaway > Priority: Major > Attachments: IBXsltUtils.java, PIM_export.xslt, XSLTSample.java, > java_leak_problem.PNG > > > When trying to gnerate a large xml file (1.5 GB) via un batch (spring-batch) > we get a *java.lang.OutOfMemoryError: Java heap space* > {code} > java.lang.OutOfMemoryError: Java heap space > at > org.apache.xml.dtm.ref.DTMDefaultBase.ensureSizeOfIndex(DTMDefaultBase.java:302) > at > org.apache.xml.dtm.ref.DTMDefaultBase.indexNode(DTMDefaultBase.java:328) > at > org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.startElement(SAX2DTM.java:1887) > at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown > Source) > at > com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown > Source) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown > Source) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown > Source) > at > com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown > Source) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown > Source) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown > Source) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown > Source) > at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown > Source) > at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown > Source) > at > org.apache.xml.dtm.ref.DTMManagerDefault.getDTM(DTMManagerDefault.java:439) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:701) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1275) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1253) > {code} > In the attachment you may find a screenshot of the java analyser for the leak -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org For additional commands, e-mail: dev-h...@xalan.apache.org