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

JSONObject["administrativeMonitor"] is not a JSONArray.

      Running on the latest versions of LTS and/or dev copy of Jenkins on a fresh install, I get the following stack trace when I try to disable the "Node marked offline due to health check" and/or "Too many scm polling threads" admin monitors:

      Stack Trace
      javax.servlet.ServletException: net.sf.json.JSONException: JSONObject["administrativeMonitor"] is not a JSONArray. 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:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) 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["administrativeMonitor"] is not a JSONArray. at net.sf.json.JSONObject.getJSONArray(JSONObject.java:1986) at jenkins.management.AdministrativeMonitorsConfiguration.configure(AdministrativeMonitorsConfiguration.java:46) at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3636) at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3599) 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:498) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:335) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:175) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:108) 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) ... 54 more
      

          [JENKINS-42852] JSONObject["administrativeMonitor"] is not a JSONArray.

          Oleg Nenashev added a comment -

          It is a pretty well known issue. In such case you get JSON object instead of the JSONArray.
          CC danielbeck since he was working on this area recently

          Oleg Nenashev added a comment - It is a pretty well known issue. In such case you get JSON object instead of the JSONArray. CC danielbeck since he was working on this area recently

          Mark Austin added a comment -

          oleg_nenashev ah okay. I didn't see anything for this specific case when I searched the DB, so I wanted to make sure ya'll were aware about it.

          Mark Austin added a comment - oleg_nenashev ah okay. I didn't see anything for this specific case when I searched the DB, so I wanted to make sure ya'll were aware about it.

          Oleg Nenashev added a comment -

          ganthore I meant that the error pattern is well known. Regarding this case, it is a new bug IIRC. Have not seen similar reports at least

          Oleg Nenashev added a comment - ganthore I meant that the error pattern is well known. Regarding this case, it is a new bug IIRC. Have not seen similar reports at least

          sathiya_mit added a comment -

          Here is the PR which fixes this.

          https://github.com/jenkinsci/jenkins/pull/2828

          sathiya_mit added a comment - Here is the PR which fixes this. https://github.com/jenkinsci/jenkins/pull/2828

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/jenkins/management/AdministrativeMonitorsConfiguration.java
          http://jenkins-ci.org/commit/jenkins/77804c145134d93b3ac0bd64d3181a2e21538fb7
          Log:
          Merge pull request #2828 from sathiya-mit/master

          JENKINS-42852 - Jenkins Configuration Save Option

          Compare: https://github.com/jenkinsci/jenkins/compare/1ca9c880fd64...77804c145134

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/jenkins/management/AdministrativeMonitorsConfiguration.java http://jenkins-ci.org/commit/jenkins/77804c145134d93b3ac0bd64d3181a2e21538fb7 Log: Merge pull request #2828 from sathiya-mit/master JENKINS-42852 - Jenkins Configuration Save Option Compare: https://github.com/jenkinsci/jenkins/compare/1ca9c880fd64...77804c145134

          Daniel Beck added a comment -

          Fixed in 2.54.

          Daniel Beck added a comment - Fixed in 2.54.

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/jenkins/management/AdministrativeMonitorsConfiguration.java
          http://jenkins-ci.org/commit/jenkins/ce7d2aec50bbf2a97dab256aee399e180754483e
          Log:
          Merge pull request #2828 from sathiya-mit/master

          JENKINS-42852 - Jenkins Configuration Save Option
          (cherry picked from commit 77804c145134d93b3ac0bd64d3181a2e21538fb7)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/jenkins/management/AdministrativeMonitorsConfiguration.java http://jenkins-ci.org/commit/jenkins/ce7d2aec50bbf2a97dab256aee399e180754483e Log: Merge pull request #2828 from sathiya-mit/master JENKINS-42852 - Jenkins Configuration Save Option (cherry picked from commit 77804c145134d93b3ac0bd64d3181a2e21538fb7)

          Code changed in jenkins
          User: Wadeck Follonier
          Path:
          core/src/main/java/hudson/security/SecurityRealm.java
          test/src/test/java/hudson/security/SecurityRealmTest.java
          http://jenkins-ci.org/commit/jenkins/80d17f5a68739eafc27d5a3fd003b7eee4cfe8f3
          Log:
          JENKINS-43852 add caching options for captcha (#3126)

          • - remove whitespace
          • - correct unit tests
          • - copy/paste is bad
          • - second edit...

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Wadeck Follonier Path: core/src/main/java/hudson/security/SecurityRealm.java test/src/test/java/hudson/security/SecurityRealmTest.java http://jenkins-ci.org/commit/jenkins/80d17f5a68739eafc27d5a3fd003b7eee4cfe8f3 Log: JENKINS-43852 add caching options for captcha (#3126) JENKINS-42852 add caching options for captcha - remove whitespace - correct unit tests - copy/paste is bad - second edit...

          Code changed in jenkins
          User: Wadeck Follonier
          Path:
          core/src/main/java/hudson/security/SecurityRealm.java
          test/src/test/java/hudson/security/SecurityRealmTest.java
          http://jenkins-ci.org/commit/jenkins/179ac8df0803375e4e600b7c44547419636d44fe
          Log:
          JENKINS-43852 add caching options for captcha (#3126)

          • - remove whitespace
          • - correct unit tests
          • - copy/paste is bad
          • - second edit...

          (cherry picked from commit 80d17f5a68739eafc27d5a3fd003b7eee4cfe8f3)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Wadeck Follonier Path: core/src/main/java/hudson/security/SecurityRealm.java test/src/test/java/hudson/security/SecurityRealmTest.java http://jenkins-ci.org/commit/jenkins/179ac8df0803375e4e600b7c44547419636d44fe Log: JENKINS-43852 add caching options for captcha (#3126) JENKINS-42852 add caching options for captcha - remove whitespace - correct unit tests - copy/paste is bad - second edit... (cherry picked from commit 80d17f5a68739eafc27d5a3fd003b7eee4cfe8f3)

            sathiya_mit sathiya_mit
            ganthore Mark Austin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: