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

dropdown views taskbar: error when saving jenkins config page

      I have the dropdown views tabbar enabled, and am usign Jenkins 1.455 When I go to save the main Jenkins config page, I see this CNF exception in the browser:

      exception

      javax.servlet.ServletException: java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from

      {"showJobCount":false,"stapler-class":["hudson.views.DefaultViewsTabBar","hudson.views.tabbar.DropDownViewsTabBar"]}

      org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:605)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
      net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      oracle.boulderlabs.jenkins.validatorkiller.ValidatorKiller.doFilter(ValidatorKiller.java:63)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)

      root cause

      java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from

      {"showJobCount":false,"stapler-class":["hudson.views.DefaultViewsTabBar","hudson.views.tabbar.DropDownViewsTabBar"]}

      org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:633)
      org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:377)
      org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:373)
      hudson.views.ViewsTabBar$GlobalConfigurationImpl.configure(ViewsTabBar.java:84)
      jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2620)
      jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2583)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
      org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
      org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
      org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
      net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      oracle.boulderlabs.jenkins.validatorkiller.ValidatorKiller.doFilter(ValidatorKiller.java:63)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)

      root cause

      java.lang.IllegalArgumentException: Class ["hudson.views.DefaultViewsTabBar","hudson.views.tabbar.DropDownViewsTabBar"] is specified in JSON, but no such class found in classLoader hudson.PluginManager$UberClassLoader
      org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:606)
      org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:377)
      org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:373)
      hudson.views.ViewsTabBar$GlobalConfigurationImpl.configure(ViewsTabBar.java:84)
      jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2620)
      jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2583)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
      org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
      org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
      org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
      net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      oracle.boulderlabs.jenkins.validatorkiller.ValidatorKiller.doFilter(ValidatorKiller.java:63)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)

      root cause

      java.lang.ClassNotFoundException: ["hudson.views.DefaultViewsTabBar","hudson.views.tabbar.DropDownViewsTabBar"]
      hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:747)
      java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      java.lang.ClassLoader.loadClass(ClassLoader.java:247)
      org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:601)
      org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:377)
      org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:373)
      hudson.views.ViewsTabBar$GlobalConfigurationImpl.configure(ViewsTabBar.java:84)
      jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2620)
      jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2583)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
      org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
      org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
      org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
      net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      oracle.boulderlabs.jenkins.validatorkiller.ValidatorKiller.doFilter(ValidatorKiller.java:63)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)

          [JENKINS-13114] dropdown views taskbar: error when saving jenkins config page

          Steve Roth added a comment -

          With DD views taskbar installed (but not selected), I am able to save the system config page.
          With other navigation views selected, I am able to save the system config page.
          Once I select the DD views taskbar and save the config page, any further attempts to save the config page fail with an error like the above.

          The main symptom is a ClassNotFoundException listing a set of classes such as java.lang.ClassNotFoundException: ["hudson.views.DefaultViewsTabBar","hudson.views.tabbar.DropDownViewsTabBar"]

          Steve Roth added a comment - With DD views taskbar installed (but not selected), I am able to save the system config page. With other navigation views selected, I am able to save the system config page. Once I select the DD views taskbar and save the config page, any further attempts to save the config page fail with an error like the above. The main symptom is a ClassNotFoundException listing a set of classes such as java.lang.ClassNotFoundException: ["hudson.views.DefaultViewsTabBar","hudson.views.tabbar.DropDownViewsTabBar"]

          Steve Roth added a comment -

          This issue does not occur in Jenkins ver. 1.453 so it seems to be related to a newer Jenkins version. (1.454 or 1.455)

          Steve Roth added a comment - This issue does not occur in Jenkins ver. 1.453 so it seems to be related to a newer Jenkins version. (1.454 or 1.455)

          Steve Roth added a comment -

          I've ruled out 1.454, so it's very likely this issue first appeared in v1.455.

          Steve Roth added a comment - I've ruled out 1.454, so it's very likely this issue first appeared in v1.455.

          Jim Searle added a comment -

          Same problem with Jenkins 1.458. It works in IE 7.0, FF 3.6. Fails in FF 11.0 and Chrome 18.0.

          Jim Searle added a comment - Same problem with Jenkins 1.458. It works in IE 7.0, FF 3.6. Fails in FF 11.0 and Chrome 18.0.

          ritzmann added a comment -

          FYI - after disabling the views tab bar and restarting the server, "Manage Jenkins" warns about unreadable data. This is the message:

          It is acceptable to leave unreadable data in these files, as Jenkins will safely ignore it. To avoid the log messages at Jenkins startup you can permanently delete the unreadable data by resaving these files using the button below.

          Type Name Error
          hudson.model.Hudson CannotResolveClassException: hudson.views.tabbar.DropDownViewsTabBar : hudson.views.tabbar.DropDownViewsTabBar

          ritzmann added a comment - FYI - after disabling the views tab bar and restarting the server, "Manage Jenkins" warns about unreadable data. This is the message: It is acceptable to leave unreadable data in these files, as Jenkins will safely ignore it. To avoid the log messages at Jenkins startup you can permanently delete the unreadable data by resaving these files using the button below. Type Name Error hudson.model.Hudson CannotResolveClassException: hudson.views.tabbar.DropDownViewsTabBar : hudson.views.tabbar.DropDownViewsTabBar

          jieryn added a comment -

          @ritzmann this is expected

          jieryn added a comment - @ritzmann this is expected

          Steve Roth added a comment -

          This is preventing our sites (which have many views) from upgrading to a Jenkins version newer than 1.454. I presume others with many views may be in the same situation.

          Steve Roth added a comment - This is preventing our sites (which have many views) from upgrading to a Jenkins version newer than 1.454. I presume others with many views may be in the same situation.

          Jim Searle added a comment -

          Yes, we had the same issue, but discovered that it works in Internet Explorer...

          Jim Searle added a comment - Yes, we had the same issue, but discovered that it works in Internet Explorer...

          Code changed in jenkins
          User: Jesse Farinacci
          Path:
          pom.xml
          src/main/java/hudson/views/tabbar/DropDownGlobalConfiguration.java
          src/main/java/hudson/views/tabbar/DropDownViewsTabBar.java
          src/main/resources/hudson/views/DefaultViewsTabBar/DescriptorImpl/config.jelly
          src/main/resources/hudson/views/tabbar/DropDownGlobalConfiguration/config.jelly
          src/main/resources/hudson/views/tabbar/DropDownGlobalConfiguration/config.properties
          src/main/resources/hudson/views/tabbar/DropDownGlobalConfiguration/help-showJobCount.html
          src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/config.jelly
          src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/config.properties
          src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/help-showJobCount.html
          src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/viewTabs.jelly
          http://jenkins-ci.org/commit/dropdown-viewstabbar-plugin/e445570bdbc3002863f1e5841d5063bf22bd57f5
          Log:
          [FIXED JENKINS-13114] dropdown views taskbar: error when saving jenkins config page

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Farinacci Path: pom.xml src/main/java/hudson/views/tabbar/DropDownGlobalConfiguration.java src/main/java/hudson/views/tabbar/DropDownViewsTabBar.java src/main/resources/hudson/views/DefaultViewsTabBar/DescriptorImpl/config.jelly src/main/resources/hudson/views/tabbar/DropDownGlobalConfiguration/config.jelly src/main/resources/hudson/views/tabbar/DropDownGlobalConfiguration/config.properties src/main/resources/hudson/views/tabbar/DropDownGlobalConfiguration/help-showJobCount.html src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/config.jelly src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/config.properties src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/help-showJobCount.html src/main/resources/hudson/views/tabbar/DropDownViewsTabBar/viewTabs.jelly http://jenkins-ci.org/commit/dropdown-viewstabbar-plugin/e445570bdbc3002863f1e5841d5063bf22bd57f5 Log: [FIXED JENKINS-13114] dropdown views taskbar: error when saving jenkins config page

          jieryn added a comment -

          this new build solves the problem by exploiting newish (1.455) global configuration data .. it is the only way i was able to resolve the issue

          jieryn added a comment - this new build solves the problem by exploiting newish (1.455) global configuration data .. it is the only way i was able to resolve the issue

          Jim Searle added a comment -

          I don't know exactly how the plugin release process works, but the changelog still says this is unreleased?
          https://wiki.jenkins-ci.org/display/JENKINS/DropDown+ViewsTabBar+Plugin

          Jim Searle added a comment - I don't know exactly how the plugin release process works, but the changelog still says this is unreleased? https://wiki.jenkins-ci.org/display/JENKINS/DropDown+ViewsTabBar+Plugin

          jieryn added a comment - You can try the latest snapshot here: https://jenkins.ci.cloudbees.com/job/plugins/job/dropdown-viewstabbar/lastSuccessfulBuild/org.jenkins-ci.plugins$dropdown-viewstabbar-plugin/artifact/org.jenkins-ci.plugins/dropdown-viewstabbar-plugin/1.6-SNAPSHOT/dropdown-viewstabbar-plugin-1.6-SNAPSHOT.hpi

          Chris Withers added a comment -

          I'd prefer not to use snapshots. When is 1.6 going to be released?

          Chris Withers added a comment - I'd prefer not to use snapshots. When is 1.6 going to be released?

          jieryn added a comment -

          I'd prefer not to make a release that is untested by the people that report the problem...

          I will let it bake for a while unless I get some affirmation that the fix is good.

          jieryn added a comment - I'd prefer not to make a release that is untested by the people that report the problem... I will let it bake for a while unless I get some affirmation that the fix is good.

          Chris Withers added a comment -

          Okay, how do I install the snapshot?

          Chris Withers added a comment - Okay, how do I install the snapshot?

          Billy Foss added a comment -

          I have seen the problem as well and will test the snapshot plugin.
          Thanks for the fix!

          Billy Foss added a comment - I have seen the problem as well and will test the snapshot plugin. Thanks for the fix!

          jieryn added a comment -

          Download the .hpi file from the build system, link above, then go into Manage Jenkins > Manage Plugins > [Advanced] ( or $JENKINS/pluginManager/advanced ) and use the [Choose File] and [Upload] buttons to manually update the plugin.

          jieryn added a comment - Download the .hpi file from the build system, link above, then go into Manage Jenkins > Manage Plugins > [Advanced] ( or $JENKINS/pluginManager/advanced ) and use the [Choose File] and [Upload] buttons to manually update the plugin.

          Billy Foss added a comment -

          With the snapshot installed on 1.472 running on Fedora, I get the following when trying to save the Configuration page.

          Exception: java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from

          {"stapler-class":"hudson.views.tabbar.DropDownViewsTabBar"}

          Stacktrace:
          javax.servlet.ServletException: java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from

          {"stapler-class":"hudson.views.tabbar.DropDownViewsTabBar"}

          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:616)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:162)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
          at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
          at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
          at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
          at java.util.concurrent.FutureTask.run(FutureTask.java:166)
          at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
          at java.lang.Thread.run(Thread.java:722)
          Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from

          {"stapler-class":"hudson.views.tabbar.DropDownViewsTabBar"}

          at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:633)
          at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:377)
          at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:373)
          at hudson.views.ViewsTabBar$GlobalConfigurationImpl.configure(ViewsTabBar.java:84)
          at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2686)
          at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2649)
          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:601)
          at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
          at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
          at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
          at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
          ... 35 more
          Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class hudson.views.tabbar.DropDownViewsTabBar
          at org.kohsuke.stapler.RequestImpl.loadConstructorParamNames(RequestImpl.java:485)
          at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:76)
          at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:612)
          ... 50 more

          Billy Foss added a comment - With the snapshot installed on 1.472 running on Fedora, I get the following when trying to save the Configuration page. Exception: java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from {"stapler-class":"hudson.views.tabbar.DropDownViewsTabBar"} Stacktrace: javax.servlet.ServletException: java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from {"stapler-class":"hudson.views.tabbar.DropDownViewsTabBar"} at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:616) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488) at org.kohsuke.stapler.Stapler.service(Stapler.java:162) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:248) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at winstone.RequestDispatcher.forward(RequestDispatcher.java:331) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.views.ViewsTabBar from {"stapler-class":"hudson.views.tabbar.DropDownViewsTabBar"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:633) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:377) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:373) at hudson.views.ViewsTabBar$GlobalConfigurationImpl.configure(ViewsTabBar.java:84) at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2686) at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2649) 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:601) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574) ... 35 more Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class hudson.views.tabbar.DropDownViewsTabBar at org.kohsuke.stapler.RequestImpl.loadConstructorParamNames(RequestImpl.java:485) at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:76) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:612) ... 50 more

          Billy Foss added a comment -

          Further information

          • With the plugin installed and 'Default Views TabBar' selected, I can save the configuration
          • With the plugin installed and 'DropDownViewsViewsTabBar' selected, I get the Error 500 message and the exception above.
          • When I save the configuration and it fails with the 500 error, I lose any JDKs configured in the system. I can add them back in, but it is a pain to lose configuration. (fortunately I have hit this enough that I have a test instance of Jenkins to verify with)

          Thanks,
          Billy

          Billy Foss added a comment - Further information With the plugin installed and 'Default Views TabBar' selected, I can save the configuration With the plugin installed and 'DropDownViewsViewsTabBar' selected, I get the Error 500 message and the exception above. When I save the configuration and it fails with the 500 error, I lose any JDKs configured in the system. I can add them back in, but it is a pain to lose configuration. (fortunately I have hit this enough that I have a test instance of Jenkins to verify with) Thanks, Billy

          Chris Withers added a comment -

          Same here running in 1.472 on Mac OS X.

          Guess it was worth having people test those snapshots

          Chris Withers added a comment - Same here running in 1.472 on Mac OS X. Guess it was worth having people test those snapshots

          jieryn added a comment -

          I only tested against 1.455, where I used to be able to reproduce the error and now can not... I didn't test with 1.472, and this defect is filed against 1.455.

          I'm sure everyone is frustrated by this, I certainly am. I'm at a loss for what to do, it seems I will have to make a 1.6 release for 1.455 and then 1.7 for 1.472 ... can anyone seeing the original problem verify it is fixed for 1.455?

          jieryn added a comment - I only tested against 1.455, where I used to be able to reproduce the error and now can not... I didn't test with 1.472, and this defect is filed against 1.455. I'm sure everyone is frustrated by this, I certainly am. I'm at a loss for what to do, it seems I will have to make a 1.6 release for 1.455 and then 1.7 for 1.472 ... can anyone seeing the original problem verify it is fixed for 1.455?

          Billy Foss added a comment -

          I tried on a 1.465 install and it would not save even when 'Default View TabBar' was selected. Lost JDK configuration too.

          So it seems better on 1.472.

          Don't have 1.455 to test with.

          Billy Foss added a comment - I tried on a 1.465 install and it would not save even when 'Default View TabBar' was selected. Lost JDK configuration too. So it seems better on 1.472. Don't have 1.455 to test with.

          Bao Xiaopan(Bob) added a comment - - edited

          Thx for update, I will try now...

          Bao Xiaopan(Bob) added a comment - - edited Thx for update, I will try now...

          Billy Foss added a comment -

          FYI, With the current plugin snapshot version and 1.472, you can have the plugin installed, but it is still not usable. If you try to configure the default view to use the drop down tab, it will fail with and Error 500 and delete the JDK configuration.

          With 1.465, just having the plugin installed would lose JDK config when trying to update the Jenkins configuration.

          Just wanted to clarify the status so others know before trying.

          I suspect the deleting of the JDK config is a separate problem that is just happens to be triggered with the error path.

          Billy Foss added a comment - FYI, With the current plugin snapshot version and 1.472, you can have the plugin installed, but it is still not usable. If you try to configure the default view to use the drop down tab, it will fail with and Error 500 and delete the JDK configuration. With 1.465, just having the plugin installed would lose JDK config when trying to update the Jenkins configuration. Just wanted to clarify the status so others know before trying. I suspect the deleting of the JDK config is a separate problem that is just happens to be triggered with the error path.

          jieryn added a comment -

          I'm sorry no one could test for the original problem report version, that is 1.455. I will re-test against that version and then cut a release.

          I have no inclination to continue beyond that version until a new Jenkins LTS is cut. I am not going to be spending any more time or energy supporting plugins beyond the latest Jenkins LTS. I'm sorry, but I have a lot of things I want to do with my time, and constantly putting out new fires for moving target versions of Jenkins isn't even on the first page of the list..

          See https://groups.google.com/d/topic/jenkinsci-dev/9zb_UWkJyFA/discussion for the thread where I announced this on the mailing list.

          jieryn added a comment - I'm sorry no one could test for the original problem report version, that is 1.455. I will re-test against that version and then cut a release. I have no inclination to continue beyond that version until a new Jenkins LTS is cut. I am not going to be spending any more time or energy supporting plugins beyond the latest Jenkins LTS. I'm sorry, but I have a lot of things I want to do with my time, and constantly putting out new fires for moving target versions of Jenkins isn't even on the first page of the list.. See https://groups.google.com/d/topic/jenkinsci-dev/9zb_UWkJyFA/discussion for the thread where I announced this on the mailing list.

          jieryn added a comment - http://maven.jenkins-ci.org/content/repositories/releases/org/jenkins-ci/plugins/dropdown-viewstabbar-plugin/1.6/

          Steve Roth added a comment -

          Jesse, thanks for the fix! I apologize for the delay in responding – I missed the update.

          I am no longer seeing this issue in Jenkins 1.477.

          Steve Roth added a comment - Jesse, thanks for the fix! I apologize for the delay in responding – I missed the update. I am no longer seeing this issue in Jenkins 1.477.

            jieryn jieryn
            sroth Steve Roth
            Votes:
            16 Vote for this issue
            Watchers:
            21 Start watching this issue

              Created:
              Updated:
              Resolved: