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

500 Internal Server Error on attempt to run a build

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • subversion-plugin
    • None
    • linux redhat 2.6.18-238.el5

      jenkins throws :
      ERROR: Failed to update https://XXXXXXX
      org.tmatesoft.svn.core.SVNException: svn: E175002: REPORT of '/svn/playspan/!svn/vcc/default': 500 Internal Server Error

      on attempt to run build.
      on svn server side in the error log:
      " Could not access revision times. 500, #0"

      I think what happened was:
      when build is requested, svnkit is trying to run svn log on the svn server by runnint it between two time stamps - previous build and current time. sometimes either dates were not recorded on svn server or the current dated obtained on the jenkins server is running ahead of svn server and, I think, this causes the problem.
      my suggestion:
      do not use timestamp at all
      instead run log (or svn diff) between two revision numbers, which are always present on svn server.
      2. I think running svn log on remote svn server is not very efficient.
      I think, would be better:
      1. when build is requested, capture current revision on the working space.
      2. run svn update
      3. capture the revision
      4. run log or diff locally between two revisions.

      this way, jenkins will communicate to svn server just once instead of multiple times.

          [JENKINS-17431] 500 Internal Server Error on attempt to run a build

          romax added a comment -

          Same issue here! We suspect empty revisions are causing this error: After migrating to a new subversion server using svndumpfilter without --drop-empty-revs and --renumber-revs, the repository has lots of empty revisions which do not have a date set.

          We're using SVN Plugin version 2.2. Upgrading might be an option (have not tried yet). Another would be setting dates on empty revisions, as shown here: http://docs.codehaus.org/display/HAUSMATES/Could+not+access+revision+times (have not tried either.)

          romax added a comment - Same issue here! We suspect empty revisions are causing this error: After migrating to a new subversion server using svndumpfilter without --drop-empty-revs and --renumber-revs, the repository has lots of empty revisions which do not have a date set. We're using SVN Plugin version 2.2. Upgrading might be an option (have not tried yet). Another would be setting dates on empty revisions, as shown here: http://docs.codehaus.org/display/HAUSMATES/Could+not+access+revision+times (have not tried either.)

          We too experienced these issues.
          During an earlier import from another repository, 45378 revisions had been left without a svn:date property, which caused the HTTP 500 error.

          The svn:date properties were fixed using the set-svn-date script from http://docs.codehaus.org/display/HAUSMATES/Could+not+access+revision+times
          (BTW: If you are going to use that script, you have to fix generate_propsets to take in an URL parameter)

          This is still a major problem, as we cannot prevent this from happening again while allowing our developers to do svn revprop changes (which is necessary).

          I think this logic of using revision datestamps is severely flawed, because you cannot trust the timestamps in any way!
          Even if you make sure that every revision has an svn:date timestamp, there are several scenarios which can result in an inconsistent timeline.
          The revision numbers are "right there" and easy to get, and they are guaranteed to be consistent - why not use them?

          Helge Willum Larsen added a comment - We too experienced these issues. During an earlier import from another repository, 45378 revisions had been left without a svn:date property, which caused the HTTP 500 error. The svn:date properties were fixed using the set-svn-date script from http://docs.codehaus.org/display/HAUSMATES/Could+not+access+revision+times (BTW: If you are going to use that script, you have to fix generate_propsets to take in an URL parameter) This is still a major problem, as we cannot prevent this from happening again while allowing our developers to do svn revprop changes (which is necessary). I think this logic of using revision datestamps is severely flawed, because you cannot trust the timestamps in any way! Even if you make sure that every revision has an svn:date timestamp, there are several scenarios which can result in an inconsistent timeline. The revision numbers are "right there" and easy to get, and they are guaranteed to be consistent - why not use them?

          Andreas W added a comment -

          We are using Jenkins 1.596.2 with subversion plugin 2.5 and can then observe exact the same problem. With subversion plugin 2.4.5 everything is okay. Switched back to 2.5, same problem again. However with subversion plugin 2.4.5 we cannot use the the subversion plugin as of 2.5. So this is a real blocker for us. As this is not the first problem with the subversion plugin, I am currently trying to replace the subversion plugins by scripts which call the command-line subversion tool.

          Andreas W added a comment - We are using Jenkins 1.596.2 with subversion plugin 2.5 and can then observe exact the same problem. With subversion plugin 2.4.5 everything is okay. Switched back to 2.5, same problem again. However with subversion plugin 2.4.5 we cannot use the the subversion plugin as of 2.5. So this is a real blocker for us. As this is not the first problem with the subversion plugin, I am currently trying to replace the subversion plugins by scripts which call the command-line subversion tool.

          Andreas W added a comment -

          For reference, here is our stack trace, maybe the slight differences are a result of calling it from workflow plugin, but the error occurs in every job, regardless which type:

          org.tmatesoft.svn.core.SVNException: svn: E175002: OPTIONS of 'xxxxxxxxxx': 500 Internal Server Error (xxxxxxxxxxxx)
          svn: E175002: OPTIONS request failed on 'xxxxxxxxxxxxxx'
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:106)
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:90)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:764)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:371)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:359)
          at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:710)
          at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
          at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
          at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1032)
          at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:175)
          at org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate.getRevisionNumber(SVNBasicDelegate.java:480)
          at org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate.getLocations(SVNBasicDelegate.java:833)
          at org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate.createRepository(SVNBasicDelegate.java:527)
          at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doCheckout(SVNUpdateClient16.java:875)
          at org.tmatesoft.svn.core.internal.wc2.old.SvnOldCheckout.run(SvnOldCheckout.java:66)
          at org.tmatesoft.svn.core.internal.wc2.old.SvnOldCheckout.run(SvnOldCheckout.java:18)
          at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
          at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1259)
          at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
          at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115)
          at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
          at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:170)
          at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)
          at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
          at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948)
          at hudson.FilePath.act(FilePath.java:981)
          at hudson.FilePath.act(FilePath.java:959)
          at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:897)
          at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:833)
          at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:106)
          at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)
          at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:70)
          at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousStepExecution.start(AbstractSynchronousStepExecution.java:34)
          at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:136)
          at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:100)
          at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
          at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:15)
          at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:69)
          at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:106)
          at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55)
          at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45)
          at sun.reflect.GeneratedMethodAccessor293.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55)
          at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45)
          at sun.reflect.GeneratedMethodAccessor293.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55)
          at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45)
          at sun.reflect.GeneratedMethodAccessor293.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
          at com.cloudbees.groovy.cps.Next.step(Next.java:58)
          at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:145)
          at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:164)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:268)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$000(CpsThreadGroup.java:71)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:177)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:175)
          at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:111)
          at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)
          Running: Allocate node : Body : End

          Andreas W added a comment - For reference, here is our stack trace, maybe the slight differences are a result of calling it from workflow plugin, but the error occurs in every job, regardless which type: org.tmatesoft.svn.core.SVNException: svn: E175002: OPTIONS of 'xxxxxxxxxx': 500 Internal Server Error (xxxxxxxxxxxx) svn: E175002: OPTIONS request failed on 'xxxxxxxxxxxxxx' at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:106) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:90) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:764) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:371) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:359) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:710) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1032) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:175) at org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate.getRevisionNumber(SVNBasicDelegate.java:480) at org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate.getLocations(SVNBasicDelegate.java:833) at org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate.createRepository(SVNBasicDelegate.java:527) at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doCheckout(SVNUpdateClient16.java:875) at org.tmatesoft.svn.core.internal.wc2.old.SvnOldCheckout.run(SvnOldCheckout.java:66) at org.tmatesoft.svn.core.internal.wc2.old.SvnOldCheckout.run(SvnOldCheckout.java:18) at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21) at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1259) at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294) at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:170) at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162) at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948) at hudson.FilePath.act(FilePath.java:981) at hudson.FilePath.act(FilePath.java:959) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:897) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:833) at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:106) at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80) at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:70) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousStepExecution.start(AbstractSynchronousStepExecution.java:34) at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:136) at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:100) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:15) at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:69) at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:106) at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45) at sun.reflect.GeneratedMethodAccessor293.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45) at sun.reflect.GeneratedMethodAccessor293.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45) at sun.reflect.GeneratedMethodAccessor293.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) at com.cloudbees.groovy.cps.Next.step(Next.java:58) at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:145) at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:164) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:268) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$000(CpsThreadGroup.java:71) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:177) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:175) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47) at java.util.concurrent.FutureTask.run(Unknown Source) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:111) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Running: Allocate node : Body : End

          Sascha Retter added a comment - - edited

          Most probably this is neither a Jenkins / SVN Plugin nor an SVNKIT issue. It seems to be an issue of the SVN server.

          We are getting the following output in jenkins console:

          14:25:13 Checking out https://XXX at revision '2015-09-02T14:25:12.558 +0200'
          14:25:13 ERROR: Failed to check out XXX
          14:25:13 org.tmatesoft.svn.core.SVNException: svn: E175002: REPORT of '/svn/YYY/!svn/vcc/default': 500 Internal Server Error (https://XYZ)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
          14:25:13 	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDatedRevision(DAVRepository.java:202)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:178)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:187)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:756)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:26)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:11)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
          14:25:13 	at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
          14:25:13 	at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1259)
          14:25:13 	at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
          14:25:13 	at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115)
          14:25:13 	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
          14:25:13 	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:170)
          14:25:13 	at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:134)
          14:25:13 	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
          14:25:13 	at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991)
          14:25:13 	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972)
          14:25:13 	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948)
          14:25:13 	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2688)
          14:25:13 	at hudson.remoting.UserRequest.perform(UserRequest.java:121)
          14:25:13 	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
          14:25:13 	at hudson.remoting.Request$2.run(Request.java:325)
          14:25:13 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
          14:25:13 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          14:25:13 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          14:25:13 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          14:25:13 	at java.lang.Thread.run(Thread.java:745)
          14:25:13 java.io.IOException: remote file operation failed: /a/file/system/location at hudson.remoting.Channel@704e71df:a_hostname: hudson.remoting.ProxyException: java.io.IOException: Failed to check out XXX
          

          If we try to checkout using svnkit or native svn by HEAD or revisionnumber everything works as expected. But as soon as we are using the timestamp to checkout as Jenkins does we are getting an error.

          Example with native svn (svn, Version 1.8.13 (r1667537))

          svn --username auser co https://XXX -r {"2015-09-02 09:00:00"} 
          
          svn: E175002: Unerwarteter HTTP-Status 500 »Internal Server Error« auf »/svn/XYZ/!svn/me«
          
          svn: E175002: Zusätzliche Fehler:
          svn: E175002: REPORT-Anfrage auf »/svn/XYZ/!svn/me« schlug fehl: 500 Internal Server Error
          

          Sascha Retter added a comment - - edited Most probably this is neither a Jenkins / SVN Plugin nor an SVNKIT issue. It seems to be an issue of the SVN server. We are getting the following output in jenkins console: 14:25:13 Checking out https: //XXX at revision '2015-09-02T14:25:12.558 +0200' 14:25:13 ERROR: Failed to check out XXX 14:25:13 org.tmatesoft.svn.core.SVNException: svn: E175002: REPORT of '/svn/YYY/!svn/vcc/ default ' : 500 Internal Server Error (https: //XYZ) 14:25:13 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) 14:25:13 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) 14:25:13 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDatedRevision(DAVRepository.java:202) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:178) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:187) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:756) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:26) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:11) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20) 14:25:13 at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21) 14:25:13 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1259) 14:25:13 at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294) 14:25:13 at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115) 14:25:13 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162) 14:25:13 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:170) 14:25:13 at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:134) 14:25:13 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162) 14:25:13 at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991) 14:25:13 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972) 14:25:13 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948) 14:25:13 at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2688) 14:25:13 at hudson.remoting.UserRequest.perform(UserRequest.java:121) 14:25:13 at hudson.remoting.UserRequest.perform(UserRequest.java:49) 14:25:13 at hudson.remoting.Request$2.run(Request.java:325) 14:25:13 at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) 14:25:13 at java.util.concurrent.FutureTask.run(FutureTask.java:262) 14:25:13 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 14:25:13 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 14:25:13 at java.lang. Thread .run( Thread .java:745) 14:25:13 java.io.IOException: remote file operation failed: /a/file/system/location at hudson.remoting.Channel@704e71df:a_hostname: hudson.remoting.ProxyException: java.io.IOException: Failed to check out XXX If we try to checkout using svnkit or native svn by HEAD or revisionnumber everything works as expected. But as soon as we are using the timestamp to checkout as Jenkins does we are getting an error. Example with native svn (svn, Version 1.8.13 (r1667537)) svn --username auser co https: //XXX -r { "2015-09-02 09:00:00" } svn: E175002: Unerwarteter HTTP-Status 500 »Internal Server Error« auf »/svn/XYZ/!svn/me« svn: E175002: Zusätzliche Fehler: svn: E175002: REPORT-Anfrage auf »/svn/XYZ/!svn/me« schlug fehl: 500 Internal Server Error

          Sascha Retter added a comment -

          At the moment our workaround is to append @HEAD to the subversion-urls

          Sascha Retter added a comment - At the moment our workaround is to append @HEAD to the subversion-urls

          Sascha Retter added a comment -

          After discussing the problem on the subversion-users mailinglist (http://mail-archives.apache.org/mod_mbox/subversion-users/201509.mbox/browser) in my opinion jenkins' subversion plugin should not rely on timestamps at all.

          Sascha Retter added a comment - After discussing the problem on the subversion-users mailinglist ( http://mail-archives.apache.org/mod_mbox/subversion-users/201509.mbox/browser ) in my opinion jenkins' subversion plugin should not rely on timestamps at all.

          Sascha Retter added a comment -

          Most probably.

          Sascha Retter added a comment - Most probably.

          saretter, I would like to help here. Do you think the problem is related with Subversion Plugin?

          Manuel Recena Soto added a comment - saretter , I would like to help here. Do you think the problem is related with Subversion Plugin?

          Sascha Retter added a comment -

          recena the problem itself in my point of view is originally a huge problem in subversion and how it handles revisions and history of commits. But after my conversation with Eric Johnson on the subversion mailinglist (http://mail-archives.apache.org/mod_mbox/subversion-users/201509.mbox/browser) I think there is no way to fix that on subversion side which led me to the conclusion that you cannot rely on any subversion-operation that somehow uses timestamps.

          So I think it would be best if SVN-Plugin could be implemented not using timestamps anymore. But in my opinion that would require a lot of changes and I don’t have enough knowledge about the implementation of the SVN-Plugin to say whether it is even possible.

          Sascha Retter added a comment - recena the problem itself in my point of view is originally a huge problem in subversion and how it handles revisions and history of commits. But after my conversation with Eric Johnson on the subversion mailinglist ( http://mail-archives.apache.org/mod_mbox/subversion-users/201509.mbox/browser ) I think there is no way to fix that on subversion side which led me to the conclusion that you cannot rely on any subversion-operation that somehow uses timestamps. So I think it would be best if SVN-Plugin could be implemented not using timestamps anymore. But in my opinion that would require a lot of changes and I don’t have enough knowledge about the implementation of the SVN-Plugin to say whether it is even possible.

            recena Manuel Recena Soto
            smasleni Slava Maslenitsyn
            Votes:
            11 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated: