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

JDK settings lost if setting "SCM checkout retry count" to non numeric value

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • Jenkins 1.653 and 1.654
      Linux Red Hat Enterprise Linux Server release 6.5 (Santiago)
      Java 1.8.0_45,

      Existing JDK settings are lost if trying to set "SCM checkout retry count" to a non numeric value.

      To reproduce:
      1. Go to JDK section in "Manage Jenkins -> Configure System" and confirm that there is JDK installation configured. If not add one.
      2. Update the "SCM checkout retry count" to a non numeric value and press "Save"
      3. A stacktrace pops up in the GUI, this is also printed to the jenkins log. See last in the post.
      4. Check the JDK section again. The existing JDK installation has now been removed.

      ------- the given stacktrace ----------
      javax.servlet.ServletException: net.sf.json.JSONException: JSONObject["scmCheckoutRetryCount"] is not a number.
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:134)
      at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:131)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:125)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: net.sf.json.JSONException: JSONObject["scmCheckoutRetryCount"] is not a number.
      at net.sf.json.JSONObject.getDouble(JSONObject.java:1948)
      at net.sf.json.JSONObject.getInt(JSONObject.java:1967)
      at jenkins.model.GlobalSCMRetryCountConfiguration.configure(GlobalSCMRetryCountConfiguration.java:47)
      at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3344)
      at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3307)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:497)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:324)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:167)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:100)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      ... 46 more

          [JENKINS-36387] JDK settings lost if setting "SCM checkout retry count" to non numeric value

          Mikael Held created issue -

          I've made a patch for this issue but accidentally pushed on same PR as another one: https://github.com/jenkinsci/jenkins/pull/2431

          Please advise guys.

          Panagiotis Galatsanos added a comment - I've made a patch for this issue but accidentally pushed on same PR as another one: https://github.com/jenkinsci/jenkins/pull/2431 Please advise guys.

          Panagiotis Galatsanos added a comment - New clean Pull request: https://github.com/jenkinsci/jenkins/pull/2433
          Panagiotis Galatsanos made changes -
          Assignee New: Panagiotis Galatsanos [ godfath3r ]
          Panagiotis Galatsanos made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Daniel Beck added a comment -

          PR merged

          Daniel Beck added a comment - PR merged
          Daniel Beck made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
          Daniel Beck made changes -
          Labels Original: jdk scm New: jdk lts-candidate scm
          Daniel Beck made changes -
          Labels Original: jdk lts-candidate scm New: jdk lts-candidate robustness scm
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 173092 ] New: JNJira + In-Review [ 199395 ]

            godfath3r Panagiotis Galatsanos
            ehelmik Mikael Held
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: