• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core

      Hello, I updated bunch of plugins last week and restarted the Jenkins. But now i am observing the following error the moment i add new config under jenkins > manage Jenkins > Configure system.

       java.lang.reflect.InvocationTargetException
      	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:347)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      	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 org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:225)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	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:80)
      	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:135)
      	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: java.lang.NullPointerException
      	at jenkins.model.Jenkins.setPrimaryView(Jenkins.java:1862)
      	at hudson.views.GlobalDefaultViewConfiguration.configure(GlobalDefaultViewConfiguration.java:44)
      	at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3650)
      	at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3613)
      	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
      	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
      

      Do someone know whats causing this ?

          [JENKINS-42717] Error Saving configs after updating plugins

          Oleg Nenashev added a comment -

          Sorry, I messed up something. Reopened the issue

          Oleg Nenashev added a comment - Sorry, I messed up something. Reopened the issue

          James Dumay added a comment -

          This doesn't appear to be a Blue Ocean issue so I've assigned it to core. It would be good to get some more information here for the core team to diagnose.

          James Dumay added a comment - This doesn't appear to be a Blue Ocean issue so I've assigned it to core. It would be good to get some more information here for the core team to diagnose.

          Oleg Nenashev added a comment -

          It may happen if and only if the following expression passes a null view: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/views/GlobalDefaultViewConfiguration.java#L44 . I suspect it happens, because the primaryView field contains a non-existent view (e.g. if it was deleted). So likely it can be fixed in the ser config.

          From Jenkins standpoint, the behavior should be made more robust of course

          Oleg Nenashev added a comment - It may happen if and only if the following expression passes a null view: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/views/GlobalDefaultViewConfiguration.java#L44 . I suspect it happens, because the primaryView field contains a non-existent view (e.g. if it was deleted). So likely it can be fixed in the ser config. From Jenkins standpoint, the behavior should be made more robust of course

          Oleg Nenashev added a comment -

          Oleg Nenashev added a comment - Created https://github.com/jenkinsci/jenkins/pull/2815

          Ankur Bansal added a comment -

          any idea when this will be merged and released ?

          Ankur Bansal added a comment - any idea when this will be merged and released ?

          Oleg Nenashev added a comment -

          I hope to get it released in this weekly. Unfortunately I was heavily involved into some other activities, and I had no time to fix the automatic test for this logic

          Oleg Nenashev added a comment - I hope to get it released in this weekly. Unfortunately I was heavily involved into some other activities, and I had no time to fix the automatic test for this logic

          Oleg Nenashev added a comment -

          As a workaround you can always specify a different primary view in the configuration

          Oleg Nenashev added a comment - As a workaround you can always specify a different primary view in the configuration

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/hudson/model/ViewGroupMixIn.java
          core/src/main/java/hudson/views/GlobalDefaultViewConfiguration.java
          core/src/main/java/jenkins/model/Jenkins.java
          core/src/main/resources/hudson/views/Messages.properties
          test/src/test/java/hudson/views/GlobalDefaultViewConfigurationTest.java
          test/src/test/java/org/kohsuke/stapler/MockStaplerRequestBuilder.java
          http://jenkins-ci.org/commit/jenkins/4074818b97d50b98b754f723842f03306a1ddaea
          Log:
          JENKINS-42717 - Prevent NPE when a non-existent Default View is specified in the global config (#2815)

          • JENKINS-42717 - Document view management methods in Jenkins and ViewGroupMixIn
          • [KENKINS-42717] - GlobalDefauldViewConfiguration should not fail with NPE when the view is missing

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/hudson/model/ViewGroupMixIn.java core/src/main/java/hudson/views/GlobalDefaultViewConfiguration.java core/src/main/java/jenkins/model/Jenkins.java core/src/main/resources/hudson/views/Messages.properties test/src/test/java/hudson/views/GlobalDefaultViewConfigurationTest.java test/src/test/java/org/kohsuke/stapler/MockStaplerRequestBuilder.java http://jenkins-ci.org/commit/jenkins/4074818b97d50b98b754f723842f03306a1ddaea Log: JENKINS-42717 - Prevent NPE when a non-existent Default View is specified in the global config (#2815) JENKINS-42717 - Document view management methods in Jenkins and ViewGroupMixIn [KENKINS-42717] - GlobalDefauldViewConfiguration should not fail with NPE when the view is missing JENKINS-42717 - Draft the direct unit test JENKINS-42717 - Fix the tes implementation JENKINS-42717 - Make FormException localizable JENKINS-42717 - Fix te build glitch

          Oleg Nenashev added a comment -

          The fix has been released in 2.56

          Oleg Nenashev added a comment - The fix has been released in 2.56

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/hudson/model/ViewGroupMixIn.java
          core/src/main/java/hudson/views/GlobalDefaultViewConfiguration.java
          core/src/main/java/jenkins/model/Jenkins.java
          core/src/main/resources/hudson/views/Messages.properties
          test/src/test/java/hudson/views/GlobalDefaultViewConfigurationTest.java
          test/src/test/java/org/kohsuke/stapler/MockStaplerRequestBuilder.java
          http://jenkins-ci.org/commit/jenkins/0e2cadf5ea0a37780718207fab1e077a32127162
          Log:
          JENKINS-42717 - Prevent NPE when a non-existent Default View is specified in the global config (#2815)

          • JENKINS-42717 - Document view management methods in Jenkins and ViewGroupMixIn
          • [KENKINS-42717] - GlobalDefauldViewConfiguration should not fail with NPE when the view is missing

          (cherry picked from commit 4074818b97d50b98b754f723842f03306a1ddaea)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/hudson/model/ViewGroupMixIn.java core/src/main/java/hudson/views/GlobalDefaultViewConfiguration.java core/src/main/java/jenkins/model/Jenkins.java core/src/main/resources/hudson/views/Messages.properties test/src/test/java/hudson/views/GlobalDefaultViewConfigurationTest.java test/src/test/java/org/kohsuke/stapler/MockStaplerRequestBuilder.java http://jenkins-ci.org/commit/jenkins/0e2cadf5ea0a37780718207fab1e077a32127162 Log: JENKINS-42717 - Prevent NPE when a non-existent Default View is specified in the global config (#2815) JENKINS-42717 - Document view management methods in Jenkins and ViewGroupMixIn [KENKINS-42717] - GlobalDefauldViewConfiguration should not fail with NPE when the view is missing JENKINS-42717 - Draft the direct unit test JENKINS-42717 - Fix the tes implementation JENKINS-42717 - Make FormException localizable JENKINS-42717 - Fix te build glitch (cherry picked from commit 4074818b97d50b98b754f723842f03306a1ddaea)

            oleg_nenashev Oleg Nenashev
            abansal Ankur Bansal
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: