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

dropdown views taskbar: error when saving jenkins config page

    Details

    • Similar Issues:

      Description

      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)

        Attachments

          Issue Links

            Activity

            Hide
            xiaopan3322 Bao Xiaopan(Bob) added a comment - - edited

            Thx for update, I will try now...

            Show
            xiaopan3322 Bao Xiaopan(Bob) added a comment - - edited Thx for update, I will try now...
            Hide
            billy_foss 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.

            Show
            billy_foss 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.
            Hide
            jieryn 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.

            Show
            jieryn 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.
            Show
            jieryn jieryn added a comment - http://maven.jenkins-ci.org/content/repositories/releases/org/jenkins-ci/plugins/dropdown-viewstabbar-plugin/1.6/
            Hide
            sroth 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.

            Show
            sroth 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.

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: