• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • fitnesse-plugin
    • None
    • Centos 6.4

      A few days ago one of my FitNesse test builds started producing corrupt XML logs, such that at the conclusion of the first result element the entire file to that point repeated itself, starting with the initial <?xml element, following which no more output was produced (see attachment).

      This of course resulted in the Jenkins build failing, because the XML file was corrupt.

      My other FitNesse test builds are continuing to perform normally. I've made changes to FitNesse recently, but not the Jenkins build configuration. The tests continue to run fine when run as a suite from the FitNesse web interface.

          [JENKINS-20174] Corrupt FitNesse plugin XML report generated

          I have same problem with Fitnesse plugin version 1.8., Jenkins 1.523

          same pb in my xml file.
          It looks like jenkins is writing two time same downloaded xml content into file.

          My tests take 4 hours to run (this is expected)

          Here is standard output.

          Started by timer
          Building in workspace C:\Users\Administrator\.jenkins\workspace\FITNESSE_XXXX

          Deleting project workspace... done

          hudson.plugins.fitnesse.FitnesseBuilder:

          {fitnesseTargetPage=XXXX.SuiteIteration19&suiteFilter=ECRAN_XXXX, fitnesseTargetIsSuite=true, fitnesseHost=XXXX, fitnesseHttpTimeout=48000000, fitnessePortRemote=8080, fitnesseStart=False, fitnessePathToXmlResultsOut=fitnesse-results.xml}

          Connnecting to http://XXXX:8080/XXXX.SuiteIteration19?suite&suiteFilter=ECRAN_XXXX&format=xml&includehtml
          Connected: 200/OK
          2k...
          5k...
          8k...
          11k...

          2334k...
          2337k...
          2342k...
          2345k...
          Xml results saved as windows-1252 to C:\Users\Administrator\.jenkins\workspace\FITNESSE_XXXX\fitnesse-results.xml
          Reading results as windows-1252 from C:\Users\Administrator\.jenkins\workspace\FITNESSE_XXXX\fitnesse-results.xml
          Parsing results...
          javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25)
          at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
          at hudson.model.Run.execute(Run.java:1618)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:247)
          Caused by: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source)
          ... 16 more
          Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          ... 17 more
          ---------
          javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25)
          at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
          at hudson.model.Run.execute(Run.java:1618)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:247)
          Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          ... 17 more
          ---------
          com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25)
          at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
          at hudson.model.Run.execute(Run.java:1618)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:247)
          ---------
          org.xml.sax.SAXParseException; lineNumber: 40188; columnNumber: 8; The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
          at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25)
          at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
          at hudson.model.Run.execute(Run.java:1618)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:247)
          ---------
          com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25)
          at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
          at hudson.model.Run.execute(Run.java:1618)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:247)
          ---------
          org.xml.sax.SAXParseException; lineNumber: 40188; columnNumber: 8; The processing instruction target matching "[xX][mM][lL]" is not allowed.
          at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
          at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
          at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
          at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
          at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25)
          at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109)
          at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
          at hudson.model.Run.execute(Run.java:1618)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:247)
          Build step 'Publish Fitnesse results report' changed build result to FAILURE
          Build step 'Publish Fitnesse results report' marked build as failure

          Thierry Sorgnard added a comment - I have same problem with Fitnesse plugin version 1.8., Jenkins 1.523 same pb in my xml file. It looks like jenkins is writing two time same downloaded xml content into file. My tests take 4 hours to run (this is expected) Here is standard output. Started by timer Building in workspace C:\Users\Administrator\.jenkins\workspace\FITNESSE_XXXX Deleting project workspace... done hudson.plugins.fitnesse.FitnesseBuilder: {fitnesseTargetPage=XXXX.SuiteIteration19&suiteFilter=ECRAN_XXXX, fitnesseTargetIsSuite=true, fitnesseHost=XXXX, fitnesseHttpTimeout=48000000, fitnessePortRemote=8080, fitnesseStart=False, fitnessePathToXmlResultsOut=fitnesse-results.xml} Connnecting to http://XXXX:8080/XXXX.SuiteIteration19?suite&suiteFilter=ECRAN_XXXX&format=xml&includehtml Connected: 200/OK 2k... 5k... 8k... 11k... 2334k... 2337k... 2342k... 2345k... Xml results saved as windows-1252 to C:\Users\Administrator\.jenkins\workspace\FITNESSE_XXXX\fitnesse-results.xml Reading results as windows-1252 from C:\Users\Administrator\.jenkins\workspace\FITNESSE_XXXX\fitnesse-results.xml Parsing results... javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25) at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109) at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1618) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) Caused by: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source) ... 16 more Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) ... 17 more --------- javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25) at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109) at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1618) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) ... 17 more --------- com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25) at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109) at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1618) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) --------- org.xml.sax.SAXParseException; lineNumber: 40188; columnNumber: 8; The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25) at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109) at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1618) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) --------- com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25) at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109) at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1618) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) --------- org.xml.sax.SAXParseException; lineNumber: 40188; columnNumber: 8; The processing instruction target matching " [xX] [mM] [lL] " is not allowed. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at hudson.plugins.fitnesse.NativePageCountsParser.transformRawResults(NativePageCountsParser.java:25) at hudson.plugins.fitnesse.NativePageCountsParser.parse(NativePageCountsParser.java:17) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:131) at hudson.plugins.fitnesse.FitnesseResultsRecorder.getResults(FitnesseResultsRecorder.java:109) at hudson.plugins.fitnesse.FitnesseResultsRecorder.perform(FitnesseResultsRecorder.java:73) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1618) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) Build step 'Publish Fitnesse results report' changed build result to FAILURE Build step 'Publish Fitnesse results report' marked build as failure

          To fix this issue, you can add this groovy script between the Fitnesse tests execution and the Fitnesse publish result report step. It create a new result file.

           
          def head = 0
          def lines = new File( 'fitnesse_tmp_result.xml' ).readLines()
          lines = lines.findAll{ line ->
            if (line == '<?xml version="1.0"?>') head++
            return head == 1
          }
          
          new File( 'fitnesse_result.xml' ).withWriter { w ->
            lines.each{ line ->
              w.write(line + '\n')
            }
          }
          

          Antoine Aumjaud added a comment - To fix this issue, you can add this groovy script between the Fitnesse tests execution and the Fitnesse publish result report step. It create a new result file. def head = 0 def lines = new File( 'fitnesse_tmp_result.xml' ).readLines() lines = lines.findAll{ line -> if (line == '<?xml version= "1.0" ?>' ) head++ return head == 1 } new File( 'fitnesse_result.xml' ).withWriter { w -> lines.each{ line -> w.write(line + '\n' ) } }

          David JL added a comment -

          Thanks for your answer Antoine!
          However, I'm not exactly sure where I'm suppose to insert said groovy script. Could you provide some guidance?

          David JL added a comment - Thanks for your answer Antoine! However, I'm not exactly sure where I'm suppose to insert said groovy script. Could you provide some guidance?

          Antoine Aumjaud added a comment - - edited

          Hello David,

          You can use this Groovy script to fix this issue, for this you should:

          • Install Jenkins Groovy plugin in your Jenkins - https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin
          • Configure Groovy Jenkins Administration (Choose Install automatically)
          • In your Jenkins job, add a "Execute Groovy script" step after the "Execute Fitnesse tests" step
          • Select "Groovy command" and copy past this groovy script (you must change fitnesse_tmp_result.xml by output fitnesse file used in "Execute Fitnesse tests" and fitnesse_result.xml by the name you put in "Publish Fitnesse result report".
            That's all.

          I have checked quickly in the source code for the reason of this issue, but I haven't find yet. I can reproduce this bug, so, as soon as possible, I will debug the code.
          Regards,

          Antoine Aumjaud added a comment - - edited Hello David, You can use this Groovy script to fix this issue, for this you should: Install Jenkins Groovy plugin in your Jenkins - https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin Configure Groovy Jenkins Administration (Choose Install automatically) In your Jenkins job, add a "Execute Groovy script" step after the "Execute Fitnesse tests" step Select "Groovy command" and copy past this groovy script (you must change fitnesse_tmp_result.xml by output fitnesse file used in "Execute Fitnesse tests" and fitnesse_result.xml by the name you put in "Publish Fitnesse result report". That's all. I have checked quickly in the source code for the reason of this issue, but I haven't find yet. I can reproduce this bug, so, as soon as possible, I will debug the code. Regards,

          David JL added a comment -

          Haha, I was unfamiliar with the Groovy plugin and thought you were just using 'groovy' as an adjective.

          Thanks a lot for the answer, trying it out now.

          Regards

          David JL added a comment - Haha, I was unfamiliar with the Groovy plugin and thought you were just using 'groovy' as an adjective. Thanks a lot for the answer, trying it out now. Regards

          David JL added a comment - - edited

          I managed to install groovy and get the scripts to execute correctly via Jenkins. However I now have the following issue:

          Xml results saved as windows-1252 to C:\Users\Administrator\.jenkins\workspace[JOB]\fitnesse_tmp_result.xml
          [[JOB]] $ "C:\Program Files (x86)\Groovy\Groovy-2.3.2\bin\groovy.exe" C:\Users\Administrator\.jenkins\workspace[JOB]\hudson7296783988754375979.groovy
          Reading results as windows-1252 from C:\Users\Administrator\.jenkins\workspace[JOB]\fitnesse_result.xml
          Parsing results...
          javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Invalid byte 2 of 3-byte UTF-8 sequence.

          It would appear the file produced by the groovy script has some sort of encoding issue.

          Still trying to figure this one out.

          David JL added a comment - - edited I managed to install groovy and get the scripts to execute correctly via Jenkins. However I now have the following issue: Xml results saved as windows-1252 to C:\Users\Administrator\.jenkins\workspace[JOB]\fitnesse_tmp_result.xml [ [JOB] ] $ "C:\Program Files (x86)\Groovy\Groovy-2.3.2\bin\groovy.exe" C:\Users\Administrator\.jenkins\workspace[JOB]\hudson7296783988754375979.groovy Reading results as windows-1252 from C:\Users\Administrator\.jenkins\workspace[JOB]\fitnesse_result.xml Parsing results... javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Invalid byte 2 of 3-byte UTF-8 sequence. It would appear the file produced by the groovy script has some sort of encoding issue. Still trying to figure this one out.

          I think it is an encoding issue of the new file

          You can try this script:
          def encoding = System.getProperty("file.encoding")
          new File('fitnesse_tmp_result.xml').withReader(encoding) { reader ->
          new File('fitnesse_result.xml').withWriter(encoding) { writer ->
          def found = 0;
          while ((line = reader.readLine()) != null)

          { if(line == "<?xml version=\"1.0\"?>" && ++found == 2) break writer.writeLine(line) }

          }}

          If it doesn't work, you can try to set directly the encoding variable to the real file endoding of fitnesse_tmp_result.xml, e.g. def encoding = "UTF-8"

          Antoine Aumjaud added a comment - I think it is an encoding issue of the new file You can try this script: def encoding = System.getProperty("file.encoding") new File('fitnesse_tmp_result.xml').withReader(encoding) { reader -> new File('fitnesse_result.xml').withWriter(encoding) { writer -> def found = 0; while ((line = reader.readLine()) != null) { if(line == "<?xml version=\"1.0\"?>" && ++found == 2) break writer.writeLine(line) } }} If it doesn't work, you can try to set directly the encoding variable to the real file endoding of fitnesse_tmp_result.xml, e.g. def encoding = "UTF-8"

            Unassigned Unassigned
            michael_grant Michael Grant
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: