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 jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to