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

Cannot parse Where map on windows

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Jenkins Perforce plugin can not parse where map on windows slave. It is not problem to do it on any other slave (running customized ubuntu), so problem is likely not on server. Tried multiple versions of P4 client (currently 2016.1).

      $ p4 -G where //...
      Caught exception communicating with perforce. Could not parse Where map.com.tek42.perforce.PerforceException: Could not parse Where map.
      at hudson.plugins.perforce.PerforceSCMHelper.parseWhereMapping(PerforceSCMHelper.java:174)
      at com.tek42.perforce.parse.Changes.calculateWorkspacePaths(Changes.java:83)
      at com.tek42.perforce.parse.Changes.getChangelist(Changes.java:72)
      at com.tek42.perforce.parse.Changes.getChangelistsFromNumbers(Changes.java:431)
      at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:1073)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
      at hudson.model.Run.execute(Run.java:1738)
      at hudson.matrix.MatrixBuild.run(MatrixBuild.java:301)
      at hudson.model.ResourceController.execute(ResourceController.java:98)
      at hudson.model.Executor.run(Executor.java:410)
      Caused by: java.io.IOException: Expected 's', but got '108'.
      at hudson.plugins.perforce.PerforceSCMHelper.readPythonDictionary(PerforceSCMHelper.java:113)
      at hudson.plugins.perforce.PerforceSCMHelper.parseWhereMapping(PerforceSCMHelper.java:149)
      ... 12 more
      ERROR: Unable to communicate with perforce. Could not parse Where map.

        Attachments

          Activity

          Hide
          rpetti Rob Petti added a comment -

          Your client is outputting unexpected information. -G should always produce a marshalled python dictionary with strings for keys and strings or ints for values, but for some reason yours has a key that's a long. Documentation on this format is incredibly lax, so the unmarshal implementation in the perforce-plugin isn't complete.

          In any event, without a copy of the offending data there's not much that can be done.

          You should really consider switching to the official p4-plugin. This one is not really maintained anymore.

          Show
          rpetti Rob Petti added a comment - Your client is outputting unexpected information. -G should always produce a marshalled python dictionary with strings for keys and strings or ints for values, but for some reason yours has a key that's a long. Documentation on this format is incredibly lax, so the unmarshal implementation in the perforce-plugin isn't complete. In any event, without a copy of the offending data there's not much that can be done. You should really consider switching to the official p4-plugin. This one is not really maintained anymore.

            People

            • Assignee:
              Unassigned
              Reporter:
              okunc Ondrej Kunc
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: