Unfortunately, I don't have a simple test case for this bug.
Using xalan 2 from CVS this morning, If I checkout the xsl
subdirectory of the DocBook project at SourceForge
(sf.net/projects/docbook) and run
xalan -IN ../docsrc/copyright.xml -XSL reference.xsl
in the 'doc' subdirectory, I get an ArrayIndexOutOfBounds error
in OpMap.
I modified getOp as follows:
public int getOp(int opPos)
{
System.out.println("DEBUGME: " + m_opMap.length + "; " + opPos);
System.out.println(m_currentPattern);
return m_opMap[opPos];
}
and I get a long list of messages ending with:
...
DEBUGME: 26; 12
$person.list[position()=$count]
DEBUGME: 26; 26
$person.list[position()=$count]
followed by this stack trace (achieved by forcing doStackDumpOnError = true):
javax.xml.transform.TransformerConfigurationException:
javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: 26
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:893)
at org.apache.xalan.xslt.Process.main(Process.java:576)
---------
javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: 26
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:889)
at org.apache.xalan.xslt.Process.main(Process.java:576)
---------
java.lang.ArrayIndexOutOfBoundsException: 26
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:523)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:881)
at org.apache.xalan.xslt.Process.main(Process.java:576)
---------
java.lang.ArrayIndexOutOfBoundsException: 26
at org.apache.xpath.compiler.OpMap.getOp(OpMap.java:224)
at
org.apache.xpath.axes.WalkerFactory.functionProximateOrContainsProximate(WalkerFactory.java:394)
at
org.apache.xpath.axes.WalkerFactory.isProximateInnerExpr(WalkerFactory.java:438)
at org.apache.xpath.axes.WalkerFactory.mightBeProximate(WalkerFactory.java:516)
at
org.apache.xpath.axes.WalkerFactory.isOptimizableForDescendantIterator(WalkerFactory.java:565)
at org.apache.xpath.axes.WalkerFactory.newDTMIterator(WalkerFactory.java:286)
at org.apache.xpath.compiler.Compiler.locationPath(Compiler.java:677)
at org.apache.xpath.compiler.Compiler.compile(Compiler.java:217)
at org.apache.xpath.compiler.Compiler.compile(Compiler.java:163)
at org.apache.xpath.XPath.<init>(XPath.java:223)
at
org.apache.xalan.processor.StylesheetHandler.createXPath(StylesheetHandler.java:193)
at
org.apache.xalan.processor.XSLTAttributeDef.processEXPR(XSLTAttributeDef.java:573)
at
org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java:917)
at
org.apache.xalan.processor.XSLTAttributeDef.setAttrValue(XSLTAttributeDef.java:1075)
at
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:375)
at
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:311)
at
org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java:121)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:881)
at org.apache.xalan.xslt.Process.main(Process.java:576)
---------
java.lang.ArrayIndexOutOfBoundsException: 26
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:523)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:881)
at org.apache.xalan.xslt.Process.main(Process.java:576)
---------
java.lang.ArrayIndexOutOfBoundsException: 26
at org.apache.xpath.compiler.OpMap.getOp(OpMap.java:224)
at
org.apache.xpath.axes.WalkerFactory.functionProximateOrContainsProximate(WalkerFactory.java:394)
at
org.apache.xpath.axes.WalkerFactory.isProximateInnerExpr(WalkerFactory.java:438)
at org.apache.xpath.axes.WalkerFactory.mightBeProximate(WalkerFactory.java:516)
at
org.apache.xpath.axes.WalkerFactory.isOptimizableForDescendantIterator(WalkerFactory.java:565)
at org.apache.xpath.axes.WalkerFactory.newDTMIterator(WalkerFactory.java:286)
at org.apache.xpath.compiler.Compiler.locationPath(Compiler.java:677)
at org.apache.xpath.compiler.Compiler.compile(Compiler.java:217)
at org.apache.xpath.compiler.Compiler.compile(Compiler.java:163)
at org.apache.xpath.XPath.<init>(XPath.java:223)
at
org.apache.xalan.processor.StylesheetHandler.createXPath(StylesheetHandler.java:193)
at
org.apache.xalan.processor.XSLTAttributeDef.processEXPR(XSLTAttributeDef.java:573)
at
org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java:917)
at
org.apache.xalan.processor.XSLTAttributeDef.setAttrValue(XSLTAttributeDef.java:1075)
at
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:375)
at
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:311)
at
org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java:121)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:306)
at
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)
at
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:651)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1449)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:881)
at org.apache.xalan.xslt.Process.main(Process.java:576)
Be seeing you,
norm
--
[EMAIL PROTECTED] | My dog is worried about the economy because
XML Standards Engineer | Alpo is up to 99 cents a can. That's almost
Technology Dev. Group | $7.00 in dog money.--Joe Weinstein
Sun Microsystems, Inc. |