-
Bug
-
Resolution: Not A Defect
-
Critical
-
None
-
Jenkins 1.429 (and at least back through 1.378), Subversion-Plugin 1.31, slaves running on both *NIX and Windows
We are having problems getting Jenkins working with Subversion repositories hosted outside our firewall (i.e., available via HTTP proxy). Here is the situation:
- Jenkins 1.429, Subversion-Plugin 1.31
- 2 machines, a Master and a Slave, both inside the firewall
- 2 repositories (projects):
- "A": hosted by us, and available directly (i.e. inside the firewall);
- "B": hosted externally (i.e., must go through the firewall);
- the project A has a link (via svn:externals property) to the project B.
- both repositories accessed via "https://" protocol
- a job that checks out "A" using the Subversion-Plugin
If we run the job (and checkout A) on the Master, everything works.
However, if the job runs on the slave, the checkout appears to "work" (in that Jenkins does not detect an error), but the external is completely missing from the workspace. Further, if I reconfigure the job to explicitly checkout the B (external) project as a separate target, the checkout fails on the Slave with "java.net.SocketTimeoutException: connect timed out":
Checking out https://<<path-to-repository>> ERROR: Failed to check out https://<<path-to-repository>> org.tmatesoft.svn.core.SVNException: svn: PROPFIND /svnroot/<<path-to-leading-directory>> failed at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.findStartingProperties(DAVUtil.java:136) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getBaselineProperties(DAVUtil.java:226) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getBaselineInfo(DAVUtil.java:184) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:182) at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:482) at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:873) at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534) at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:901) at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:90) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:144) at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:121) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136) at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:773) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:754) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:738) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1995) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:287) 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 hudson.remoting.Engine$1$1.run(Engine.java:60) at java.lang.Thread.run(Unknown Source) Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: PROPFIND /svnroot/epanet/MSX/trunk failed at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:146) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:89) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:291) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:276) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:264) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doPropfind(DAVConnection.java:126) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getProperties(DAVUtil.java:73) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getResourceProperties(DAVUtil.java:79) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getStartingProperties(DAVUtil.java:103) at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.findStartingProperties(DAVUtil.java:125) ... 26 more Caused by: org.tmatesoft.svn.core.SVNException: svn: PROPFIND request failed on '/svnroot/epanet/MSX/trunk' svn: connection refused by the server at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:644) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:285) ... 33 more Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: PROPFIND request failed on '/svnroot/epanet/MSX/trunk' at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:642) ... 34 more Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: connection refused by the server at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:400) ... 34 more Caused by: java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source) at org.tmatesoft.svn.core.internal.util.SVNSocketConnection.run(SVNSocketConnection.java:57) ... 1 more
Both Master and Slave machines have (identical) correctly-configured ~/.subversion/servers files, and a checkout of A (and hence, B) using the command line as the Jenkins user works on both machines.
This sounds like the Subversion-Plugin is not correctly picking up a proxy configuration when it runs on a slave.
- is related to
-
JENKINS-30085 HTTP Proxy support
- Resolved