Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Extremely high memory usage (and OutOfMemory) when using EXSLT str:tokenize

Extremely high memory usage (and OutOfMemory) when using EXSLT str:tokenize

2005-10-19       - By John Gentilin

Mike,

Can you create a JIRA entry so this issue is discussed at the next bug
triage and
is tracked properly. Include a zipped version of the large data file so
someone can
just download and run.

Thank you
John G

Michael Heinrichs wrote:

>There appears to be a severe memory usage issue when using the EXSLT
>functions str:tokenize or str:split as included in the latest version of
>Xalan (2.7.0, and also 2.6.1).  Even for relatively small XML files,
>when repeatedly using these functions, we are encountering OutOfMemory
>exceptions even with large (2GB) maximum heap sizes.  The code for these
>extension functions looks quite straightforward, so I suspect the
>problem lies deeper.
>
>I created a simple testcase to demonstrate the problem, please see the
>details below.  In this particular example, I hit another exception (No
>more DTM IDs are available) before I reach OutOfMemory, but I imagine
>that if I tweak my example appropriately, I would hit OutOfMemory
>instead.
>
>If I use the stylesheet version of the EXSLT function, I don't encounter
>this memory issue.
>
>I searched the mailing list archives and bug databases, but didn't find
>any references to this issue.
>
>Thanks,
>
>Mike
>
>test.xml (vary the number of 'row' elements)
>========
><?xml version="1.0" encoding="ISO-8859-1"?>
><document>
><row>1.2.3.4.5.6.7.8.9.0</row>
></document>
>====================================
>
>test.xsl
>========
><?xml version="1.0"?>
><xsl:stylesheet version="1.0"
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>   xmlns:str="http://exslt.org/strings">
>
>  <xsl:template match="row">
>    <xsl:variable name="test" select="str:tokenize(.,'.')"/>
>  </xsl:template>
></xsl:stylesheet>
>====================================
>
>Command-line:
>  
>
>>java -cp
>>    
>>
>"C:\tmp\xalan-j_2_7_0\xalan.jar;C:\tmp\xalan-j_2_7_0\serializer.jar;C:\t
>mp\xalan-j_2_7_0\xml-apis.jar;C:\tmp\xalan-j_2_7_0\xercesImpl.jar"
>-Xmx1024m org.apache.xalan.xslt.Process -IN test.xml -XSL test.xsl -OUT
>test_out.xml
>
>Test 1: test.xml with 1,000 rows; file size: 32KB
>Result: Transformation completes successfully; maximum process size:
>~163MB
>
>Test 2: test.xml with 10,000 rows; file size: 312KB
>Result: Transformation aborts with exception; maximum process size:
>~900MB
>
>file:///c:/tmp/test.xsl; Line #12; Column #61; XSLT Error
>(javax.xml.transform.TransformerException): No more DTM IDs are
>available Exception in thread "main" java.lang.RuntimeException: No more
>DTM IDs are available
>        at org.apache.xalan.xslt.Process.doExit(Process.java:1153)
>        at org.apache.xalan.xslt.Process.main(Process.java:1126)
>
>  
>
>>java -version
>>    
>>
>java version "1.5.0_04"
>Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
>Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
>  
>


--
--------------------------------------
John Gentilin
Eye Catching Solutions Inc.
18314 Carlwyn Drive
Castro Valley CA 94546

   Contact Info
gentijo@(protected)
Ca Office 1-510-881-4821
NJ Office 1-732-422-4917