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

Call to doCheckRevisionPropertiesSupported broken

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • subversion-plugin
    • Subversion Plugin 2.x

      When loading the config screen of a job with Subversion SCM (plugin version 2.x), or editing certain form fields, a call is made to doCheckRevisionPropertiesSupported with the string "null" as credentialsId.

      Failed to access subversion repository https://...
      org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/... failed
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)
                      at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)
                      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:1020)
                      at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.testConnection(DAVRepository.java:99)
                      at hudson.scm.SubversionSCM$DescriptorImpl.checkRepositoryPath(SubversionSCM.java:2320)
                      at hudson.scm.SubversionSCM$DescriptorImpl.doCheckRevisionPropertiesSupported(SubversionSCM.java:2479)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
                      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
                      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
                      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
                      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
                      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
                      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
                      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
                      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
                      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
                      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
                      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
                      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
                      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
                      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
                      at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
                      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
                      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
                      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
                      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:202)
                      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:180)
                      at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
                      at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:90)
                      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
                      at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:117)
                      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
                      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
                      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
                      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
                      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
                      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
                      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
                      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:79)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
                      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
                      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
                      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
                      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
                      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
                      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
                      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
                      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
                      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
                      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
                      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
                      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
                      at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
                      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:227)
                      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
                      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
                      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                      at java.lang.Thread.run(Thread.java:744)
      Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: No credential to try. Authentication failed
                      at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
                      at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
                      at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185)
                      at hudson.scm.FilterSVNAuthenticationManager.getFirstAuthentication(FilterSVNAuthenticationManager.java:35)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:694)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382)
                      ... 85 more
      

      This results in a log message about missing credentials for a job that does in fact have correct credentials.

      This appears to have been caused by 208f10ba16f8317f64060262fa82477db18be299 when the ID of the credentials item was removed that is required for that validation call.

          [JENKINS-22859] Call to doCheckRevisionPropertiesSupported broken

          Code changed in jenkins
          User: Daniel Beck
          Path:
          src/main/java/hudson/scm/SubversionSCM.java
          src/main/resources/hudson/scm/SubversionSCM/config.jelly
          http://jenkins-ci.org/commit/subversion-plugin/6eb865f0af61260cbe396336c000cce7024d4739
          Log:
          JENKINS-22859 Don't fail revprop validation as easily

          Only print an error if both of the following are false:

          • Field is empty (option 'exclusion revprop' unused)
          • Error is authentication failure (there's other fields for that)

          The first is a bit shaky due to the global exclusion revprop feature,
          but chances are you're not going to see that 'not supported' error
          anyway when not explicitly using a per-project setting.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Beck Path: src/main/java/hudson/scm/SubversionSCM.java src/main/resources/hudson/scm/SubversionSCM/config.jelly http://jenkins-ci.org/commit/subversion-plugin/6eb865f0af61260cbe396336c000cce7024d4739 Log: JENKINS-22859 Don't fail revprop validation as easily Only print an error if both of the following are false: Field is empty (option 'exclusion revprop' unused) Error is authentication failure (there's other fields for that) The first is a bit shaky due to the global exclusion revprop feature, but chances are you're not going to see that 'not supported' error anyway when not explicitly using a per-project setting.

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          src/main/java/hudson/scm/SubversionSCM.java
          src/main/resources/hudson/scm/SubversionSCM/config.jelly
          http://jenkins-ci.org/commit/subversion-plugin/29d25bd1157dbdcc36bbdb315c77f68becad6f4e
          Log:
          Merge pull request #81 from daniel-beck/JENKINS-22859

          JENKINS-22859 Don't fail revprop validation as easily

          Compare: https://github.com/jenkinsci/subversion-plugin/compare/5a2683ed4a7d...29d25bd1157d

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/scm/SubversionSCM.java src/main/resources/hudson/scm/SubversionSCM/config.jelly http://jenkins-ci.org/commit/subversion-plugin/29d25bd1157dbdcc36bbdb315c77f68becad6f4e Log: Merge pull request #81 from daniel-beck/ JENKINS-22859 JENKINS-22859 Don't fail revprop validation as easily Compare: https://github.com/jenkinsci/subversion-plugin/compare/5a2683ed4a7d...29d25bd1157d

            Unassigned Unassigned
            danielbeck Daniel Beck
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: