You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by xa...@xml.apache.org on 2004/09/05 02:05:38 UTC
[jira] Updated: (XALANJ-1241) Unknown error in XPath in recursive string operation
The following issue has been updated:
Updater: Brian Minchau (mailto:minchau@ca.ibm.com)
Date: Sat, 4 Sep 2004 5:05 PM
Changes:
assignee changed from Xalan Developers Mailing List
description changed from I use this named template to perform string replacement in texts:
<xsl:template name="replaceString">
<xsl:param name="string"/><xsl:param name="replace"/><xsl:param
name="replacement"/>
<xsl:variable name="firstChunk" select="substring-before($string, $replace)"/>
<xsl:choose>
<xsl:when test="$firstChunk = '' and not(starts-with($string, $replace))">
<xsl:value-of select="$string"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$firstChunk"/><xsl:value-of
select="$replacement" disable-output-escaping="yes"/>
<xsl:call-template name="replaceString">
<xsl:with-param name="string" select="substring-after($string,
$replace)"/>
<xsl:with-param name="replace" select="$replace"/>
<xsl:with-param name="replacement" select="$replacement"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
the problem happens randomly (not always on a given input) when I feed some
large texts (few thousands chars are enough) to it, sometimes it yould appear as:
javax.xml.transform.TransformerException: Unknown error in XPath
at org.apache.xpath.XPath.execute(XPath.java:341)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
...
Caused by: java.lang.NullPointerException
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:86)
at org.apache.xpath.XPath.execute(XPath.java:318)
... 59 more
---------
java.lang.NullPointerException
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:86)
at org.apache.xpath.XPath.execute(XPath.java:318)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
and sometimes as:
javax.xml.transform.TransformerException: Unknown error in XPath
at org.apache.xpath.XPath.execute(XPath.java:341)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
...
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
...
Caused by: java.lang.ArrayIndexOutOfBoundsException
at
org.apache.xml.utils.SuballocatedIntVector.elementAt(SuballocatedIntVector.java:454)
at org.apache.xml.dtm.ref.DTMDefaultBase._firstch(DTMDefaultBase.java:523)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.getStringValue(SAX2DTM.java:1209)
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:87)
at org.apache.xpath.XPath.execute(XPath.java:318)
... 154 more
---------
java.lang.ArrayIndexOutOfBoundsException
at
org.apache.xml.utils.SuballocatedIntVector.elementAt(SuballocatedIntVector.java:454)
at org.apache.xml.dtm.ref.DTMDefaultBase._firstch(DTMDefaultBase.java:523)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.getStringValue(SAX2DTM.java:1209)
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:87)
at org.apache.xpath.XPath.execute(XPath.java:318)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
...
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
The problem seems not to happen any more under neither form if I change the
following method of org.apache.xml.utils.SuballocatedIntVector, instead of:
public int elementAt(int i)
{
// This is actually a significant optimization!
if(i<m_blocksize)
return m_map0[i];
return m_map[i>>>m_SHIFT][i&m_MASK];
}
I removed the optimization like this:
public int elementAt(int i)
{
return m_map[i>>>m_SHIFT][i&m_MASK];
}
and the problem disappeared. to I use this named template to perform string replacement in texts:
<xsl:template name="replaceString">
<xsl:param name="string"/><xsl:param name="replace"/><xsl:param
name="replacement"/>
<xsl:variable name="firstChunk" select="substring-before($string, $replace)"/>
<xsl:choose>
<xsl:when test="$firstChunk = '' and not(starts-with($string, $replace))">
<xsl:value-of select="$string"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$firstChunk"/><xsl:value-of
select="$replacement" disable-output-escaping="yes"/>
<xsl:call-template name="replaceString">
<xsl:with-param name="string" select="substring-after($string,
$replace)"/>
<xsl:with-param name="replace" select="$replace"/>
<xsl:with-param name="replacement" select="$replacement"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
the problem happens randomly (not always on a given input) when I feed some
large texts (few thousands chars are enough) to it, sometimes it yould appear as:
javax.xml.transform.TransformerException: Unknown error in XPath
at org.apache.xpath.XPath.execute(XPath.java:341)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
...
Caused by: java.lang.NullPointerException
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:86)
at org.apache.xpath.XPath.execute(XPath.java:318)
... 59 more
---------
java.lang.NullPointerException
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:86)
at org.apache.xpath.XPath.execute(XPath.java:318)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
and sometimes as:
javax.xml.transform.TransformerException: Unknown error in XPath
at org.apache.xpath.XPath.execute(XPath.java:341)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
...
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
...
Caused by: java.lang.ArrayIndexOutOfBoundsException
at
org.apache.xml.utils.SuballocatedIntVector.elementAt(SuballocatedIntVector.java:454)
at org.apache.xml.dtm.ref.DTMDefaultBase._firstch(DTMDefaultBase.java:523)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.getStringValue(SAX2DTM.java:1209)
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:87)
at org.apache.xpath.XPath.execute(XPath.java:318)
... 154 more
---------
java.lang.ArrayIndexOutOfBoundsException
at
org.apache.xml.utils.SuballocatedIntVector.elementAt(SuballocatedIntVector.java:454)
at org.apache.xml.dtm.ref.DTMDefaultBase._firstch(DTMDefaultBase.java:523)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.getStringValue(SAX2DTM.java:1209)
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:87)
at org.apache.xpath.XPath.execute(XPath.java:318)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
...
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
The problem seems not to happen any more under neither form if I change the
following method of org.apache.xml.utils.SuballocatedIntVector, instead of:
public int elementAt(int i)
{
// This is actually a significant optimization!
if(i<m_blocksize)
return m_map0[i];
return m_map[i>>>m_SHIFT][i&m_MASK];
}
I removed the optimization like this:
public int elementAt(int i)
{
return m_map[i>>>m_SHIFT][i&m_MASK];
}
and the problem disappeared.
environment changed from Operating System: Windows NT/2K
Platform: PC to Operating System: Windows NT/2K
Platform: PC
priority changed to Blocker
Component changed to XPath
Component changed from Other
---------------------------------------------------------------------
For a full history of the issue, see:
http://issues.apache.org/jira/browse/XALANJ-1241?page=history
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/XALANJ-1241
Here is an overview of the issue:
---------------------------------------------------------------------
Key: XALANJ-1241
Summary: Unknown error in XPath in recursive string operation
Type: Bug
Status: Unassigned
Priority: Blocker
Project: XalanJ2
Components:
XPath
Versions:
2.4
Assignee:
Reporter: Stefano Debenedetti
Created: Tue, 22 Oct 2002 5:17 AM
Updated: Sat, 4 Sep 2004 5:05 PM
Environment: Operating System: Windows NT/2K
Platform: PC
Description:
I use this named template to perform string replacement in texts:
<xsl:template name="replaceString">
<xsl:param name="string"/><xsl:param name="replace"/><xsl:param
name="replacement"/>
<xsl:variable name="firstChunk" select="substring-before($string, $replace)"/>
<xsl:choose>
<xsl:when test="$firstChunk = '' and not(starts-with($string, $replace))">
<xsl:value-of select="$string"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$firstChunk"/><xsl:value-of
select="$replacement" disable-output-escaping="yes"/>
<xsl:call-template name="replaceString">
<xsl:with-param name="string" select="substring-after($string,
$replace)"/>
<xsl:with-param name="replace" select="$replace"/>
<xsl:with-param name="replacement" select="$replacement"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
the problem happens randomly (not always on a given input) when I feed some
large texts (few thousands chars are enough) to it, sometimes it yould appear as:
javax.xml.transform.TransformerException: Unknown error in XPath
at org.apache.xpath.XPath.execute(XPath.java:341)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
...
Caused by: java.lang.NullPointerException
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:86)
at org.apache.xpath.XPath.execute(XPath.java:318)
... 59 more
---------
java.lang.NullPointerException
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:86)
at org.apache.xpath.XPath.execute(XPath.java:318)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
and sometimes as:
javax.xml.transform.TransformerException: Unknown error in XPath
at org.apache.xpath.XPath.execute(XPath.java:341)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
...
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
...
Caused by: java.lang.ArrayIndexOutOfBoundsException
at
org.apache.xml.utils.SuballocatedIntVector.elementAt(SuballocatedIntVector.java:454)
at org.apache.xml.dtm.ref.DTMDefaultBase._firstch(DTMDefaultBase.java:523)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.getStringValue(SAX2DTM.java:1209)
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:87)
at org.apache.xpath.XPath.execute(XPath.java:318)
... 154 more
---------
java.lang.ArrayIndexOutOfBoundsException
at
org.apache.xml.utils.SuballocatedIntVector.elementAt(SuballocatedIntVector.java:454)
at org.apache.xml.dtm.ref.DTMDefaultBase._firstch(DTMDefaultBase.java:523)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.getStringValue(SAX2DTM.java:1209)
at org.apache.xpath.objects.XRTreeFrag.str(XRTreeFrag.java:280)
at
org.apache.xpath.functions.FuncSubstringBefore.execute(FuncSubstringBefore.java:87)
at org.apache.xpath.XPath.execute(XPath.java:318)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:282)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
...
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:432)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:279)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:159)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
The problem seems not to happen any more under neither form if I change the
following method of org.apache.xml.utils.SuballocatedIntVector, instead of:
public int elementAt(int i)
{
// This is actually a significant optimization!
if(i<m_blocksize)
return m_map0[i];
return m_map[i>>>m_SHIFT][i&m_MASK];
}
I removed the optimization like this:
public int elementAt(int i)
{
return m_map[i>>>m_SHIFT][i&m_MASK];
}
and the problem disappeared.
---------------------------------------------------------------------
JIRA INFORMATION:
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: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org