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

Pipeline Maven plugin's extension points do not load correctly when Pipeline: Job plugin is not installed

XMLWordPrintable

      Pipeline: Job plugin is declared as optional in Maven Pipeline Plugin, but Listener extension point implementations do not handle it correctly. It results in extension loading failures when Jenkins starts up. The impact on the plugin behavior is unclear, I doubt anybody really uses it without Pipeline: Job plugin.

      I would just propose to make the plugin a mandatory dependency. Alternative approach is to properly check classes in the extension point static initializer methods.

      May 09, 2018 4:23:13 PM jenkins.InitReactorRunner$1 onAttained
      INFO: Listed all plugins
      May 09, 2018 4:23:14 PM hudson.ExtensionFinder$Sezpoz scout
      WARNING: Failed to scout org.jenkinsci.plugins.pipeline.maven.listeners.DownstreamPipelineTriggerRunListener
      java.lang.NoClassDefFoundError: org/jenkinsci/plugins/workflow/job/WorkflowRun
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:348)
      	at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:669)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:476)
      	at hudson.ExtensionList.load(ExtensionList.java:366)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304)
      	at hudson.ExtensionList.getComponents(ExtensionList.java:169)
      	at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1093)
      	at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:83)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ClassNotFoundException: org.jenkinsci.plugins.workflow.job.WorkflowRun
      	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
      	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
      	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 17 more
      
      May 09, 2018 4:23:14 PM hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
      WARNING: Failed to load org.jenkinsci.plugins.pipeline.maven.listeners.DatabaseSyncItemListener
      java.lang.NoClassDefFoundError: org/jenkinsci/plugins/workflow/job/WorkflowJob
      	at java.lang.Class.getDeclaredMethods0(Native Method)
      	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
      	at java.lang.Class.privateGetPublicMethods(Class.java:2902)
      	at java.lang.Class.getMethods(Class.java:1615)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:477)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:506)
      	at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
      	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
      	at com.google.inject.spi.Elements.getElements(Elements.java:110)
      	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
      	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
      	at com.google.inject.Guice.createInjector(Guice.java:96)
      	at com.google.inject.Guice.createInjector(Guice.java:73)
      	at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:280)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
      	at java.lang.Class.newInstance(Class.java:442)
      	at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
      	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:634)
      	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:609)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:482)
      	at hudson.ExtensionList.load(ExtensionList.java:366)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304)
      	at hudson.ExtensionList.getComponents(ExtensionList.java:169)
      	at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1093)
      	at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:83)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ClassNotFoundException: org.jenkinsci.plugins.workflow.job.WorkflowJob
      	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
      	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
      	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 36 more
      
      May 09, 2018 4:23:14 PM hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
      WARNING: Failed to load org.jenkinsci.plugins.pipeline.maven.listeners.DatabaseSyncRunListener
      java.lang.LinkageError: Failed to resolve class org.jenkinsci.plugins.pipeline.maven.listeners.DatabaseSyncRunListener
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:489)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:506)
      	at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
      	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
      	at com.google.inject.spi.Elements.getElements(Elements.java:110)
      	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
      	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
      	at com.google.inject.Guice.createInjector(Guice.java:96)
      	at com.google.inject.Guice.createInjector(Guice.java:73)
      	at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:280)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
      	at java.lang.Class.newInstance(Class.java:442)
      	at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
      	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:634)
      	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:609)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:482)
      	at hudson.ExtensionList.load(ExtensionList.java:366)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304)
      	at hudson.ExtensionList.getComponents(ExtensionList.java:169)
      	at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1093)
      	at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:83)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.TypeNotPresentException: Type org.jenkinsci.plugins.workflow.job.WorkflowRun not present
      	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
      	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
      	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      	at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
      	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
      	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      	at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90)
      	at java.lang.Class.getGenericSuperclass(Class.java:777)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:470)
      	... 31 more
      Caused by: java.lang.ClassNotFoundException: org.jenkinsci.plugins.workflow.job.WorkflowRun
      	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
      	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
      	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:348)
      	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
      	... 39 more
      
      May 09, 2018 4:23:14 PM hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
      WARNING: Failed to load org.jenkinsci.plugins.pipeline.maven.listeners.DownstreamPipelineTriggerRunListener
      java.lang.LinkageError: Failed to resolve class org.jenkinsci.plugins.pipeline.maven.listeners.DownstreamPipelineTriggerRunListener
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:489)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:506)
      	at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
      	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
      	at com.google.inject.spi.Elements.getElements(Elements.java:110)
      	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
      	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
      	at com.google.inject.Guice.createInjector(Guice.java:96)
      	at com.google.inject.Guice.createInjector(Guice.java:73)
      	at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:280)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
      	at java.lang.Class.newInstance(Class.java:442)
      	at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
      	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:634)
      	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:609)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:482)
      	at hudson.ExtensionList.load(ExtensionList.java:366)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304)
      	at hudson.ExtensionList.getComponents(ExtensionList.java:169)
      	at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1093)
      	at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:83)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102)
      	at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.TypeNotPresentException: Type org.jenkinsci.plugins.workflow.job.WorkflowRun not present
      	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
      	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
      	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      	at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
      	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
      	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      	at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90)
      	at java.lang.Class.getGenericSuperclass(Class.java:777)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:470)
      	... 31 more
      Caused by: java.lang.ClassNotFoundException: org.jenkinsci.plugins.workflow.job.WorkflowRun
      	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
      	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
      	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:348)
      	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
      	... 39 more
      
      May 09, 2018 4:23:15 PM jenkins.InitReactorRunner$1 onAttained
      INFO: Prepared all plugins
      
      

            cleclerc Cyrille Le Clerc
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: