-
Bug
-
Resolution: Unresolved
-
Critical
-
None
-
Powered by SuggestiMate
Jenkins is not starting up during the course of upgrade from version 2.471 to 2.489 due to failure of initialization of Scriptler plugin. Scriptler was upgraded from : 363.vd97ef616cb_f9 to 392.va_dce718b_3e40.
Below are the steps which was observed during the crash of the Jenkins.
- INFO jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
- INFO o.j.p.s.ScriptlerLoadingTasks#synchronizeConfig: initialize Scriptler
- INFO jenkins.InitReactorRunner$1#onAttained: Started all plugins
- SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed ScriptlerLoadingTasks.synchronizeConfig
- SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins
- INFO hudson.lifecycle.Lifecycle#onStatusUpdate: Stopping Jenkins
We disabled the Scriptler plugin by creating a file named scriptler.jpi.disabled under location: mnt/jenkins_home/plugins and pinned Scriptler to previous stable version of 363.vd97ef616cb_f9.
After disabling, Jenkins was able to start.
[JENKINS-75097] Failed ScriptlerLoadingTasks creating issue in Jenkins Startup
Thank you, markewaite , for reviewing this.
Regarding the detailed steps for replication, I regret to inform you that I cannot test changing the Scriptler version to 376.v152edd95b_ca_f to verify if it resolves the issue, as we cannot risk any production downtime.
I also noticed in the comment on ticket JENKINS-75019 that you mentioned a bug in the Scriptler version itself.
Could you please guide us on the next steps we should follow? Thanks for your understanding and cooperation over this.
Regarding the detailed steps for replication, I regret to inform you that I cannot test changing the Scriptler version to 376.v152edd95b_ca_f to verify if it resolves the issue, as we cannot risk any production downtime.
You can create a test installation with your plugin versions and your scriptler scripts and your startup configuration without any production downtime. I did that and described the technique in my comment on JENKINS-75019. That would also allow you to test the proposed fix to the scriptler plugin from PR-139. The incrementals instructions for that pull request describe how to use it from the Jenkins plugin manager web page and from the command line Jenkins plugin installation manager tool.
The instructions in "How to report an issue" are also very useful to help recreate a test Jenkins installation based on the production installation.
Could you please guide us on the next steps we should follow?
You can either test the earlier release of the Scriptler plugin or test the pre-release of the Scriptler plugin from the pull request. If you're unwilling to test either of those versions, then you'll need to wait until the next release of the plugin and test it.
Since you've not provided enough instructions for others to duplicate your issue, others can't test any of those versions to tell you if they've resolved your issue.
Similar problem here.
The last working plugin version was 376.v152edd95b_ca_f. Every plugin newer than that caused following error:
java.lang.ClassNotFoundException: hudson.plugins.gradle.injection.SystemProperty$Key at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:64) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) Caused: java.lang.NoClassDefFoundError: hudson/plugins/gradle/injection/SystemProperty$Key at PluginClassLoader for gradle//hudson.plugins.gradle.injection.MavenInjectionAware.<clinit>(MavenInjectionAware.java:18) at PluginClassLoader for gradle//hudson.plugins.gradle.injection.InjectionConfigChangeListener.<init>(InjectionConfigChangeListener.java:35) at PluginClassLoader for gradle//hudson.plugins.gradle.injection.InjectionConfigChangeListener$$FastClassByGuice$$48b241de.GUICE$TRAMPOLINE(<generated>) at PluginClassLoader for gradle//hudson.plugins.gradle.injection.InjectionConfigChangeListener$$FastClassByGuice$$48b241de.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:613) 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/gradle/injection/SystemProperty$Key at InjectionConfigChangeListener.<init>(Unknown Source) Learn more: [https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR] 1 error ====================== Full classname legend: ====================== InjectionConfigChangeListener: "hudson.plugins.gradle.injection.InjectionConfigChangeListener" ======================== 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:448) 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:406) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:397) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:353) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:80) at hudson.model.Queue.save(Queue.java:489) at jenkins.model.Jenkins._cleanUpPersistQueue(Jenkins.java:3956) at jenkins.model.Jenkins.cleanUp(Jenkins.java:3711) at hudson.lifecycle.ExitLifecycle.restart(ExitLifecycle.java:68) at hudson.lifecycle.ExitLifecycle.onBootFailure(ExitLifecycle.java:79) at hudson.util.BootFailure.publish(BootFailure.java:55) at hudson.WebAppMain$3.run(WebAppMain.java:274) 2025-01-29 20:12:15.775+0000 [id=30] WARNING h.m.listeners.SaveableListener#fireOnChange java.lang.ClassNotFoundException: hudson.plugins.jobConfigHistory.PluginUtils at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:64) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) Caused: java.lang.NoClassDefFoundError: hudson/plugins/jobConfigHistory/PluginUtils at PluginClassLoader for jobConfigHistory//hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.getPlugin(JobConfigHistorySaveableListener.java:74) at PluginClassLoader for jobConfigHistory//hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:58) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:82) at hudson.model.Queue.save(Queue.java:489) at jenkins.model.Jenkins._cleanUpPersistQueue(Jenkins.java:3956) at jenkins.model.Jenkins.cleanUp(Jenkins.java:3711) at hudson.lifecycle.ExitLifecycle.restart(ExitLifecycle.java:68) at hudson.lifecycle.ExitLifecycle.onBootFailure(ExitLifecycle.java:79) at hudson.util.BootFailure.publish(BootFailure.java:55) at hudson.WebAppMain$3.run(WebAppMain.java:274) 2025-01-29 20:12:15.776+0000 [id=30] INFO hudson.lifecycle.Lifecycle#onStatusUpdate: Jenkins stopped 2025-01-29 20:12:15.777+0000 [id=32] INFO winstone.Logger#logInternal: JVM is terminating. Shutting down Jetty 2025-01-29 20:12:15.777+0000 [id=32] INFO org.eclipse.jetty.server.Server#doStop: Stopped oejs.Server@9225652 {STOPPING} [12.0.16,sto=0] 2025-01-29 20:12:15.788+0000 [id=32] INFO o.e.j.server.AbstractConnector#doStop: Stopped ServerConnector@1a1d3c1a {HTTP/1.1, (http/1.1)} \{0.0.0.0:8080} 2025-01-29 20:12:15.791+0000 [id=32] INFO hudson.WebAppMain#contextDestroyed: Shutting down a Jenkins instance that was still starting up java.lang.Throwable: reason at hudson.WebAppMain.contextDestroyed(WebAppMain.java:419) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.callContextDestroyed(ContextHandler.java:910) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletContextHandler.callContextDestroyed(ServletContextHandler.java:608) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.contextDestroyed(ContextHandler.java:867) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler.doStop(ServletHandler.java:307) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:202) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.AbstractHandler.doStop(AbstractHandler.java:88) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.security.SecurityHandler.doStop(SecurityHandler.java:414) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.security.ConstraintSecurityHandler.doStop(ConstraintSecurityHandler.java:413) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:202) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.AbstractHandler.doStop(AbstractHandler.java:88) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:202) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.AbstractHandler.doStop(AbstractHandler.java:88) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.stopContext(ContextHandler.java:890) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletContextHandler.stopContext(ServletContextHandler.java:371) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.webapp.WebAppContext.stopWebapp(WebAppContext.java:1367) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.webapp.WebAppContext.stopContext(WebAppContext.java:1326) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.doStopInContext(ContextHandler.java:741) at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1446) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.doStop(ContextHandler.java:734) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletContextHandler.doStop(ServletContextHandler.java:284) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:202) at Jenkins Main ClassLoader//org.eclipse.jetty.server.Handler$Abstract.doStop(Handler.java:499) at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.ContextHandler.lambda$doStop$1(ContextHandler.java:802) at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1452) at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:802) at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler.doStop(ContextHandler.java:2752) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:202) at Jenkins Main ClassLoader//org.eclipse.jetty.server.Handler$Abstract.doStop(Handler.java:499) at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.gzip.GzipHandler.doStop(GzipHandler.java:138) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:202) at Jenkins Main ClassLoader//org.eclipse.jetty.server.Handler$Abstract.doStop(Handler.java:499) at Jenkins Main ClassLoader//org.eclipse.jetty.server.Server.doStop(Server.java:688) at Jenkins Main ClassLoader//org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132) at Jenkins Main ClassLoader//winstone.Launcher.shutdown(Launcher.java:438) at Jenkins Main ClassLoader//winstone.ShutdownHook.run(ShutdownHook.java:28) jenkins.service: Main process exited, code=exited, status=5/NOTINSTALLED jenkins.service: Failed with result 'exit-code'.
tested on several versions newer than 376.v152edd95b_ca_f and on the last one available: 397.vc46f19cb_3c18.
Thanks for sharing your experience ariva. Unfortunately, you've not provided enough details so that others can duplicate the problem. Without the details, it is much more difficult to fix the issue because the fixer can't be sure that they've duplicated the issue. Please provide enough details so that others can duplicate the failure with a fresh Jenkins installation.
This may be a duplicate of
JENKINS-75019. Does it also work with scriptler plugin 376.v152edd95b_ca_f?Can you provide detailed steps so that others can duplicate the failure on a fresh installation of Jenkins?