Hi, I've been using Xalan/Xerces for years without any noticeable problem, but I now have to face a possible thread-safe problem. I have a web site runned by Tomcat4, and I use the JSTL XSLT Transformation tag. When I stress the web site, I get a strange exception from times to times from Xalan/Xerces. Once this exception is thrown, I have to restart the JVM, because no other XSLT transformation can be processed.
Can you help? Thanks. xalan 2.4.1 and xerces 2.3.0 javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: java.lang.RuntimeException: Exception thrown during messageFormat call Programmer assertion is incorrect! - {0} at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:1002) at net[...](Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.CertificatesValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContext.invoke(Unknown Source) at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:430) at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:499) at java.lang.Thread.run(Thread.java:512) --------- javax.xml.transform.TransformerException: java.lang.RuntimeException: Exception thrown during messageFormat call Programmer assertion is incorrect! - {0} at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:996) at [...] (Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.CertificatesValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContext.invoke(Unknown Source) at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:430) at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:499) at java.lang.Thread.run(Thread.java:512) --------- java.lang.RuntimeException: Exception thrown during messageFormat call Programmer assertion is incorrect! - {0} at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.compiler.Compiler.compileFunction(Compiler.java(Compiled Code)) at org.apache.xpath.compiler.Compiler.compile(Compiler.java(Compiled Code)) at org.apache.xpath.compiler.Compiler.compile(Compiler.java(Compiled Code)) at org.apache.xpath.XPath.<init>(XPath.java(Compiled Code)) at org.apache.xalan.processor.StylesheetHandler.createXPath(StylesheetHandler.java(Compiled Code)) at org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java(Compiled Code)) at org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java(Compiled Code)) at org.apache.xalan.processor.XSLTAttributeDef.setAttrValue(XSLTAttributeDef.java(Compiled Code)) at org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java(Compiled Code)) at org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java(Compiled Code)) at org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java(Compiled Code)) at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java(Compiled Code)) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:972)nown Source) at [...](Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.CertificatesValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContext.invoke(Unknown Source) at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:430) at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:499) at java.lang.Thread.run(Thread.java:512) --------- java.lang.RuntimeException: Exception thrown during messageFormat call Programmer assertion is incorrect! - {0} at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.functions.Function3Args.setArg(Function3Args.java(Compiled Code)) at org.apache.xpath.compiler.Compiler.compileFunction(Compiler.java(Compiled Code)) at org.apache.xpath.compiler.Compiler.compile(Compiler.java(Compiled Code)) at org.apache.xpath.compiler.Compiler.compile(Compiler.java(Compiled Code)) at org.apache.xpath.XPath.<init>(XPath.java(Compiled Code)) at org.apache.xalan.processor.StylesheetHandler.createXPath(StylesheetHandler.java(Compiled Code)) at org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java(Compiled Code)) at org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java(Compiled Code)) at org.apache.xalan.processor.XSLTAttributeDef.setAttrValue(XSLTAttributeDef.java(Compiled Code)) at org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java(Compiled Code)) at org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java(Compiled Code)) at org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java(Compiled Code)) at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java(Compiled Code)) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:972) at [...](Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.CertificatesValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardContext.invoke(Unknown Source) at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source) at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source) at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown Source) at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:430) at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:499) at java.lang.Thread.run(Thread.java:512) __________________________________________________