-
Bug
-
Resolution: Fixed
-
Major
-
1.509.4
During a functional test in which the jobConfigHistory (2.5) was loaded, I observed a deadlock:
"Trigger.init": waiting to lock monitor 0x6ed0f06c (object 0xa2a5c080, a hudson.DescriptorExtensionList), which is held by "UpdateCenter.init" "UpdateCenter.init": waiting to lock monitor 0x69e32098 (object 0xb2602558, a hudson.ExtensionList$Lock), which is held by "Trigger.init" "Trigger.init": at hudson.ExtensionList.ensureLoaded(ExtensionList.java:246) - waiting to lock <0xa2a5c080> (a hudson.DescriptorExtensionList) at hudson.ExtensionList.iterator(ExtensionList.java:138) at hudson.model.User.load(User.java:150) - locked <0xa2b26450> (a hudson.model.User) at hudson.model.User.<init>(User.java:121) at hudson.model.User.getOrCreate(User.java:342) at hudson.model.User.get(User.java:331) at hudson.model.User.get(User.java:299) at hudson.model.User.get(User.java:354) at hudson.model.User.current(User.java:366) at hudson.plugins.jobConfigHistory.PluginUtils.getHistoryDao(PluginUtils.java:78) at hudson.plugins.jobConfigHistory.PluginUtils.getHistoryDao(PluginUtils.java:62) at hudson.plugins.jobConfigHistory.JobConfigHistoryPurger.<init>(JobConfigHistoryPurger.java:48) at hudson.plugins.jobConfigHistory.JobConfigHistoryPurger$$FastClassByGuice$$737d44b4.newInstance(<generated>) at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61) at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:59) - locked <0xb26c2c38> (a com.google.inject.Scopes$1$1) at hudson.ExtensionFinder$GuiceFinder$4$1.get(ExtensionFinder.java:422) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011) at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:391) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:382) at hudson.ExtensionFinder._find(ExtensionFinder.java:151) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:308) at hudson.ExtensionList.load(ExtensionList.java:295) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248) - locked <0xb2602558> (a hudson.ExtensionList$Lock) at hudson.ExtensionList.iterator(ExtensionList.java:138) at hudson.triggers.Trigger.init(Trigger.java:293) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120) at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259) at jenkins.model.Jenkins$7.runTask(Jenkins.java:893) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) "UpdateCenter.init": at hudson.ExtensionList.ensureLoaded(ExtensionList.java:246) - waiting to lock <0xb2602558> (a hudson.ExtensionList$Lock) at hudson.ExtensionList.getComponents(ExtensionList.java:149) at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:182) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248) - locked <0xa2a5c080> (a hudson.DescriptorExtensionList) at hudson.ExtensionList.iterator(ExtensionList.java:138) at hudson.model.User.load(User.java:150) - locked <0xa2a5bcd0> (a hudson.model.User) at hudson.model.User.<init>(User.java:121) at hudson.model.User.getOrCreate(User.java:342) at hudson.model.User.get(User.java:331) at hudson.model.User.get(User.java:299) at hudson.model.User.get(User.java:354) at hudson.model.User.current(User.java:366) at hudson.plugins.jobConfigHistory.PluginUtils.getHistoryDao(PluginUtils.java:78) at hudson.plugins.jobConfigHistory.PluginUtils.getHistoryDao(PluginUtils.java:62) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.getHistoryDao(JobConfigHistorySaveableListener.java:49) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:28) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:78) at hudson.model.UpdateCenter.save(UpdateCenter.java:514) - locked <0xb269fbd8> (a hudson.model.UpdateCenter) at hudson.util.PersistedList.onModified(PersistedList.java:173) at hudson.util.PersistedList._onModified(PersistedList.java:181) at hudson.util.PersistedList.add(PersistedList.java:72) at hudson.model.UpdateCenter.load(UpdateCenter.java:544) - locked <0xb269fbd8> (a hudson.model.UpdateCenter) at hudson.model.UpdateCenter.init(UpdateCenter.java:1538) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120) at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259) at jenkins.model.Jenkins$7.runTask(Jenkins.java:893) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)
- is related to
-
JENKINS-55361 DescriptorExtensionList not locking correctly, leading to deadlocks
- Resolved