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

Cannot load a class in depended plugin after install before restart

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • None
    • Jenkins ver. 1.509.2

      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

          [JENKINS-19976] Cannot load a class in depended plugin after install before restart

          Code changed in jenkins
          User: ikedam
          Path:
          test/src/test/java/hudson/PluginManagerTest.java
          http://jenkins-ci.org/commit/jenkins/8fde2e18a3a6da843d7719844e1fdd737e652c74
          Log:
          JENKINS-19976 Tests for the behavior of loading a depended plugin dynamically.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: test/src/test/java/hudson/PluginManagerTest.java http://jenkins-ci.org/commit/jenkins/8fde2e18a3a6da843d7719844e1fdd737e652c74 Log: JENKINS-19976 Tests for the behavior of loading a depended plugin dynamically.

          Code changed in jenkins
          User: ikedam
          Path:
          test/src/test/java/hudson/PluginManagerTest.java
          http://jenkins-ci.org/commit/jenkins/536bac6425b465ad98650083ba81655265e5508f
          Log:
          JENKINS-19976 Added tests how dynamic load works for @Extension.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: test/src/test/java/hudson/PluginManagerTest.java http://jenkins-ci.org/commit/jenkins/536bac6425b465ad98650083ba81655265e5508f Log: JENKINS-19976 Added tests how dynamic load works for @Extension.

          Code changed in jenkins
          User: ikedam
          Path:
          test/src/test/resources/plugins/dependee.hpi
          test/src/test/resources/plugins/depender.hpi
          http://jenkins-ci.org/commit/jenkins/2c047e0264a03465a3c017abf86c035a011c2479
          Log:
          JENKINS-19976 Added plugins to test dynamic loading.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: test/src/test/resources/plugins/dependee.hpi test/src/test/resources/plugins/depender.hpi http://jenkins-ci.org/commit/jenkins/2c047e0264a03465a3c017abf86c035a011c2479 Log: JENKINS-19976 Added plugins to test dynamic loading.

          Code changed in jenkins
          User: ikedam
          Path:
          test/src/test/java/hudson/PluginManagerTest.java
          http://jenkins-ci.org/commit/jenkins/38f670cf39224c40752e47e279710afeebc585e7
          Log:
          JENKINS-19976 Fixed confusing comments.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: test/src/test/java/hudson/PluginManagerTest.java http://jenkins-ci.org/commit/jenkins/38f670cf39224c40752e47e279710afeebc585e7 Log: JENKINS-19976 Fixed confusing comments.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          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
          test/src/test/resources/plugins/dependee.hpi
          test/src/test/resources/plugins/depender.hpi
          http://jenkins-ci.org/commit/jenkins/df8df45c27a229a6e3e2358b98db03a6028d8fc4
          Log:
          [FIXED JENKINS-19976] Merged #1054: fix class loading from dynamically installed optional dependencies.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: 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 test/src/test/resources/plugins/dependee.hpi test/src/test/resources/plugins/depender.hpi http://jenkins-ci.org/commit/jenkins/df8df45c27a229a6e3e2358b98db03a6028d8fc4 Log: [FIXED JENKINS-19976] Merged #1054: fix class loading from dynamically installed optional dependencies.

          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/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 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 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 added a comment - at which LTS version this was fixed i am facing this issue at 1.532.3 release on (2014/04/11).

          Daniel Beck added a comment -

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

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

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

              Created:
              Updated:
              Resolved: