Issue Type: Bug Bug
Assignee: Mirko Friedenhagen
Components: jobconfighistory
Created: 12/Dec/13 3:03 PM
Description:

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)
Environment: 1.509.4
Project: Jenkins
Labels: threads testing
Priority: Major Major
Reporter: Jesse Glick
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to