[JIRA] (JENKINS-13764) CVS authentication failure while running rlog command (Windows master / Unix slave)

200 views
Skip to first unread message

lklock@java.net (JIRA)

unread,
May 14, 2012, 8:44:24 AM5/14/12
to jenkinsc...@googlegroups.com
lklock created JENKINS-13764:
--------------------------------

Summary: CVS authentication failure while running rlog command (Windows master / Unix slave)
Key: JENKINS-13764
URL: https://issues.jenkins-ci.org/browse/JENKINS-13764
Project: Jenkins
Issue Type: Bug
Components: cvs
Affects Versions: current
Environment: Jenkins 1.463
CVS Plugin 2.3
Master is running Windows, Slave is on Solaris
Reporter: lklock


I'm building on a Solaris slave trying to access a CVS repository over SSH connection
Private key location is set to $SSH_PRIVATE_KEY_DIR/id_rsa
and known hosts to $SSH_PRIVATE_KEY_DIR/known_hosts

On the slave, SSH_PRIVATE_KEY_DIR is set to:
/export/home/cxt2tst/.ssh

Checkout is done properly:
Building remotely on picard in workspace /export/home/cxt2tst/HUDSON/workspace/server.8.0
cvs update -d -P -r HEAD -D 14 May 2012 14:17:28 +0200 server.8.0
cvs update: Updating server.8.0
cvs update: Updating server.8.0/configuration
....
....

but when it tries to get the ChangeLog, an exception is raised with the following stack trace
FATAL: CVS authentication failure while running rlog command
java.lang.RuntimeException: CVS authentication failure while running rlog command
at hudson.scm.CVSSCM.getRemoteLogForModule(CVSSCM.java:530)
at hudson.scm.CVSSCM.calculateChangeLog(CVSSCM.java:414)
at hudson.scm.CVSSCM.checkout(CVSSCM.java:821)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:586)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
at hudson.model.Run.run(Run.java:1434)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:239)
Caused by: org.netbeans.lib.cvsclient.connection.AuthenticationException: SSH connection failed.
at org.netbeans.lib.cvsclient.connection.SSHConnection.open(SSHConnection.java:134)
at org.netbeans.lib.cvsclient.Client$1.run(Client.java:374)
at java.lang.Thread.run(Unknown Source)
Caused by: com.jcraft.jsch.JSchException: java.io.FileNotFoundException: \export\home\cxt2tst\.ssh\id_rsa (The system cannot find the path specified)
at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:98)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:224)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:218)
at org.netbeans.lib.cvsclient.connection.SSHConnection.open(SSHConnection.java:128)
... 2 more
Caused by: java.io.FileNotFoundException: \export\home\cxt2tst\.ssh\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.IdentityFile.newInstance(IdentityFile.java:83)
... 5 more


It seems it cannot find the file due to the use of wrong path separator

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Schaarschmidt_Daniel@web.de (JIRA)

unread,
May 22, 2012, 8:39:24 AM5/22/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163068#comment-163068 ]

Daniel Schaarschmidt commented on JENKINS-13764:
------------------------------------------------

Just ran into the same problem, Master is Windows, Slaves are both SLES. I would not have noticed the wrong path seperators if you had not mentioned it, but it seems to be the same problem - checkout ok (after a lot of trying around), rlog not working.

I'm using Jenkins 1.465 and just upgraded the CVS-Plugin from 1.6 to 2.3. For now, I'll have to go back to 1.6 as this is an absolute showstopper for us.

> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------

michael.m.clarke@gmail.com (JIRA)

unread,
May 22, 2012, 2:19:24 PM5/22/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163087#comment-163087 ]

Michael Clarke commented on JENKINS-13764:
------------------------------------------

Daniel: please provide the format you have for your path so I can build a unit test for to include it.

> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------

Schaarschmidt_Daniel@web.de (JIRA)

unread,
May 23, 2012, 11:12:24 AM5/23/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163130#comment-163130 ]

Daniel Schaarschmidt commented on JENKINS-13764:
------------------------------------------------

The path I tried was:
/home/myUser/.ssh/id_dsa

I would certainly prefer to use "~" instead of home/myUser or using a placeholder like lklock, but I just tried the path that should have been easier to get working.

Obviously that path won't work on the Windows master so I set one of the two Linux Nodes as parent using the Matrix Tie Parent plugin.

> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------

scm_issue_link@java.net (JIRA)

unread,
Jun 4, 2012, 6:09:24 PM6/4/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163494#comment-163494 ]

SCM/JIRA link daemon commented on JENKINS-13764:
------------------------------------------------

Code changed in jenkins
User: mc1arke
Path:
src/main/java/org/netbeans/lib/cvsclient/connection/SSHConnection.java
http://jenkins-ci.org/commit/cvsclient/03badcdfdd9834b8cde2c5d66b13c16b5f7e774b
Log:
JENKINS-13764: Set known hosts & passfile using local system path separators






> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------

michael.m.clarke@gmail.com (JIRA)

unread,
Jun 8, 2012, 5:21:25 PM6/8/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]


> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------

michael.m.clarke@gmail.com (JIRA)

unread,
Jun 8, 2012, 5:21:25 PM6/8/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Clarke reassigned JENKINS-13764:
----------------------------------------

Assignee: Michael Clarke

> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------
>
> Key: JENKINS-13764
> URL: https://issues.jenkins-ci.org/browse/JENKINS-13764
> Project: Jenkins
> Issue Type: Bug
> Components: cvs
> Affects Versions: current
> Environment: Jenkins 1.463
> CVS Plugin 2.3
> Master is running Windows, Slave is on Solaris
> Reporter: lklock
> Assignee: Michael Clarke

scm_issue_link@java.net (JIRA)

unread,
Jun 9, 2012, 5:57:25 AM6/9/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163690#comment-163690 ]

SCM/JIRA link daemon commented on JENKINS-13764:
------------------------------------------------

Code changed in jenkins
User: mc1arke
Path:
pom.xml
http://jenkins-ci.org/commit/cvs-plugin/5cc27a9675d76ef41bd156cd77d64ea8b3d04692
Log:
[FIXED JENKINS-13764] Upgrade to latest CVS client






> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------
>
> Key: JENKINS-13764
> URL: https://issues.jenkins-ci.org/browse/JENKINS-13764
> Project: Jenkins
> Issue Type: Bug
> Components: cvs
> Affects Versions: current
> Environment: Jenkins 1.463
> CVS Plugin 2.3
> Master is running Windows, Slave is on Solaris
> Reporter: lklock
> Assignee: Michael Clarke

scm_issue_link@java.net (JIRA)

unread,
Jun 9, 2012, 5:57:26 AM6/9/12
to jenkinsc...@googlegroups.com

[ https://issues.jenkins-ci.org/browse/JENKINS-13764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

SCM/JIRA link daemon resolved JENKINS-13764.
--------------------------------------------

Resolution: Fixed

> CVS authentication failure while running rlog command (Windows master / Unix slave)
> -----------------------------------------------------------------------------------
>
> Key: JENKINS-13764
> URL: https://issues.jenkins-ci.org/browse/JENKINS-13764
> Project: Jenkins
> Issue Type: Bug
> Components: cvs
> Affects Versions: current
> Environment: Jenkins 1.463
> CVS Plugin 2.3
> Master is running Windows, Slave is on Solaris
> Reporter: lklock
> Assignee: Michael Clarke

Schaarschmidt_Daniel@web.de (JIRA)

unread,
Aug 3, 2012, 9:31:23 AM8/3/12
to jenkinsc...@googlegroups.com

It's still not working.
Same error as posted originally, tried with Jenkins CVS-Plguin 2.4.

When I look at the SSHConnection.java the method open() replaces / and \ with System.file,.separator. But it seems to use the settings from the master, not the slave. So with Windows Master and Linux Slave, I get \ instead of /, which is wrong and leads to the said exception.

Change By: Daniel Schaarschmidt (30/Jul/12 8:28 AM)
Resolution: Fixed
Status: Resolved Reopened
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

michael.m.clarke@gmail.com (JIRA)

unread,
Sep 3, 2012, 2:14:49 PM9/3/12
to jenkinsc...@googlegroups.com

Daniel: I'm unable to replicate your issue, please provide a new Stack Trace and the details of where your private key and known hosts file are saved.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

Schaarschmidt_Daniel@web.de (JIRA)

unread,
Sep 5, 2012, 4:01:49 AM9/5/12
to jenkinsc...@googlegroups.com

Jenkins 1.465, CVS Plugin 2.5, Master: Windows Server 2003, Slave Linux

Jenkins is running on the master, the build is done on the Linux slave. SSH-Key-Location is configured as "/home/myUser/.ssh/id_dsa"
The checkout from CVS works fine, but when the rlog command is executed I get the following error:

cvs rlog -S -d05 Sep 2012 09:51:41 +0200<05 Sep 2012 09:53:54 +0200 project2

FATAL: CVS authentication failure while running rlog command
java.lang.RuntimeException: CVS authentication failure while running rlog command

at hudson.scm.CVSSCM.getRemoteLogForModule(CVSSCM.java:537)
at hudson.scm.CVSSCM.calculateChangeLog(CVSSCM.java:419)
at hudson.scm.CVSSCM.checkout(CVSSCM.java:853)


at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:586)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
at hudson.model.Run.run(Run.java:1434)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:239)
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)
at java.lang.Thread.run(Thread.java:662)
Caused by: com.jcraft.jsch.JSchException: java.io.FileNotFoundException: \home\myUser\.ssh\id_dsa (Das System kann den angegebenen Pfad nicht finden)


at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:98)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:224)
at com.jcraft.jsch.JSch.addIdentity(JSch.java:218)

at org.netbeans.lib.cvsclient.connection.SSHConnection.open(SSHConnection.java:135)
... 2 more
Caused by: java.io.FileNotFoundException: \home\myUser\ssh\id_dsa (Das System kann den angegebenen Pfad nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)


at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:83)
... 5 more

Do you notice the different file separators?

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

michael.m.clarke@gmail.com (JIRA)

unread,
Sep 5, 2012, 4:43:49 PM9/5/12
to jenkinsc...@googlegroups.com

Daniel: this is expected behaviour - Rlog activities (polling and changelog generation) happen on the Master which is why the path is converted to contain Windows separators in your case. Polling isn't given a workspace so there would be no way to execute polling on a slave. Changelog generation could potentially be done on the same machine as the checkout, but this wouldn't fix the polling issue. This therefore isn't a suitable solution as polling would still fail for any users with a similar setup to yours.

To fix this properly, you'll have to copy your private key file to \home\myUser\.ssh\id_dsa on your master (or set environmental variables that specify where it is on each machine and then copy it to the relevant location).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

michael.m.clarke@gmail.com (JIRA)

unread,
Sep 5, 2012, 4:47:49 PM9/5/12
to jenkinsc...@googlegroups.com
Michael Clarke resolved Bug JENKINS-13764 as Fixed

Re-closing defect as fixed since initial issue is resolved. Secondary issue can be resolved by following above comment.

Change By: Michael Clarke (05/Sep/12 8:46 PM)
Status: Reopened Resolved
Resolution: Fixed
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

Schaarschmidt_Daniel@web.de (JIRA)

unread,
Sep 6, 2012, 6:28:49 AM9/6/12
to jenkinsc...@googlegroups.com

Thanks for the tip Michael, but I can't get it to work. I tried using different environment variables for Master and Slave, but I get the same result. I configured different paths using environmental variables on Master and Slave. But: rlog uses the environment variable from the SLAVE to get the path on the master.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

Schaarschmidt_Daniel@web.de (JIRA)

unread,
Sep 6, 2012, 6:28:49 AM9/6/12
to jenkinsc...@googlegroups.com
 
Daniel Schaarschmidt edited a comment on Bug JENKINS-13764

Thanks for the tip Michael, but I can't get it to work. I configured different paths using environmental variables on Master and Slave. But: rlog uses the environment variable from the SLAVE to get the path on the master.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

michael.m.clarke@gmail.com (JIRA)

unread,
Sep 6, 2012, 8:46:49 AM9/6/12
to jenkinsc...@googlegroups.com

Do you have polling enabled, and does it work? The Environmental Variables we're passed during the checkout (and subsequent change-log) stage are for the node the work would be done on (the slave in your case) which is why they're resolving wrongly. If polling works then I should be able to make a change to generate change-logs on the slave and leave polling as it is, otherwise I'm going to have to consider our approach to rlog usage with SSH.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.

Schaarschmidt_Daniel@web.de (JIRA)

unread,
Sep 13, 2012, 5:00:50 AM9/13/12
to jenkinsc...@googlegroups.com

Polling is enabled, but when I tried with the new CVS-Plugin-Version I manually triggered the build for testing purposes, so I'm not sure whether polling would have worked or not. Because this behaviour is a showstopper for us, I went back to version 1.6. I'll have another go with the current version next week to test polling.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
Reply all
Reply to author
Forward
0 new messages