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

Missing dependency on Job Config History plugin

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • mail-watcher-plugin
    • None

      A while ago we have uninstalled the Job config History plugin. We observed, that since then we don't get any notifications regarding node online status anymore. We have found in the logs:

      Failed to instantiate Key[type=org.jenkinsci.plugins.mailwatcher.WatcherComputerListener, annotation=[none]]; skipping this component
      java.lang.ClassNotFoundException: hudson.plugins.jobConfigHistory.JobConfigHistory
      	at java.base/java.net.URLClassLoader.findClass(Unknown Source)
      	at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
      	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
      	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
      Caused: java.lang.NoClassDefFoundError: hudson/plugins/jobConfigHistory/JobConfigHistory
      	at org.jenkinsci.plugins.mailwatcher.MailWatcherMailer.<init>(MailWatcherMailer.java:67)
      	at org.jenkinsci.plugins.mailwatcher.WatcherComputerListener.<init>(WatcherComputerListener.java:57)
      	at org.jenkinsci.plugins.mailwatcher.WatcherComputerListener$$FastClassByGuice$$62ce4494.GUICE$TRAMPOLINE(<generated>)
      	at org.jenkinsci.plugins.mailwatcher.WatcherComputerListener$$FastClassByGuice$$62ce4494.apply(<generated>)
      	at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82)
      	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
      	at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:33)
      	at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:98)
      	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:610)
      	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:117)
      	at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66)
      	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:93)
      	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
      	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      Caused: com.google.inject.ProvisionException: Unable to provision, see the following errors:
      
      1) [Guice/ErrorInjectingConstructor]: NoClassDefFoundError: hudson/plugins/jobConfigHistory/JobConfigHistory
        at WatcherComputerListener.<init>(WatcherComputerListener.java:56)
      
      Learn more:
        https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR
      
      1 error
      
      ======================
      Full classname legend:
      ======================
      WatcherComputerListener: "org.jenkinsci.plugins.mailwatcher.WatcherComputerListener"
      ========================
      End of classname legend:
      ========================
      
      	at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251)
      	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
      	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
      	at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:445)
      	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
      	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1148)
      	at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:403)
      	at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:394)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
      	at hudson.ExtensionList.load(ExtensionList.java:384)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320)
      	at hudson.ExtensionList.iterator(ExtensionList.java:172)
      	at jenkins.util.Listeners.lambda$notify$0(Listeners.java:57)
      	at jenkins.util.Listeners.notify(Listeners.java:70)
      	at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:278)
      	at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1705)
      	at jenkins.model.Nodes$6.run(Nodes.java:351)
      	at hudson.model.Queue._withLock(Queue.java:1401)
      	at hudson.model.Queue.withLock(Queue.java:1275)
      	at jenkins.model.Nodes.load(Nodes.java:346)
      	at jenkins.model.Jenkins$12.run(Jenkins.java:3497)
      	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:177)
      	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
      	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1170)
      	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
      	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at java.base/java.lang.Thread.run(Unknown Source)
      

      I think the Mail Watcher Plugin should depend on Job Config History Plugin.

            Unassigned Unassigned
            amesser Andreas Messer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: