-
Bug
-
Resolution: Unresolved
-
Major
-
None
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.
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.