Missing dependency on Job Config History plugin

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Minor
    • Component/s: 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.

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

              Created:
              Updated: