DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15516>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15516 When using "xslTemplate.newTransformer();" throws NullPointerException during transformation Summary: When using "xslTemplate.newTransformer();" throws NullPointerException during transformation Product: XalanJ2 Version: 2.4 Platform: Other OS/Version: AIX Status: NEW Severity: Critical Priority: Other Component: org.apache.xalan AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] We get NullPointerException, when using XSL-Template in a multithread application. Platform: AIX with Java 1.3.1, 2 CPU, 8 threads. On the other hand, we have a solution, that works fine but isn't conform with xalan API. This first code example doesn't work very well. We got an error after ~10.000 transformations (different xml documents). The error can be reproduced but not at the same transformation. // using XSL Template static private Templates template = null; static private TransformerFactory tfactory = TransformerFactory.newInstance(); private Transformer trans = null; // In the constructor of my class inherits from Thread try { trans = xslTemplate.newTransformer(); } catch (TransformerConfigurationException e) { throw new SevereConverterException (...); } // in the run method during transformation we obtain: ERROR Converter - Converter.run: Error while converting XML --> FO in thread 3844. No PDF will be output ; SystemID: file:///ixos/sw/onlstmt/programs/xsl/kredis2fo.xsl; Line#: 271; Column#: 102 javax.xml.transform.TransformerException: java.lang.NullPointerException at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java (Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java (Compiled Code)) at org.apache.xalan.templates.ElemCallTemplate.execute (ElemCallTemplate.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java (Compiled Code)) at org.apache.xalan.templates.ElemCallTemplate.execute (ElemCallTemplate.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transformNode (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java(Compiled Code)) at Converter.xslt(Converter.java(Compiled Code)) at Converter.run(Converter.java(Compiled Code)) at Converter.run(Converter.java(Compiled Code)) --------- java.lang.NullPointerException at org.apache.xpath.objects.XNodeSet.xstr(XNodeSet.java(Compiled Code)) at org.apache.xpath.objects.XRTreeFragSelectWrapper.xstr (XRTreeFragSelectWrapper.java(Compiled Code)) at org.apache.xpath.objects.XObject.dispatchCharactersEvents (XObject.java(Compiled Code)) at org.apache.xpath.Expression.executeCharsToContentHandler (Expression.java(Compiled Code)) at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java (Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java (Compiled Code)) at org.apache.xalan.templates.ElemCallTemplate.execute (ElemCallTemplate.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java (Compiled Code)) at org.apache.xalan.templates.ElemCallTemplate.execute (ElemCallTemplate.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transformNode (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java(Compiled Code)) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java(Compiled Code)) at Converter.xslt(Converter.java(Compiled Code)) at Converter.run(Converter.java(Compiled Code)) at Converter.run(Converter.java(Compiled Code)) This code works without errors. But it should not work in multithread application (API): static private Transformer trans = null; ... if (trans == null) { try { trans = tfactory.newTransformer(new StreamSource(xslUrl)); } catch (TransformerConfigurationException e) { throw new SevereConverterException(...); } } In run () we use transform ()-method: No errors. Regards, Joachim Unger
