• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • p4-plugin
    • None

      I'm relatively new to Hudson. There is a particular job that would fail out with the below shown exception but the other jobs would not. This happens with a hit rate of 100% and not an one-off issue. I fear it could be due to a erroneous string parsing while going through the output of 'p4 describe'. If I change the "last changelist to track' to the latest changelist so as to avoid a lot of 'p4 describe' tasks and as expected it just goes through fine.
      If the above speculaion is true then is there a way to track down using hudson logs(where would this be?) on which string does this happen?

      Caught exception communicating with perforce. Failed to retrieve changelist.com.tek42.perforce.PerforceException: Failed to retrieve changelist.
      at com.tek42.perforce.parse.ChangelistBuilder.build(ChangelistBuilder.java:185)
      at com.tek42.perforce.parse.Changes.getChangelist(Changes.java:63)
      at com.tek42.perforce.parse.Changes.getChangelistsFromNumbers(Changes.java:381)
      at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:565)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1116)
      at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
      at hudson.model.Run.run(Run.java:1324)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:139)
      Caused by: java.util.NoSuchElementException
      at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
      at com.tek42.perforce.parse.ChangelistBuilder.build(ChangelistBuilder.java:95)
      ... 10 more
      ERROR: Unable to communicate with perforce. Failed to retrieve changelist.

          [JENKINS-8245] Error retrieving perforce change lists

          Rob Petti added a comment -

          The job log will have plenty of "p4 describe" lines when it's pulling out changes. Just look for the one immediately above this error message, and that will tell you what changeset it's failing on.

          You haven't supplied your p4d, perforce plugin, and hudson versions. Can you provide those please? Stack traces aren't really helpful if I don't know what version to look at.

          Rob Petti added a comment - The job log will have plenty of "p4 describe" lines when it's pulling out changes. Just look for the one immediately above this error message, and that will tell you what changeset it's failing on. You haven't supplied your p4d, perforce plugin, and hudson versions. Can you provide those please? Stack traces aren't really helpful if I don't know what version to look at.

          vkolapan added a comment -

          P4/LINUX26X86/2007.3/143793
          Hudson 1.383
          perforce plugin 1.1.11

          Yes I did see a long list of P4 describes and the one that failed has enormous amounts of text .

          vkolapan added a comment - P4/LINUX26X86/2007.3/143793 Hudson 1.383 perforce plugin 1.1.11 Yes I did see a long list of P4 describes and the one that failed has enormous amounts of text .

          Rob Petti added a comment -

          How enormous are we talking here? From looking at the stack trace, it looks like the output from p4 describe is getting truncated for some reason.

          There's a known issue with 1.378 and up that is causing remote streams to get randomly truncated, so that might be the cause here.

          Rob Petti added a comment - How enormous are we talking here? From looking at the stack trace, it looks like the output from p4 describe is getting truncated for some reason. There's a known issue with 1.378 and up that is causing remote streams to get randomly truncated, so that might be the cause here.

          vkolapan added a comment - - edited

          Its about 217 lines or 15 Kilobytes of text. Also if these are 'random' truncations how am I hitting this issue all the time? Also as a side note, the text contains lot of asterisks '*' and dots '.' and other special characters, which may potentially thwart the regex.

          vkolapan added a comment - - edited Its about 217 lines or 15 Kilobytes of text. Also if these are 'random' truncations how am I hitting this issue all the time? Also as a side note, the text contains lot of asterisks '*' and dots '.' and other special characters, which may potentially thwart the regex.

          Rob Petti added a comment -

          15 MB is a lot of data to handle when there are random truncations happening. It's far more likely that it would happen during a large dump, than a small one. There also simply might be some problem with the remoting functions of hudson that are causing it to fail all the time with a stream that long.

          I'm fairly certain the output is getting truncated, since the stack trace doesn't suggest a parsing issue of any kind. I can maybe code around the exception so your builds can continue, but that will still leave you with a broken change in the changelog.

          Rob Petti added a comment - 15 MB is a lot of data to handle when there are random truncations happening. It's far more likely that it would happen during a large dump, than a small one. There also simply might be some problem with the remoting functions of hudson that are causing it to fail all the time with a stream that long. I'm fairly certain the output is getting truncated, since the stack trace doesn't suggest a parsing issue of any kind. I can maybe code around the exception so your builds can continue, but that will still leave you with a broken change in the changelog.

          Rob Petti added a comment -

          Linking to steam truncation issue in core.

          Rob Petti added a comment - Linking to steam truncation issue in core.

          Rob Petti added a comment -

          Come to think of it, you may want to try installing kohsuke's build of the perforce plugin in issue JENKINS-7664. It has a fix that seems to help reduce the severity of the problem.

          Rob Petti added a comment - Come to think of it, you may want to try installing kohsuke's build of the perforce plugin in issue JENKINS-7664 . It has a fix that seems to help reduce the severity of the problem.

          vkolapan added a comment -

          Sorry, it is 15KB and not 15000 KB. Will check out the perforce plugin u had suggested. Thanks.

          vkolapan added a comment - Sorry, it is 15KB and not 15000 KB. Will check out the perforce plugin u had suggested. Thanks.

          vkolapan added a comment -

          The perforce plugin you had suggested did go past the point where it was crashing and its not been crashing with that specific error for any of the P4 describes. So its working right now. Thanks a ton rpetti.

          vkolapan added a comment - The perforce plugin you had suggested did go past the point where it was crashing and its not been crashing with that specific error for any of the P4 describes. So its working right now. Thanks a ton rpetti.

          Rob Petti added a comment -

          Good to hear. Kohsuke's fix has been committed to source, so 1.1.13 and beyond should work as well.

          Rob Petti added a comment - Good to hear. Kohsuke's fix has been committed to source, so 1.1.13 and beyond should work as well.

          vkolapan added a comment -

          when can I expect to see 1.1.13 on my updates page?

          vkolapan added a comment - when can I expect to see 1.1.13 on my updates page?

          Rob Petti added a comment -

          That's odd, I released it yesterday... I guess the release didn't work properly for some reason.

          Rob Petti added a comment - That's odd, I released it yesterday... I guess the release didn't work properly for some reason.

          Rob Petti added a comment -

          Resolving for now, feel free to reopen if it shows up again.

          Rob Petti added a comment - Resolving for now, feel free to reopen if it shows up again.

            rpetti Rob Petti
            vkolapan vkolapan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: