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

Cannot load a class in depended plugin after install before restart

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved (View Workflow)
    • Minor
    • Resolution: Fixed
    • core
    • None
    • Jenkins ver. 1.509.2

    Description

      At some point this started happening on attempt to delete a job:

      Status Code: 500
      Exception: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/conditionalbuildstep/ConditionalBuildStepHelper
      Stacktrace:

      javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/conditionalbuildstep/ConditionalBuildStepHelper
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:719)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:583)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:214)
      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.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      at hudson.plugins.scm_sync_configuration.extensions.ScmSyncConfigurationFilter$1.call(ScmSyncConfigurationFilter.java:46)
      at hudson.plugins.scm_sync_configuration.ScmSyncConfigurationDataProvider.provideRequestDuring(ScmSyncConfigurationDataProvider.java:103)
      at hudson.plugins.scm_sync_configuration.extensions.ScmSyncConfigurationFilter.doFilter(ScmSyncConfigurationFilter.java:42)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:208)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:181)
      at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      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:48)
      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.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
      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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64)
      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:66)
      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 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:227)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
      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:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:722)
      Caused by: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/conditionalbuildstep/ConditionalBuildStepHelper
      at hudson.plugins.parameterizedtrigger.Plugin$RenameListener.deleteInConditionalBuildStep(Plugin.java:152)
      at hudson.plugins.parameterizedtrigger.Plugin$RenameListener.onDeleted(Plugin.java:105)
      at jenkins.model.Jenkins.onDeleted(Jenkins.java:2431)
      at jenkins.model.Jenkins.onDeleted(Jenkins.java:309)
      at hudson.model.AbstractItem.invokeOnDeleted(AbstractItem.java:523)
      at hudson.model.AbstractItem.delete(AbstractItem.java:510)
      at hudson.model.Job.delete(Job.java:587)
      at hudson.model.AbstractProject.doDoDelete(AbstractProject.java:1880)
      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.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:29)
      at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:389)
      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:677)
      ... 71 more

      Attachments

        Issue Links

          Activity

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            core/src/main/java/hudson/ClassicPluginStrategy.java
            core/src/main/java/hudson/PluginManager.java
            core/src/main/java/hudson/PluginStrategy.java
            test/src/test/java/hudson/PluginManagerTest.java
            http://jenkins-ci.org/commit/jenkins/56b360d6f34a1091a8bf5b73f22baca4072560ef
            Log:
            JENKINS-19976 Touch-ups to PR #1054.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/java/hudson/ClassicPluginStrategy.java core/src/main/java/hudson/PluginManager.java core/src/main/java/hudson/PluginStrategy.java test/src/test/java/hudson/PluginManagerTest.java http://jenkins-ci.org/commit/jenkins/56b360d6f34a1091a8bf5b73f22baca4072560ef Log: JENKINS-19976 Touch-ups to PR #1054.
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #3250
            [FIXED JENKINS-19976] Enable plugins to load classes from optionally depending plugins even without restarting after depended ones installed. (Revision 87e2a7e8d5ac995a05b82c1e7839285102c111d0)
            JENKINS-19976 Tests for the behavior of loading a depended plugin dynamically. (Revision 8fde2e18a3a6da843d7719844e1fdd737e652c74)
            JENKINS-19976 Added tests how dynamic load works for @Extension. (Revision 536bac6425b465ad98650083ba81655265e5508f)
            JENKINS-19976 Added plugins to test dynamic loading. (Revision 2c047e0264a03465a3c017abf86c035a011c2479)
            JENKINS-19976 Fixed confusing comments. (Revision 38f670cf39224c40752e47e279710afeebc585e7)
            JENKINS-19976 Touch-ups to PR #1054. (Revision 56b360d6f34a1091a8bf5b73f22baca4072560ef)

            Result = SUCCESS
            devld : 87e2a7e8d5ac995a05b82c1e7839285102c111d0
            Files :

            • core/src/main/java/hudson/PluginStrategy.java
            • core/src/main/java/hudson/PluginManager.java
            • core/src/main/java/hudson/ClassicPluginStrategy.java

            devld : 8fde2e18a3a6da843d7719844e1fdd737e652c74
            Files :

            • test/src/test/java/hudson/PluginManagerTest.java

            devld : 536bac6425b465ad98650083ba81655265e5508f
            Files :

            • test/src/test/java/hudson/PluginManagerTest.java

            devld : 2c047e0264a03465a3c017abf86c035a011c2479
            Files :

            • test/src/test/resources/plugins/depender.hpi
            • test/src/test/resources/plugins/dependee.hpi

            devld : 38f670cf39224c40752e47e279710afeebc585e7
            Files :

            • test/src/test/java/hudson/PluginManagerTest.java

            Jesse Glick : 56b360d6f34a1091a8bf5b73f22baca4072560ef
            Files :

            • core/src/main/java/hudson/PluginManager.java
            • core/src/main/java/hudson/PluginStrategy.java
            • test/src/test/java/hudson/PluginManagerTest.java
            • core/src/main/java/hudson/ClassicPluginStrategy.java
            • changelog.html
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #3250 [FIXED JENKINS-19976] Enable plugins to load classes from optionally depending plugins even without restarting after depended ones installed. (Revision 87e2a7e8d5ac995a05b82c1e7839285102c111d0) JENKINS-19976 Tests for the behavior of loading a depended plugin dynamically. (Revision 8fde2e18a3a6da843d7719844e1fdd737e652c74) JENKINS-19976 Added tests how dynamic load works for @Extension. (Revision 536bac6425b465ad98650083ba81655265e5508f) JENKINS-19976 Added plugins to test dynamic loading. (Revision 2c047e0264a03465a3c017abf86c035a011c2479) JENKINS-19976 Fixed confusing comments. (Revision 38f670cf39224c40752e47e279710afeebc585e7) JENKINS-19976 Touch-ups to PR #1054. (Revision 56b360d6f34a1091a8bf5b73f22baca4072560ef) Result = SUCCESS devld : 87e2a7e8d5ac995a05b82c1e7839285102c111d0 Files : core/src/main/java/hudson/PluginStrategy.java core/src/main/java/hudson/PluginManager.java core/src/main/java/hudson/ClassicPluginStrategy.java devld : 8fde2e18a3a6da843d7719844e1fdd737e652c74 Files : test/src/test/java/hudson/PluginManagerTest.java devld : 536bac6425b465ad98650083ba81655265e5508f Files : test/src/test/java/hudson/PluginManagerTest.java devld : 2c047e0264a03465a3c017abf86c035a011c2479 Files : test/src/test/resources/plugins/depender.hpi test/src/test/resources/plugins/dependee.hpi devld : 38f670cf39224c40752e47e279710afeebc585e7 Files : test/src/test/java/hudson/PluginManagerTest.java Jesse Glick : 56b360d6f34a1091a8bf5b73f22baca4072560ef Files : core/src/main/java/hudson/PluginManager.java core/src/main/java/hudson/PluginStrategy.java test/src/test/java/hudson/PluginManagerTest.java core/src/main/java/hudson/ClassicPluginStrategy.java changelog.html

            at which LTS version this was fixed
            i am facing this issue at 1.532.3 release on (2014/04/11).

            hiteswar_kumar hiteswar kumar added a comment - at which LTS version this was fixed i am facing this issue at 1.532.3 release on (2014/04/11).
            danielbeck Daniel Beck added a comment -

            It's not in any LTS. Just restart your instance.

            danielbeck Daniel Beck added a comment - It's not in any LTS. Just restart your instance.

            Thanks Daniel for your comment.
            Jenkins worked fine after restart.
            Dont you think it should be fixed at core or somewhere so such plugin(dependent on other plugins) could be installed by GUI directly without restarting instance ?
            please share you comment.

            hiteswar_kumar hiteswar kumar added a comment - Thanks Daniel for your comment. Jenkins worked fine after restart. Dont you think it should be fixed at core or somewhere so such plugin(dependent on other plugins) could be installed by GUI directly without restarting instance ? please share you comment.

            People

              ikedam ikedam
              pancake pancake
              Votes:
              3 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: