Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-61220

plugin version 2.1.0 can not parse output.xml any more

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • robot-plugin
    • None
    • windows server 2012 R2, Jenkins ver. 2.204.2, robotframework==3.1.2
    • 2.1.1

      i found a regression in robot-plugin version 2.1.0, which can be solved by rollback to version 2.0.1.

      D:\Jenkins\workspace\DMM-CID_dev>exit 0 
      Robot results publisher started...
      -Parsing output xml:
      Failed!
      java.io.IOException: Parsing of output xml failed!
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:104)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:54)
      	at hudson.FilePath.act(FilePath.java:1075)
      	at hudson.FilePath.act(FilePath.java:1058)
      	at hudson.plugins.robot.RobotParser.parse(RobotParser.java:49)
      	at hudson.plugins.robot.RobotPublisher.parse(RobotPublisher.java:221)
      	at hudson.plugins.robot.RobotPublisher.perform(RobotPublisher.java:243)
      	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
      	at hudson.model.Build$BuildExecution.post2(Build.java:186)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
      	at hudson.model.Run.execute(Run.java:1878)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:97)
      	at hudson.model.Executor.run(Executor.java:427)
      Caused by: javax.xml.stream.XMLStreamException: Illegal xml input. Could not find end of element status. Unexpected end of element kw (at line: 36 column: 1)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.xmlException(RobotParser.java:179)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.ignoreUntilEnds(RobotParser.java:251)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.processTest(RobotParser.java:313)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.processSuite(RobotParser.java:155)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.processSuite(RobotParser.java:153)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.processSuite(RobotParser.java:153)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.parseResult(RobotParser.java:123)
      	at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:99)
      	... 16 more
      Build step 'Publish Robot Framework test results' changed build result to FAILURE
      

      robotframework==3.1.2

          [JENKINS-61220] plugin version 2.1.0 can not parse output.xml any more

          Dirk Richter added a comment -

          Dirk Richter added a comment - see also https://github.com/jenkinsci/robot-plugin/pull/26#issuecomment-590851197

          Aleksi Simell added a comment -

          I'm still trying to reproduce this. According to Robot Framework 3.1 release notes there was a change to output.xml creation, but I would've imagined this issue had risen already back then.

          Aleksi Simell added a comment - I'm still trying to reproduce this. According to  Robot Framework 3.1 release notes there was a change to output.xml creation, but I would've imagined this issue had risen already back then.

          Dirk Richter added a comment -

          i'm not sure if the reason is a change in robotframework, because rollback to robot-plugin 2.0.1 works perfect (output.xml can be parsed then)

          Dirk Richter added a comment - i'm not sure if the reason is a change in robotframework, because rollback to robot-plugin 2.0.1 works perfect (output.xml can be parsed then)

          Aleksi Simell added a comment -

          Don't know, but I still need an output.xml file which the plugin cannot parse

          Aleksi Simell added a comment - Don't know, but I still need an output.xml file which the plugin cannot parse

          Dirk Richter added a comment -

          more analysis showed, that on this point a kw starts with an embedded stacktrace, maybe this is the reason:

          <kw name="Get In Run" library="Configuration">
          <doc>Gets the value of the shared run-variable named *key*</doc>
          <arguments>
          <arg>DMMVersion</arg>
          <arg>default=${EMPTY}</arg>
          </arguments>
          <assign>
          <var>${v}</var>
          </assign>
          <msg timestamp="20200226 10:47:44.557" level="TRACE">Arguments: [ 'DMMVersion' | default='' ]</msg>
          <msg timestamp="20200226 10:47:44.557" level="INFO">GetInRun D:\CID.Artemis\Files\NTA\Robot\temp/200226runShare_dev62.yaml@DMMVersion =&gt;  ... 
          GetRunShare D:\CID.Artemis\Files\NTA\Robot\temp/200226runShare_dev62.yaml
          Traceback (most recent call last):
            File "D:\CID.Artemis\Files\NTA\Robot\Lib\Configuration.py", line 76, in GetRunShare
              with open(self.runShareFile, 'r', encoding='UTF-8') as stream:
          FileNotFoundError: [Errno 2] No such file or directory: 'D:\\CID.Artemis\\Files\\NTA\\Robot\\temp/200226runShare_dev62.yaml'
             =&gt; {}
          GetInRun D:\CID.Artemis\Files\NTA\Robot\temp/200226runShare_dev62.yaml@DMMVersion =&gt;</msg>
          <msg timestamp="20200226 10:47:44.557" level="TRACE">Return: ''</msg>
          <msg timestamp="20200226 10:47:44.557" level="INFO">${v} = </msg>
          <status status="PASS" starttime="20200226 10:47:44.557" endtime="20200226 10:47:44.557"></status>
          </kw>
          

          i'll try to create a micro-demo sample for this...

          Dirk Richter added a comment - more analysis showed, that on this point a kw starts with an embedded stacktrace, maybe this is the reason: <kw name="Get In Run" library="Configuration"> <doc>Gets the value of the shared run-variable named *key*</doc> <arguments> <arg>DMMVersion</arg> <arg>default=${EMPTY}</arg> </arguments> <assign> <var>${v}</var> </assign> <msg timestamp="20200226 10:47:44.557" level="TRACE">Arguments: [ 'DMMVersion' | default='' ]</msg> <msg timestamp="20200226 10:47:44.557" level="INFO">GetInRun D:\CID.Artemis\Files\NTA\Robot\temp/200226runShare_dev62.yaml@DMMVersion =&gt; ... GetRunShare D:\CID.Artemis\Files\NTA\Robot\temp/200226runShare_dev62.yaml Traceback (most recent call last): File "D:\CID.Artemis\Files\NTA\Robot\Lib\Configuration.py", line 76, in GetRunShare with open(self.runShareFile, 'r', encoding='UTF-8') as stream: FileNotFoundError: [Errno 2] No such file or directory: 'D:\\CID.Artemis\\Files\\NTA\\Robot\\temp/200226runShare_dev62.yaml' =&gt; {} GetInRun D:\CID.Artemis\Files\NTA\Robot\temp/200226runShare_dev62.yaml@DMMVersion =&gt;</msg> <msg timestamp="20200226 10:47:44.557" level="TRACE">Return: ''</msg> <msg timestamp="20200226 10:47:44.557" level="INFO">${v} = </msg> <status status="PASS" starttime="20200226 10:47:44.557" endtime="20200226 10:47:44.557"></status> </kw> i'll try to create a micro-demo sample for this...

          Aleksi Simell added a comment -

          My colleague also reproduced this and he provided me with his output.xml and I was able to reproduce this as well. I'm investigating this.

          Aleksi Simell added a comment - My colleague also reproduced this and he provided me with his output.xml and I was able to reproduce this as well. I'm investigating this.

          Aleksi Simell added a comment -

          https://github.com/jenkinsci/robot-plugin/pull/29 Has been created to resolve this issue.

          Aleksi Simell added a comment - https://github.com/jenkinsci/robot-plugin/pull/29  Has been created to resolve this issue.

          Aleksi Simell added a comment -

          Fix released as 2.1.1 (will be available in update-center in several hours).

          Aleksi Simell added a comment - Fix released as 2.1.1 (will be available in update-center in several hours).

          João Castelo added a comment -

          Hi. I left a comment on issue 62359 (i believe it's the same problem).

          I'm still having this same issue with robot framework 3.1.2, python 3.8 and Robot Framework plugin 2.1.1 Any suggestion/idea what can i do to check/solve this?

           

          Thank you  

          João Castelo added a comment - Hi. I left a comment on issue 62359 (i believe it's the same problem). I'm still having this same issue with robot framework 3.1.2, python 3.8 and Robot Framework plugin 2.1.1 Any suggestion/idea what can i do to check/solve this?   Thank you  

          Aleksi Simell added a comment -

          joaoppcastelo Hi, I'll close this ticket and let's continue discussion in JENKINS-62359.

          Aleksi Simell added a comment - joaoppcastelo Hi, I'll close this ticket and let's continue discussion in JENKINS-62359 .

            aleksisimell Aleksi Simell
            dirkrichter Dirk Richter
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: