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

CVS Polling does not work with Windows master and Linux slave

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • cvs-plugin
    • Master: Windows Server 2008, Slave: RHEL5. Jenkins 1.602, CVS Plugin 2.12

      I've set up a Jenkins build job triggered by CVS polling. This is a linux build job, and thus is restricted to run on the linux slave. The CVS authentication type is SSH, and the keys are in '$SSH_KEY_DIR/id_rsa'. On the master, SSH_KEY_DIR is set to 'C:\jenkins_keys', on the slave SSH_KEY_DIR is set to '/root/.ssh'.

      Checking the polling log, I see the following error:
      java.lang.RuntimeException: CVS authentication failure while running rlog command
      at hudson.scm.AbstractCvs.executeRlog(AbstractCvs.java:701)
      at hudson.scm.AbstractCvs.getRemoteLogForModule(AbstractCvs.java:657)
      at hudson.scm.AbstractCvs.calculateRepositoryState(AbstractCvs.java:608)
      at hudson.scm.AbstractCvs.compareRemoteRevisionWith(AbstractCvs.java:512)
      at hudson.scm.CVSSCM.compareRemoteRevisionWith(CVSSCM.java:224)
      at hudson.scm.SCM.poll(SCM.java:397)
      at hudson.model.AbstractProject._poll(AbstractProject.java:1446)
      at hudson.model.AbstractProject.poll(AbstractProject.java:1349)
      at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:515)
      at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:544)
      at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      Caused by: org.netbeans.lib.cvsclient.connection.AuthenticationException: SSH connection failed.
      at org.netbeans.lib.cvsclient.connection.SSHConnection.open(SSHConnection.java:141)
      at org.netbeans.lib.cvsclient.Client$1.run(Client.java:374)
      ... 1 more
      Caused by: com.jcraft.jsch.JSchException: java.io.FileNotFoundException: $SSH_KEY_DIR\id_rsa (The system cannot find the path specified)
      at com.jcraft.jsch.KeyPair.load(KeyPair.java:524)
      at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40)
      at com.jcraft.jsch.JSch.addIdentity(JSch.java:389)
      at com.jcraft.jsch.JSch.addIdentity(JSch.java:370)
      at org.netbeans.lib.cvsclient.connection.SSHConnection.open(SSHConnection.java:135)
      ... 2 more
      Caused by: java.io.FileNotFoundException: $SSH_KEY_DIR\id_rsa (The system cannot find the path specified)
      at java.io.FileInputStream.open(Native Method)
      at java.io.FileInputStream.<init>(Unknown Source)
      at java.io.FileInputStream.<init>(Unknown Source)
      at com.jcraft.jsch.Util.fromFile(Util.java:492)
      at com.jcraft.jsch.KeyPair.load(KeyPair.java:521)
      ... 6 more

      Based on the backslash in 'java.io.FileNotFoundException: $SSH_KEY_DIR\id_rsa' - it would appear the polling is being run on the master, not the slave, but is not resolving the $SSH_KEY_DIR environment variable correctly.

            Unassigned Unassigned
            markwick09 Mark Wick
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: