java.io.IOException: Unable to communicate with perforce. Error in client specification. Error detected at line 7. Null directory (//) not allowed in '///...'. For Command: p4 -s client -i With Data: =================== Client: Description: Root: /opt/hudson/data/jobs/dynamo/workspace/ Options: LineEnd: View: //depot/products/dynamo/... ///... ===================

Jenkins JIRA | edawid | 9 years ago
  1. 0

    The perforce plugin 1.0.5 and previous versions fail to setup the client spec correctly and hence cannot sync/checkout the source code. The workspace object retrieved in the "checkout" method is completely un-initialised: Workspace p4workspace = getDepot().getWorkspaces().getWorkspace(p4Client); Here the exception output: Performing sync with Perforce for: //depot/products/dynamo/... Changing P4 Client Root to: /opt/hudson/data/jobs/dynamo/workspace/ Changing P4 Client View to: //depot/products/dynamo/... ///... ... java.io.IOException: Unable to communicate with perforce. Error in client specification. Error detected at line 7. Null directory (//) not allowed in '///...'. For Command: p4 -s client -i With Data: =================== Client: Description: Root: /opt/hudson/data/jobs/dynamo/workspace/ Options: LineEnd: View: //depot/products/dynamo/... ///... =================== at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:260) at hudson.model.AbstractProject.checkout(AbstractProject.java:541) at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:223) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:189) at hudson.model.Run.run(Run.java:649) at hudson.model.Build.run(Build.java:102) at hudson.model.ResourceController.execute(ResourceController.java:70) at hudson.model.Executor.run(Executor.java:64) The perforce client binary displays this version (just in case): Perforce - The Fast Software Configuration Management System. Copyright 1995, 2002 Perforce Software. All rights reserved. Rev. P4/LINUX24X86/2003.1/46260 (2003/07/03). I currently have a workaround in place where i set the values from the configuration in PerforceSCM if they are unset: if ( p4workspace == null || p4workspace.length < 1) { p4workspace.setName(p4Client); ... } Cheers Eike

    Jenkins JIRA | 9 years ago | edawid
    java.io.IOException: Unable to communicate with perforce. Error in client specification. Error detected at line 7. Null directory (//) not allowed in '///...'. For Command: p4 -s client -i With Data: =================== Client: Description: Root: /opt/hudson/data/jobs/dynamo/workspace/ Options: LineEnd: View: //depot/products/dynamo/... ///... ===================
  2. 0

    The perforce plugin 1.0.5 and previous versions fail to setup the client spec correctly and hence cannot sync/checkout the source code. The workspace object retrieved in the "checkout" method is completely un-initialised: Workspace p4workspace = getDepot().getWorkspaces().getWorkspace(p4Client); Here the exception output: Performing sync with Perforce for: //depot/products/dynamo/... Changing P4 Client Root to: /opt/hudson/data/jobs/dynamo/workspace/ Changing P4 Client View to: //depot/products/dynamo/... ///... ... java.io.IOException: Unable to communicate with perforce. Error in client specification. Error detected at line 7. Null directory (//) not allowed in '///...'. For Command: p4 -s client -i With Data: =================== Client: Description: Root: /opt/hudson/data/jobs/dynamo/workspace/ Options: LineEnd: View: //depot/products/dynamo/... ///... =================== at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:260) at hudson.model.AbstractProject.checkout(AbstractProject.java:541) at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:223) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:189) at hudson.model.Run.run(Run.java:649) at hudson.model.Build.run(Build.java:102) at hudson.model.ResourceController.execute(ResourceController.java:70) at hudson.model.Executor.run(Executor.java:64) The perforce client binary displays this version (just in case): Perforce - The Fast Software Configuration Management System. Copyright 1995, 2002 Perforce Software. All rights reserved. Rev. P4/LINUX24X86/2003.1/46260 (2003/07/03). I currently have a workaround in place where i set the values from the configuration in PerforceSCM if they are unset: if ( p4workspace == null || p4workspace.length < 1) { p4workspace.setName(p4Client); ... } Cheers Eike

    Jenkins JIRA | 9 years ago | edawid
    java.io.IOException: Unable to communicate with perforce. Error in client specification. Error detected at line 7. Null directory (//) not allowed in '///...'. For Command: p4 -s client -i With Data: =================== Client: Description: Root: /opt/hudson/data/jobs/dynamo/workspace/ Options: LineEnd: View: //depot/products/dynamo/... ///... ===================
  3. Speed up your debug routine!

    Automated exception search integrated into your IDE

  4. 0

    I'm new to Hudson and am attempting to try it out. From reading the docs it seems like it would fit my company better than CruiseControl. But at this point CruiseControl works and I can't get Hudson to run. Here's the info: Under Workspace (client) I have hudson_mainline I do not have Let Hudson Manage Workspace View checked. My environment from the user in unix: [root@hudson software]# p4 info User name: qc Client name: hudson_mainline Client host: hudson Client root: /data/perforce/ Current directory: /data/software Client address: 10.10.1.154:53345 Server address: perforce:1666 Server root: /data/perforce/ Server date: 2009/05/26 10:03:08 -0400 EDT Server uptime: 831:53:16 Server version: P4D/LINUX26X86_64/2008.2/179173 (2008/12/05) Server license: Natural Convergence 17 users (support ends 2009/11/22) [root@hudson software]# env |grep P4 P4PASSWD=XXXXXXXX P4CLIENT=hudson_mainline P4USER=qc [root@hudson software]# This is my Console Output: Started by user anonymous Performing sync with Perforce for: //depot/silhouette/... Changing client to hudson_mainline-hudson [workspace] $ p4 workspace -o hudson_mainline-hudson Changing P4 Client Root to: /root/.hudson/jobs/Perforce_Mainline/workspace/ Changing P4 Client View to: //depot/silhouette/... //hudson_mainline-hudson/... [workspace] $ p4 -s client -i Caught Exception communicating with perforce. Error in client specification. 'client_validation' validation failed: The LineEnd attribute for this client spec (workspace) does not use the 'share' setting. Correct and re-submit. For Command: p4 -s client -i With Data: =================== Client: hudson_mainline-hudson Owner: qc Description: Created by qc. Root: /root/.hudson/jobs/Perforce_Mainline/workspace/ Options: noallwrite noclobber nocompress unlocked nomodtime normdir SubmitOptions: submitunchanged LineEnd: local View: //depot/silhouette/... //hudson_mainline-hudson/... =================== FATAL: Unable to communicate with perforce. Error in client specification. 'client_validation' validation failed: The LineEnd attribute for this client spec (workspace) does not use the 'share' setting. Correct and re-submit. For Command: p4 -s client -i With Data: =================== Client: hudson_mainline-hudson Owner: qc Description: Created by qc. Root: /root/.hudson/jobs/Perforce_Mainline/workspace/ Options: noallwrite noclobber nocompress unlocked nomodtime normdir SubmitOptions: submitunchanged LineEnd: local View: //depot/silhouette/... //hudson_mainline-hudson/... =================== java.io.IOException: Unable to communicate with perforce. Error in client specification. 'client_validation' validation failed: The LineEnd attribute for this client spec (workspace) does not use the 'share' setting. Correct and re-submit. For Command: p4 -s client -i With Data: =================== Client: hudson_mainline-hudson Owner: qc Description: Created by qc. Root: /root/.hudson/jobs/Perforce_Mainline/workspace/ Options: noallwrite noclobber nocompress unlocked nomodtime normdir SubmitOptions: submitunchanged LineEnd: local View: //depot/silhouette/... //hudson_mainline-hudson/... =================== at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:368) at hudson.model.AbstractProject.checkout(AbstractProject.java:830) at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:314) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:266) at hudson.model.Run.run(Run.java:927) at hudson.model.Build.run(Build.java:112) at hudson.model.ResourceController.execute(ResourceController.java:93) at hudson.model.Executor.run(Executor.java:119) I've tried checking the Let Hudson Manage Workspace View checkbox, and setting and unsetting P4CLIENT and other variables but to no avail. I noticed this line in the only webpage help: "Clientspec" (oldskewl) or "Workspace" (newskewl) of the user. If the workspace you specify does not exist, Hudson creates it. Important Note: Hudson will likely change the root of this workspace to fit Hudson's installation. That means Hudson also automatically creates a workspace for each slave on every project. The hostname of the slave is appended to the end of the given workspace name to ensure that all workspaces are unique that unless you develop from the same directory that Hudson checks out to, you will not be able to reuse this workspace outside of Hudson. I did try getting around all this by updating perforce to include a hudson_mainline-hudson workspace which then gets the sync underway, but if the workspace is changed then it doesn't match the workspace that Perforce has and therefore the view is replaced each time a build is started meaning I sync the entire repository....not what I want to do. Anyone had this issue? Any ideas, is it a mis-configuration or is Perforce just not usable in Hudson?

    Jenkins JIRA | 8 years ago | willjw1
    java.io.IOException: Unable to communicate with perforce. Error in client specification. 'client_validation' validation failed: The LineEnd attribute for this client spec (workspace) does not use the 'share' setting. Correct and re-submit. For Command: p4 -s client -i With Data: =================== Client: hudson_mainline-hudson Owner: qc Description: Created by qc. Root: /root/.hudson/jobs/Perforce_Mainline/workspace/ Options: noallwrite noclobber nocompress unlocked nomodtime normdir SubmitOptions: submitunchanged LineEnd: local View: //depot/silhouette/... //hudson_mainline-hudson/... ===================
  5. 0

    I am using perforce plugin under the master/slave build configuration. I checked the option "First Changelist to Track" in my initial configuration and provided some value. This value is used only during master checkout for the first time but not used during the slave checkout (Even for the very first checkout). As a result I am running into the following issue during my main checkout. Is it a known bug?. If there is no bug already and then I can create one?. Please let me know. started Building remotely on vj-linux Performing sync with Perforce for: //prod/main/... Changing client to ddos-main-vj-lin32 [linux] $ p4 workspace -o ddos-main-vj-lin32 Changing P4 Client Root to: /home/HUDSON/workspace/main/label/linux/ Changing P4 Client View to: //prod/main/... //ddos-main-vj-lin32/... [linux] $ p4 -s client -i [linux] $ p4 changes -m 25 //prod/main/... [linux] $ p4 changes -m 25 //prod/main/...@90376 [linux] $ p4 changes -m 25 //prod/main/...@90113 [linux] $ p4 changes -m 25 //prod/main/...@89579 Last sync'd change: 0 [linux] $ p4 changes -m 25 //prod/main/... [linux] $ p4 changes -m 25 //prod/main/...@89116 [linux] $ p4 changes -m 25 //prod/main/...@90376 [linux] $ p4 changes -m 25 //prod/main/...@88910 .... .... [linux] $ p4 changes -m 25 //prod/main/...@72879 [linux] $ p4 changes -m 25 //prod/main/...@71976 [linux] $ p4 changes -m 25 //prod/main/...@72571 [linux] $ p4 changes -m 25 //prod/main/...@71817 [linux] $ p4 changes -m 25 //prod/main/...@72427 [linux] $ p4 changes -m 25 //prod/main/...@71686 [linux] $ p4 changes -m 25 //prod/main/...@72162 [linux] $ p4 changes -m 25 //prod/main/...@71540 [linux] $ p4 changes -m 25 //prod/main/...@71976 [linux] $ p4 changes -m 25 //prod/main/...@71288 [linux] $ p4 changes -m 25 //prod/main/...@71817 [linux] $ p4 changes -m 25 //prod/main/...@71193 [linux] $ p4 changes -m 25 //prod/main/...@71686 [linux] $ p4 changes -m 25 //prod/main/...@71087 [linux] $ p4 changes -m 25 //prod/main/...@71540 [linux] $ p4 changes -m 25 //prod/main/...@70994 [linux] $ p4 changes -m 25 //prod/main/...@71288 [linux] $ p4 changes -m 25 //prod/main/...@70919 [linux] $ p4 changes -m 25 //prod/main/...@71193 [linux] $ p4 changes -m 25 //prod/main/...@70849 [linux] $ p4 changes -m 25 //prod/main/...@71087 [linux] $ p4 changes -m 25 //prod/main/...@70750 [linux] $ p4 changes -m 25 //prod/main/...@70994 [linux] $ p4 changes -m 25 //prod/main/...@70439 [linux] $ p4 changes -m 25 //prod/main/...@70919 [linux] $ p4 changes -m 25 //prod/main/...@70333 [linux] $ p4 changes -m 25 //prod/main/...@70849 [linux] $ p4 changes -m 25 //prod/main/...@70285 [linux] $ p4 changes -m 25 //prod/main/...@70750 [linux] $ p4 changes -m 25 //prod/main/...@69939 [linux] $ p4 changes -m 25 //prod/main/...@70439 [linux] $ p4 changes -m 25 //prod/main/...@69645 [linux] $ p4 changes -m 25 //prod/main/...@70333 [linux] $ p4 changes -m 25 //prod/main/...@69556 [linux] $ p4 changes -m 25 //prod/main/...@70285 [linux] $ p4 changes -m 25 //prod/main/...@69488 [linux] $ p4 changes -m 25 //prod/main/...@69939 [linux] $ p4 changes -m 25 //prod/main/...@69420 [linux] $ p4 changes -m 25 //prod/main/...@69645 [linux] $ p4 changes -m 25 //prod/main/...@69141 [linux] $ p4 changes -m 25 //prod/main/...@69556 [linux] $ p4 changes -m 25 //prod/main/...@69066 [linux] $ p4 changes -m 25 //prod/main/...@69488 [linux] $ p4 changes -m 25 //prod/main/...@68650 [linux] $ p4 changes -m 25 //prod/main/...@69420 [linux] $ p4 changes -m 25 //prod/main/...@68525 [linux] $ p4 changes -m 25 //prod/main/...@69141 [linux] $ p4 changes -m 25 //prod/main/...@68420 [linux] $ p4 changes -m 25 //prod/main/...@69066 [linux] $ p4 changes -m 25 //prod/main/...@68276 [linux] $ p4 changes -m 25 //prod/main/...@68650 [linux] $ p4 changes -m 25 //prod/main/...@68174 [linux] $ p4 changes -m 25 //prod/main/...@68525 [linux] $ p4 changes -m 25 //prod/main/...@68036 [linux] $ p4 changes -m 25 //prod/main/...@68420 [linux] $ p4 changes -m 25 //prod/main/...@67901 [linux] $ p4 changes -m 25 //prod/main/...@68276 [linux] $ p4 changes -m 25 //prod/main/...@67767 [linux] $ p4 changes -m 25 //prod/main/...@68174 [linux] $ p4 changes -m 25 //prod/main/...@67538 [linux] $ p4 changes -m 25 //prod/main/...@68036 [linux] $ p4 changes -m 25 //prod/main/...@67042 [linux] $ p4 changes -m 25 //prod/main/...@67901 [linux] $ p4 changes -m 25 //prod/main/...@66902 [linux] $ p4 changes -m 25 //prod/main/...@67767 [linux] $ p4 changes -m 25 //prod/main/...@66797 [linux] $ p4 changes -m 25 //prod/main/...@67538 Caught Exception communicating with perforce. Failed to communicate with p4FATAL: Unable to communicate with perforce. Failed to communicate with p4 java.io.IOException: Unable to communicate with perforce. Failed to communicate with p4 at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:373) at hudson.model.AbstractProject.checkout(AbstractProject.java:693) at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:277) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:239) at hudson.model.Run.run(Run.java:842) at hudson.model.Build.run(Build.java:89) at hudson.model.ResourceController.execute(ResourceController.java:70) at hudson.model.Executor.run(Executor.java:90)

    Jenkins JIRA | 8 years ago | vijayj
    java.io.IOException: Unable to communicate with perforce. Failed to communicate with p4

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.io.IOException

      Unable to communicate with perforce. Error in client specification. Error detected at line 7. Null directory (//) not allowed in '///...'. For Command: p4 -s client -i With Data: =================== Client: Description: Root: /opt/hudson/data/jobs/dynamo/workspace/ Options: LineEnd: View: //depot/products/dynamo/... ///... ===================

      at hudson.plugins.perforce.PerforceSCM.checkout()
    2. hudson.plugins.perforce
      PerforceSCM.checkout
      1. hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:260)
      1 frame
    3. Hudson
      Executor.run
      1. hudson.model.AbstractProject.checkout(AbstractProject.java:541)
      2. hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:223)
      3. hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:189)
      4. hudson.model.Run.run(Run.java:649)
      5. hudson.model.Build.run(Build.java:102)
      6. hudson.model.ResourceController.execute(ResourceController.java:70)
      7. hudson.model.Executor.run(Executor.java:64)
      7 frames