• Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Blocker Blocker
    • prioritysorter-plugin

      After updating to Priority Sorter Plugin 3.0 whenever I try to save my Configure System I get the following error/stacktrace.

      It seems that it is running with LegacyMode == true, which may be true as I did nothing before I upgraded to 3.0 from 2.9.

      javax.servlet.ServletException: net.sf.json.JSONException: JSONObject["advanced"] is not a Boolean.
      	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:96)
      	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176)
      	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
      	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:99)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	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:164)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      	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:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      
      Caused by: net.sf.json.JSONException: JSONObject["advanced"] is not a Boolean.
      	at net.sf.json.JSONObject.getBoolean(JSONObject.java:1929)
      	at jenkins.advancedqueue.PrioritySorterConfiguration.configure(PrioritySorterConfiguration.java:105)
      	at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2915)
      	at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2878)
      	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:121)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	... 66 more
      

          [JENKINS-28230] JSONException when saving Configure System

          Kyrre Havik Eriksen created issue -

          I also can't seem to get the priority to work. My build with priority 1 is just placed in the queue together with my jobs that should have priority 3. I'm guessing this is tied together with the legacy-mode problem.

          Kyrre Havik Eriksen added a comment - I also can't seem to get the priority to work. My build with priority 1 is just placed in the queue together with my jobs that should have priority 3. I'm guessing this is tied together with the legacy-mode problem.

          Are you using LegacyMode?

          If that is the case I would suggest that you run 1.x as running 2.x or 3.x is rather pointless.

          I will in any case look into this.

          Magnus Sandberg added a comment - Are you using LegacyMode? If that is the case I would suggest that you run 1.x as running 2.x or 3.x is rather pointless. I will in any case look into this.

          Well, I don't intend to run LegacyMode, I'm just not sure how to upgrade. I was hoping it was enough to upgrade the plugin, and create the new priority JobGroups.

          Kyrre Havik Eriksen added a comment - Well, I don't intend to run LegacyMode, I'm just not sure how to upgrade. I was hoping it was enough to upgrade the plugin, and create the new priority JobGroups.

          If you have old priority data from 1.x (LegacyMode) you want to keep you will have to do the switch in 2.x as 3.x doesn't support it.

          3.x will just remove old data in any case.

          As there's some issues currently I would suggest going back to 2.x and do the switch there and then upgrade to 3.x

          Magnus Sandberg added a comment - If you have old priority data from 1.x (LegacyMode) you want to keep you will have to do the switch in 2.x as 3.x doesn't support it. 3.x will just remove old data in any case. As there's some issues currently I would suggest going back to 2.x and do the switch there and then upgrade to 3.x

          Okay. I'll try that.

          Kyrre Havik Eriksen added a comment - Okay. I'll try that.

          Daniel Beck added a comment -

          Magnus: You should declare 3.0 incompatible with 1.x if you haven't already, so users know to read your docs where you explain how to upgrade.

          https://wiki.jenkins-ci.org/display/JENKINS/Marking+a+new+plugin+version+as+incompatible+with+older+versions

          Daniel Beck added a comment - Magnus: You should declare 3.0 incompatible with 1.x if you haven't already, so users know to read your docs where you explain how to upgrade. https://wiki.jenkins-ci.org/display/JENKINS/Marking+a+new+plugin+version+as+incompatible+with+older+versions

          Well it is not incompatible and (if it works as expected) it will inform you on screen how to proceed to do either destructive or non-destructive switch.

          And as you are not forced to switch from LegacyMode to Advanced in 2.x declaring it incompatible will not really help.

          Magnus Sandberg added a comment - Well it is not incompatible and (if it works as expected) it will inform you on screen how to proceed to do either destructive or non-destructive switch. And as you are not forced to switch from LegacyMode to Advanced in 2.x declaring it incompatible will not really help.

          Duplicate of JENKINS-28204

          Magnus Sandberg added a comment - Duplicate of JENKINS-28204
          Magnus Sandberg made changes -
          Resolution New: Duplicate [ 3 ]
          Status Original: Open [ 1 ] New: Closed [ 6 ]

            emsa23 Magnus Sandberg
            kyrremann Kyrre Havik Eriksen
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: