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

UnsupportedOperationException when updating "Max # of builds to keep"

      javax.servlet.ServletException: java.lang.UnsupportedOperationException
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:783)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
      at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
      at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:636)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      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.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:86)
      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: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:1146)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:701)
      Caused by: java.lang.UnsupportedOperationException
      at hudson.matrix.MatrixConfiguration.setBuildDiscarder(MatrixConfiguration.java:363)
      at hudson.model.Job.setLogRotator(Job.java:436)
      at configurationslicing.logrotator.LogRotationSlicer$AbstractLogRotationSliceSpec.setValues(LogRotationSlicer.java:123)
      at configurationslicing.logrotator.LogRotationSlicer$LogRotationBuildsSliceSpec.setValues(LogRotationSlicer.java:162)
      at configurationslicing.logrotator.LogRotationSlicer$AbstractLogRotationSliceSpec.setValues(LogRotationSlicer.java:44)
      at configurationslicing.UnorderedStringSlicer.transform(UnorderedStringSlicer.java:100)
      at configurationslicing.UnorderedStringSlicer.transform(UnorderedStringSlicer.java:6)
      at configurationslicing.ConfigurationSlicing$SliceExecutor.transform(ConfigurationSlicing.java:135)
      at configurationslicing.ConfigurationSlicing$SliceExecutor.doSliceconfigSubmit(ConfigurationSlicing.java:179)
      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:622)
      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:733)

          [JENKINS-25320] UnsupportedOperationException when updating "Max # of builds to keep"

          Upon further investigation, that seems to trigger when

          • adding some projects to the new box, defining a value identical to one set already to a group of projects above
          • trying to add the somewhat unused and half-configured multi-configuration projects
            multi-test/system=linux_x64
            test-multi/label=linux_x64
            test-multi/platform=linux_x64
            to the list of projects with a max # of builds configured.

          Mr planetmaker added a comment - Upon further investigation, that seems to trigger when adding some projects to the new box, defining a value identical to one set already to a group of projects above trying to add the somewhat unused and half-configured multi-configuration projects multi-test/system=linux_x64 test-multi/label=linux_x64 test-multi/platform=linux_x64 to the list of projects with a max # of builds configured.

          Ninian added a comment -

          The exception looks like it is the result of configuration being done on the matrix configuration rather than the Project itself. I'd therefore expect it to be fixed by the fix for JENKINS-18455. Can you attempt to reproduce with version 1.40 of the configuration-slicing plugin?

          Ninian added a comment - The exception looks like it is the result of configuration being done on the matrix configuration rather than the Project itself. I'd therefore expect it to be fixed by the fix for JENKINS-18455 . Can you attempt to reproduce with version 1.40 of the configuration-slicing plugin?

          mdonohue added a comment -

          Following up on Ninian's comment:
          Does this still reproduce with the 1.40 release of configurationslicing?

          mdonohue added a comment - Following up on Ninian's comment: Does this still reproduce with the 1.40 release of configurationslicing?

            mdonohue mdonohue
            planetmaker Mr planetmaker
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: