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

The installation of the latest version of Groovy Events Listener fails

XMLWordPrintable

      Hi,

      We found an error during the installation of the `Groovy Events Listener` plugin in the latest version of Jenkins LTS (2.222.4). We found the same error if we have a previous version of the plugin (1.014) installed in our Jenkins instance and we try to upgrade it.

      This is the stacktrace error when we try to install/upgrade it:

      SEVERE  h.model.UpdateCenter$DownloadJob#run: Failed to install groovy-events-listener-plugin
      groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.4.8 and you are trying to load version 2.4.12
          at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$DefaultModuleListener.onModule(MetaClassRegistryImpl.java:513)
          at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromProperties(ExtensionModuleScanner.java:80)
          at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromMetaInf(ExtensionModuleScanner.java:74)
          at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanClasspathModules(ExtensionModuleScanner.java:56)
          at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:113)
          at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:74)
          at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:36)
      Caused: java.lang.ExceptionInInitializerError
          at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:66)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:75)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:162)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
          at org.jenkinsci.plugins.globalEventsPlugin.GlobalEventsPlugin.<clinit>(GlobalEventsPlugin.groovy:22)
          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 hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:374)
      Caused: java.io.IOException: Unable to load org.jenkinsci.plugins.globalEventsPlugin.GlobalEventsPlugin from groovy-events-listener-plugin
          at hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:380)
          at hudson.PluginManager.dynamicLoad(PluginManager.java:930)
      Caused: java.io.IOException: Failed to install groovy-events-listener-plugin plugin
          at hudson.PluginManager.dynamicLoad(PluginManager.java:942)
          at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2122)
      Caused: java.io.IOException: Failed to dynamically deploy this plugin
          at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2126)
          at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1806)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:111)
          at java.lang.Thread.run(Thread.java:748)
      

      And this is the error when the Jenkins instance starts and we forced the installation of the plugin previously:

      2020-06-12 14:21:32.857+0000 [id=67]    WARNING jenkins.model.Jenkins$5#runTask: Loading plugin Groovy Events Listener Plugin v1.017 (groovy-events-listener-plugin) failed perhaps due to plugin dependency issues
      groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.4.8 and you are trying to load version 2.4.12
          at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$DefaultModuleListener.onModule(MetaClassRegistryImpl.java:513)
          at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromProperties(ExtensionModuleScanner.java:80)
          at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromMetaInf(ExtensionModuleScanner.java:74)
          at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanClasspathModules(ExtensionModuleScanner.java:56)
          at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:113)
          at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:74)
          at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:36)
      Caused: java.lang.ExceptionInInitializerError
          at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:66)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:75)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:162)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
          at org.jenkinsci.plugins.globalEventsPlugin.GlobalEventsPlugin.<clinit>(GlobalEventsPlugin.groovy:22)
          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 hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:374)
      Caused: java.io.IOException: Unable to load org.jenkinsci.plugins.globalEventsPlugin.GlobalEventsPlugin from groovy-events-listener-plugin
          at hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:380)
          at hudson.PluginManager$2$1$1.run(PluginManager.java:547)
          at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
          at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
          at jenkins.model.Jenkins$5.runTask(Jenkins.java:1133)
          at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
          at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
          at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          at java.lang.Thread.run(Thread.java:748)

       

      We reviewed the Jenkins instance and it seems that version (2.222.4) and previous version using the `groovy-all.2.4.12` java library version (is locate in the `/war/WEB-INF/lib` folder) and the plugin is using the `groovy-all.2.4.8` version). 

      It seems the `PluginFirstClassLoader = true` parameter was included in the `MANIFEST.MF` file of the plugin in the `1.015` version. 

      We tested using the version `1.014`, `1.015`, `1.016` and `1.017`, and only the version `1.014` was installed successfully in our Jenkins instance. And this is the only version (of the tested version by us) which has not that parameter in the `MANIFEST.MF` file.

       

      Kind regards,

       

            jequals5 Marky Jackson
            ironcerocloudbees Ignacio Roncero Bazarra
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: