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

the robotframwork plugin throws an exception when parsing output.xml

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • robot-plugin
    • None
    • 3.3.0

      when i run my testcases the try to publish the tobot results using the plugin i fails to parse giving this :

      Robot results publisher started...
      -Parsing output xml:
      ERROR: Build step failed with exception
      Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to telefonica-Cats-Lab3
      at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
      at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
      at hudson.remoting.Channel.call(Channel.java:1000)
      at hudson.FilePath.act(FilePath.java:1194)
      at hudson.FilePath.act(FilePath.java:1183)
      at hudson.plugins.robot.RobotParser.parse(RobotParser.java:48)
      at hudson.plugins.robot.RobotPublisher.parse(RobotPublisher.java:245)
      at hudson.plugins.robot.RobotPublisher.perform(RobotPublisher.java:267)
      at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
      at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:816)
      at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:765)
      at hudson.model.Build$BuildExecution.post2(Build.java:179)
      at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:709)
      at hudson.model.Run.execute(Run.java:1922)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
      at hudson.model.ResourceController.execute(ResourceController.java:101)
      at hudson.model.Executor.run(Executor.java:442)
      java.lang.IllegalStateException: Not a textual event (END_ELEMENT)
      at com.ctc.wstx.sr.BasicStreamReader.throwNotTextual(BasicStreamReader.java:5595)
      at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:891)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.processArgs(RobotParser.java:516)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:475)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:482)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:482)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.processTest(RobotParser.java:302)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.processSuite(RobotParser.java:153)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.parseResult(RobotParser.java:121)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:97)
      at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:52)
      at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3502)
      at hudson.remoting.UserRequest.perform(UserRequest.java:211)
      at hudson.remoting.UserRequest.perform(UserRequest.java:54)
      at hudson.remoting.Request$2.run(Request.java:376)
      at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      at java.base/java.lang.Thread.run(Thread.java:834)
      Build step 'Publish Robot Framework test results' marked build as failure

       

      after an initial investigation  and not 100% sure the issue with a keyword we use alot in robot framework which has the following as argument:

      def disconnect(self):
              self.__save_current_index()
              try:
                  self.__switch_to_my_connection()
                  self.BI.run_keyword("SSHLibrary.Write Bare", chr(int(3)))
                  self.BI.run_keyword("SSHLibrary.Write Bare", "exit\n")
                  self.BI.run_keyword("SSHLibrary.Close Connection")
                  self.__my_index = None

      that the argument chr(int(3)) isnt considered textual somehow

      and may be the fix be around line 515 in the java code

      of course i may be wrong but when i run another test doesnt have this keyword it works fine

       

      the output xml is attached

          [JENKINS-69544] the robotframwork plugin throws an exception when parsing output.xml

          moataz elshorbagy created issue -
          moataz elshorbagy made changes -
          Description Original: when i run my testcases the try to publish the tobot results using the plugin i fails to parse giving this :


          Robot results publisher started...
          -Parsing output xml:
          ERROR: Build step failed with exception
          Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to telefonica-Cats-Lab3
          at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
          at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
          at hudson.remoting.Channel.call(Channel.java:1000)
          at hudson.FilePath.act(FilePath.java:1194)
          at hudson.FilePath.act(FilePath.java:1183)
          at hudson.plugins.robot.RobotParser.parse(RobotParser.java:48)
          at hudson.plugins.robot.RobotPublisher.parse(RobotPublisher.java:245)
          at hudson.plugins.robot.RobotPublisher.perform(RobotPublisher.java:267)
          at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
          at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
          at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:816)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:765)
          at hudson.model.Build$BuildExecution.post2(Build.java:179)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:709)
          at hudson.model.Run.execute(Run.java:1922)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
          at hudson.model.ResourceController.execute(ResourceController.java:101)
          at hudson.model.Executor.run(Executor.java:442)
          java.lang.IllegalStateException: Not a textual event (END_ELEMENT)
          at com.ctc.wstx.sr.BasicStreamReader.throwNotTextual(BasicStreamReader.java:5595)
          at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:891)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processArgs(RobotParser.java:516)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:475)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:482)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:482)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processTest(RobotParser.java:302)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processSuite(RobotParser.java:153)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.parseResult(RobotParser.java:121)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:97)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:52)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3502)
          at hudson.remoting.UserRequest.perform(UserRequest.java:211)
          at hudson.remoting.UserRequest.perform(UserRequest.java:54)
          at hudson.remoting.Request$2.run(Request.java:376)
          at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
          at java.base/java.lang.Thread.run(Thread.java:834)
          Build step 'Publish Robot Framework test results' marked build as failure


           

          after an initial investigation  and not 100% sure the issue with a keyword we use alot in robot framework which has the following as argument:

          {color:#ffffff}def disconnect(self):{color}
          {color:#ffffff}        self.__save_current_index(){color}
          {color:#ffffff}        try:{color}
          {color:#ffffff}            self.__switch_to_my_connection(){color}
          {color:#ffffff}            self.BI.run_keyword("SSHLibrary.Write Bare", {color:#FF0000}chr(int(3)){color}){color}
          {color:#ffffff}            self.BI.run_keyword("SSHLibrary.Write Bare", "exit\n"){color}
          {color:#ffffff}            self.BI.run_keyword("SSHLibrary.Close Connection"){color}
          {color:#ffffff}            self.__my_index = None{color}



          that the argument {color:#ffffff}{color:#FF0000}chr(int(3)){color}{color} isnt considered textual somehow

          and may be the fix be around line 515 in the java code

          of course i may be wrong but when i run another test doesnt have this keyword it works fine

           

          the output xml is attached
          New: when i run my testcases the try to publish the tobot results using the plugin i fails to parse giving this :

          Robot results publisher started...
          -Parsing output xml:
          ERROR: Build step failed with exception
          Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to telefonica-Cats-Lab3
          at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
          at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
          at hudson.remoting.Channel.call(Channel.java:1000)
          at hudson.FilePath.act(FilePath.java:1194)
          at hudson.FilePath.act(FilePath.java:1183)
          at hudson.plugins.robot.RobotParser.parse(RobotParser.java:48)
          at hudson.plugins.robot.RobotPublisher.parse(RobotPublisher.java:245)
          at hudson.plugins.robot.RobotPublisher.perform(RobotPublisher.java:267)
          at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
          at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
          at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:816)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:765)
          at hudson.model.Build$BuildExecution.post2(Build.java:179)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:709)
          at hudson.model.Run.execute(Run.java:1922)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
          at hudson.model.ResourceController.execute(ResourceController.java:101)
          at hudson.model.Executor.run(Executor.java:442)
          java.lang.IllegalStateException: Not a textual event (END_ELEMENT)
          at com.ctc.wstx.sr.BasicStreamReader.throwNotTextual(BasicStreamReader.java:5595)
          at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:891)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processArgs(RobotParser.java:516)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:475)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:482)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processKeyword(RobotParser.java:482)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processTest(RobotParser.java:302)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.processSuite(RobotParser.java:153)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.parseResult(RobotParser.java:121)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:97)
          at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:52)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3502)
          at hudson.remoting.UserRequest.perform(UserRequest.java:211)
          at hudson.remoting.UserRequest.perform(UserRequest.java:54)
          at hudson.remoting.Request$2.run(Request.java:376)
          at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
          at java.base/java.lang.Thread.run(Thread.java:834)
          Build step 'Publish Robot Framework test results' marked build as failure

           

          after an initial investigation  and not 100% sure the issue with a keyword we use alot in robot framework which has the following as argument:

          {color:#172b4d}def disconnect(self):{color}
          {color:#172b4d}        self.__save_current_index(){color}
          {color:#172b4d}        {color}try:
                      self.__switch_to_my_connection()
                      self.BI.run_keyword("SSHLibrary.Write Bare", chr(int(3)))
                      self.BI.run_keyword("SSHLibrary.Write Bare", "exit\n")
                      self.BI.run_keyword("SSHLibrary.Close Connection")
          {color:#ffffff}            self.__my_index = None{color}

          that the argument {color:#172b4d}chr(int(3)) {color}isnt considered textual somehow

          and may be the fix be around line 515 in the java code

          of course i may be wrong but when i run another test doesnt have this keyword it works fine

           

          the output xml is attached
          Aleksi Simell made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Aleksi Simell made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]
          Aleksi Simell made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Review [ 10005 ] New: Fixed but Unreleased [ 10203 ]
          Aleksi Simell made changes -
          Released As New: 3.3.0
          Status Original: Fixed but Unreleased [ 10203 ] New: Resolved [ 5 ]
          Aleksi Simell made changes -
          Status Original: Resolved [ 5 ] New: Closed [ 6 ]

            aleksisimell Aleksi Simell
            mo3tazsame7 moataz elshorbagy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: