[ https://issues.apache.org/jira/browse/TAP5-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-2460. -------------------------------------- Resolution: Cannot Reproduce You have not provided nearly enough information to track this down. Some details about your IoC container configuration would be useful. Can you reduce this to simple example or test case? If so, attach and reopen this issue. > deadlock found when start ioc registry > -------------------------------------- > > Key: TAP5-2460 > URL: https://issues.apache.org/jira/browse/TAP5-2460 > Project: Tapestry 5 > Issue Type: Bug > Affects Versions: 5.3.8 > Reporter: Jun Tsai > Priority: Blocker > Attachments: deadlock.txt > > > {noformat} > Found one Java-level deadlock: > ============================= > "Tapestry PeriodicExecutor": > waiting for ownable synchronizer 0x00000007aeb9e660, (a > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync), > which is held by "main" > "main": > waiting to lock monitor 0x00007f988c803658 (object 0x00000007acb51028, a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl), > which is held by "Tapestry PeriodicExecutor" > Java stack information for the threads listed above: > =================================================== > "Tapestry PeriodicExecutor": > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000007aeb9e660> (a > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:964) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1282) > at > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:731) > at > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:75) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:213) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.getService(ModuleImpl.java:109) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:421) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:868) > at > org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:57) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:257) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:50) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:289) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:287) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:293) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:264) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$28.invoke(InternalUtils.java:1679) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$28.invoke(InternalUtils.java:1677) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.createMethodInvocationPlan(InternalUtils.java:1675) > at > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.getPlan(ServiceBuilderMethodInvoker.java:49) > at > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:60) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) > at > org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) > at > org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46) > at > org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63) > at > org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54) > at > org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) > at > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:66) > - locked <0x00000007acb2a618> (a > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator) > at > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:54) > at $ParallelExecutor_13c87d51587ee879.delegate(Unknown Source) > at $ParallelExecutor_13c87d51587ee879.invoke(Unknown Source) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job.start(PeriodicExecutorImpl.java:142) > - locked <0x00000007acfe39e0> (a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl.executeCurrentBatch(PeriodicExecutorImpl.java:308) > - locked <0x00000007acb51028> (a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl.run(PeriodicExecutorImpl.java:249) > at java.lang.Thread.run(Thread.java:744) > "main": > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl.addJob(PeriodicExecutorImpl.java:222) > - waiting to lock <0x00000007acb51028> (a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl) > at > $PeriodicExecutor_13c87d51587ee87a.advised$addJob_13c87d51587ee87c(Unknown > Source) > at > $PeriodicExecutor_13c87d51587ee87a$Invocation_addJob_13c87d51587ee87b.proceedToAdvisedMethod(Unknown > Source) > at > org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:84) > at > monad.core.LocalMonadCoreModule$$anon$1.advise(LocalMonadCoreModule.scala:72) > at > org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86) > at $PeriodicExecutor_13c87d51587ee87a.addJob(Unknown Source) > at $PeriodicExecutor_13c87d51587ee874.addJob(Unknown Source) > at > monad.support.services.ZkClientSupport$class.startCheckFailed(ZkClientSupport.scala:117) > at > monad.support.services.ZookeeperTemplate.startCheckFailed(ZookeeperTemplate.scala:14) > at > nirvana.core.LocalNirvanaCoreModule$.buildZookeeperTemplate(LocalNirvanaCoreModule.scala:26) > at > nirvana.core.LocalNirvanaCoreModule.buildZookeeperTemplate(LocalNirvanaCoreModule.scala) > 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 > org.apache.tapestry5.ioc.internal.util.MethodInvoker.invoke(MethodInvoker.java:50) > at > org.apache.tapestry5.ioc.internal.util.LoggingInvokableWrapper.invoke(LoggingInvokableWrapper.java:42) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.util.ConstructionPlan.createObject(ConstructionPlan.java:60) > at > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:60) > at > org.apache.tapestry5.ioc.internal.ModuleImpl$4.invoke(ModuleImpl.java:284) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:332) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.access$100(ModuleImpl.java:39) > at > org.apache.tapestry5.ioc.internal.ModuleImpl$1.invoke(ModuleImpl.java:191) > at > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:140) > at > org.apache.tapestry5.ioc.internal.ModuleImpl$2.invoke(ModuleImpl.java:207) > at > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:213) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.getService(ModuleImpl.java:109) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:421) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAlone(RegistryImpl.java:670) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAndMarkers(RegistryImpl.java:684) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:643) > at > org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:47) > at > org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:60) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:45) > at $MasterObjectProvider_13c87d51587ee86c.provide(Unknown Source) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:871) > at > org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:57) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:257) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:50) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:289) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:287) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:293) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1488) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1484) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.util.InternalUtils.createConstructorConstructionPlan(InternalUtils.java:1480) > at > org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.getPlan(ConstructorServiceCreator.java:52) > at > org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:61) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) > at > org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) > at > org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46) > at > org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63) > at > org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54) > at > org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124) > at > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) > at > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:66) > - locked <0x00000007abca9c00> (a > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator) > at > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:54) > at > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.eagerLoadService(JustInTimeObjectCreator.java:86) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java:323) > at > org.apache.tapestry5.ioc.internal.RegistryWrapper.performRegistryStartup(RegistryWrapper.java:80) > at > monad.support.services.TapestryIocContainerSupport$class.startUpContainer(TapestryIocContainerSupport.scala:28) > at > nirvana.matcher.processor.app.NirvanaProcessorApp$.startUpContainer(NirvanaProcessorApp.scala:16) > at > nirvana.matcher.processor.app.NirvanaProcessorApp$.main(NirvanaProcessorApp.scala:40) > at > nirvana.matcher.processor.app.NirvanaProcessorApp.main(NirvanaProcessorApp.scala) > 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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) > Found 1 deadlock. > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)