Hi David, So, with the last fix for FELIX-3639<https://issues.apache.org/jira/browse/FELIX-3639>, I finally reproduced the initial deadlock problem.
First, here is the "could not obtain lock" exception, including the root exception, showing the thread which is currently holding the writelock: --------------------------------------------------------------------------------------------------------------------------------------- 2012-08-29 04:57:08,789 FelixDispatchQueue ERROR osgi.event.fwk - FrameworkEvent: ERROR java.lang.IllegalStateException: Could not obtain lock in 5000 milliseconds for component agent at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainReadLock(AbstractComponentManager.java:180) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:157) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4260) at org.apache.felix.framework.Felix.registerService(Felix.java:3275) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:684) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:670) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:706) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1338) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:580) at org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:293) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:170) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4260) at org.apache.felix.framework.Felix.registerService(Felix.java:3275) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:320) at com.alcatel.as.util.osgi.DependencyActivatorHelper.registerService(DependencyActivatorHelper.java:209) at com.alcatel.as.session.distributed.mgr.Engine$7.run(Engine.java:1383) at com.alcatel.as.service.concurrent.impl.Helper.runTask(Helper.java:54) at com.alcatel.as.service.concurrent.impl.QueueExecutor$1.run(QueueExecutor.java:165) at com.alcatel.as.service.concurrent.impl.SerialQueue.run(SerialQueue.java:80) at alcatel.tess.hometop.gateways.concurrent.ThreadPool$3.run(ThreadPool.java:286) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) Caused by: java.lang.Exception: Write lock stack trace for thread: Thread[ProxyAppReporter-FastCacheListener,5,main] at org.apache.felix.scr.impl.manager.AbstractComponentManager.escalateLock(AbstractComponentManager.java:222) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1346) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:580) at org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:293) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:170) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4260) at org.apache.felix.framework.Felix.registerService(Felix.java:3275) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:320) at com.alcatel.as.service.config.impl.fc.PropertiesManager.update(PropertiesManager.java:211) at com.alcatel.as.service.config.impl.fc.FastCacheConfig.proxyAppPropertiesUpdated(FastCacheConfig.java:323) at com.nextenso.mgmt.reporter.ProxyAppReporter$FastCacheListeningThread.run(ProxyAppReporter.java:99) --------------------------------------------------------------------------------------------------------------------------------------- Next, here is the full thread dump, displayed just before the "could not obtain lock" exception. The thread holding the writelock is "ProxyAppReporter-FastCacheListener". We see that the "Number of locked synchronizers = 1" for this thread. So, it sounds like this thread has already acquired the lock in the past, but is currently blocked while trying to reaquire the writelock, in a reentrant manner ? That is strange because the rwlock is normally reentrant and the thread should not be blocked at this point ? Am I correct ? --------------------------------------------------------------------------------------------------------------------------------------- 2012-08-29 04:57:08,770 Processing-ThreadPool-10 ERROR osgi - [agent] Thread dump "ReporterListener-19" Id=71 WAITING on java.util.LinkedList@1e7d484 at java.lang.Object.wait(Native Method) - waiting on java.util.LinkedList@1e7d484 at java.lang.Object.wait(Object.java:502) at com.nextenso.dbase.api.FastCacheCompatibility$Listener.getNextEntry(FastCacheCompatibility.java:267) at com.nextenso.dbase.api.FastCache.getEvent(FastCache.java:948) at com.nextenso.mgmt.reporter.FastCacheReporter$ListeningThread.run(FastCacheReporter.java:665) "Reporting" Id=70 TIMED_WAITING on com.nextenso.mgmt.reporter.Pause@1313365 at java.lang.Object.wait(Native Method) - waiting on com.nextenso.mgmt.reporter.Pause@1313365 at com.nextenso.mgmt.reporter.Pause.pause(Pause.java:24) at com.nextenso.mgmt.reporter.FastCacheReporter$ReportingThread.pause(FastCacheReporter.java:475) at com.nextenso.mgmt.reporter.FastCacheReporter$ReportingThread.run(FastCacheReporter.java:534) "Timer-3" Id=69 TIMED_WAITING on java.util.TaskQueue@1254e59 at java.lang.Object.wait(Native Method) - waiting on java.util.TaskQueue@1254e59 at java.util.TimerThread.mainLoop(Timer.java:531) at java.util.TimerThread.run(Timer.java:484) "Timer-2" Id=68 TIMED_WAITING on java.util.TaskQueue@3adfb4 at java.lang.Object.wait(Native Method) - waiting on java.util.TaskQueue@3adfb4 at java.util.TimerThread.mainLoop(Timer.java:531) at java.util.TimerThread.run(Timer.java:484) "Timer-1" Id=67 TIMED_WAITING on java.util.TaskQueue@134be3c at java.lang.Object.wait(Native Method) - waiting on java.util.TaskQueue@134be3c at java.util.TimerThread.mainLoop(Timer.java:531) at java.util.TimerThread.run(Timer.java:484) "sip-selector" Id=66 RUNNABLE (in native) at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked sun.nio.ch.Util$1@da88c2 - locked java.util.Collections$UnmodifiableSet@279c88 - locked sun.nio.ch.EPollSelectorImpl@d3b52e at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at alcatel.tess.hometop.gateways.reactor.impl.ReactorImpl.run(ReactorImpl.java:294) at java.lang.Thread.run(Thread.java:679) "sip-reactor" Id=65 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@11be075 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@11be075 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "http-selector" Id=64 RUNNABLE (in native) at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked sun.nio.ch.Util$1@134525e - locked java.util.Collections$UnmodifiableSet@15574b5 - locked sun.nio.ch.EPollSelectorImpl@1286eba at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at alcatel.tess.hometop.gateways.reactor.impl.ReactorImpl.run(ReactorImpl.java:294) at java.lang.Thread.run(Thread.java:679) "http-reactor" Id=63 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@17dae59 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@17dae59 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "Main-selector" Id=62 RUNNABLE (in native) at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked sun.nio.ch.Util$1@9ea89f - locked java.util.Collections$UnmodifiableSet@81d81e - locked sun.nio.ch.EPollSelectorImpl@6551c1 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at alcatel.tess.hometop.gateways.reactor.impl.ReactorImpl.run(ReactorImpl.java:294) at java.lang.Thread.run(Thread.java:679) "Main-reactor" Id=61 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1da77f5 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1da77f5 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "Processing-ThreadPool-10" Id=60 RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:392) at org.apache.felix.scr.impl.manager.AbstractComponentManager.dumpThreads(AbstractComponentManager.java:256) at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainReadLock(AbstractComponentManager.java:174) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:157) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) ... Number of locked synchronizers = 1 - java.util.concurrent.ThreadPoolExecutor$Worker@119f779 "IO-ThreadPool-9" Id=59 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-8" Id=58 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-7" Id=57 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-6" Id=56 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "ReporterListener-17" Id=55 WAITING on java.util.LinkedList@5d484a at java.lang.Object.wait(Native Method) - waiting on java.util.LinkedList@5d484a at java.lang.Object.wait(Object.java:502) at com.nextenso.dbase.api.FastCacheCompatibility$Listener.getNextEntry(FastCacheCompatibility.java:267) at com.nextenso.dbase.api.FastCache.getEvent(FastCache.java:948) at com.nextenso.mgmt.reporter.FastCacheReporter$ListeningThread.run(FastCacheReporter.java:665) "Reporting" Id=54 TIMED_WAITING on com.nextenso.mgmt.reporter.Pause@35186a at java.lang.Object.wait(Native Method) - waiting on com.nextenso.mgmt.reporter.Pause@35186a at com.nextenso.mgmt.reporter.Pause.pause(Pause.java:24) at com.nextenso.mgmt.reporter.FastCacheReporter$ReportingThread.pause(FastCacheReporter.java:475) at com.nextenso.mgmt.reporter.FastCacheReporter$ReportingThread.run(FastCacheReporter.java:534) "SessionRegistry-selector" Id=51 RUNNABLE (in native) at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked sun.nio.ch.Util$1@baaaba - locked java.util.Collections$UnmodifiableSet@1d40c4e - locked sun.nio.ch.EPollSelectorImpl@1bfa475 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at alcatel.tess.hometop.gateways.reactor.impl.ReactorImpl.run(ReactorImpl.java:294) at java.lang.Thread.run(Thread.java:679) "SessionRegistry-reactor" Id=50 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@c610af at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@c610af at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "Timer-0" Id=49 TIMED_WAITING on java.util.TaskQueue@171767c at java.lang.Object.wait(Native Method) - waiting on java.util.TaskQueue@171767c at java.util.TimerThread.mainLoop(Timer.java:531) at java.util.TimerThread.run(Timer.java:484) "Session-selector" Id=48 RUNNABLE (in native) at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked sun.nio.ch.Util$1@19e97b - locked java.util.Collections$UnmodifiableSet@12fb24c - locked sun.nio.ch.EPollSelectorImpl@629f43 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at alcatel.tess.hometop.gateways.reactor.impl.ReactorImpl.run(ReactorImpl.java:294) at java.lang.Thread.run(Thread.java:679) "Session-reactor" Id=47 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@c60ee2 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@c60ee2 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-5" Id=45 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "ReporterListener-11" Id=44 WAITING on java.util.LinkedList@fb480a at java.lang.Object.wait(Native Method) - waiting on java.util.LinkedList@fb480a at java.lang.Object.wait(Object.java:502) at com.nextenso.dbase.api.FastCacheCompatibility$Listener.getNextEntry(FastCacheCompatibility.java:267) at com.nextenso.dbase.api.FastCache.getEvent(FastCache.java:948) at com.nextenso.mgmt.reporter.FastCacheReporter$ListeningThread.run(FastCacheReporter.java:665) "Reporting" Id=43 TIMED_WAITING on com.nextenso.mgmt.reporter.Pause@1369763 at java.lang.Object.wait(Native Method) - waiting on com.nextenso.mgmt.reporter.Pause@1369763 at com.nextenso.mgmt.reporter.Pause.pause(Pause.java:24) at com.nextenso.mgmt.reporter.FastCacheReporter$ReportingThread.pause(FastCacheReporter.java:475) at com.nextenso.mgmt.reporter.FastCacheReporter$ReportingThread.run(FastCacheReporter.java:534) "Stdout" Id=42 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@10cffe0 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@10cffe0 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at com.alcatel.as.service.log4j.impl.Log4jConfigurator$StdoutRedirectorThread.run(Log4jConfigurator.java:360) "Thread-20" Id=41 TIMED_WAITING on java.lang.Object@72d4e5 at java.lang.Object.wait(Native Method) - waiting on java.lang.Object@72d4e5 at EDU.oswego.cs.dl.util.concurrent.LinkedQueue.poll(Unknown Source) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(Unknown Source) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-4" Id=32 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-3" Id=31 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-2" Id=30 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "ProxyAppReporter-FastCacheListener" Id=29 TIMED_WAITING on java.util.concurrent.locks.ReentrantReadWriteLock$FairSync@1895df8 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.ReentrantReadWriteLock$FairSync@1895df8 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:933) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1247) at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.tryLock(ReentrantReadWriteLock.java:1009) at org.apache.felix.scr.impl.manager.AbstractComponentManager$JLock.tryWriteLock(AbstractComponentManager.java:1664) at org.apache.felix.scr.impl.manager.AbstractComponentManager.escalateLock(AbstractComponentManager.java:217) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.getService(ImmediateComponentManager.java:617) ... Number of locked synchronizers = 1 - java.util.concurrent.locks.ReentrantReadWriteLock$FairSync@3d50e2 "IO-ThreadPool-1" Id=28 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "IO-ThreadPool-0" Id=27 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1f23c6d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "ReporterListener-7" Id=26 WAITING on java.util.LinkedList@1788424 at java.lang.Object.wait(Native Method) - waiting on java.util.LinkedList@1788424 at java.lang.Object.wait(Object.java:502) at com.nextenso.dbase.api.FastCacheCompatibility$Listener.getNextEntry(FastCacheCompatibility.java:267) at com.nextenso.dbase.api.FastCache.getEvent(FastCache.java:948) at com.nextenso.mgmt.reporter.FastCacheReporter$ListeningThread.run(FastCacheReporter.java:665) "JdkTimerService-1" Id=24 TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@12b94c3 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@12b94c3 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.DelayQueue.take(DelayQueue.java:193) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:688) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:681) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) ... "FastCache-selector" Id=23 RUNNABLE (in native) at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked sun.nio.ch.Util$1@3392e9 - locked java.util.Collections$UnmodifiableSet@1f20541 - locked sun.nio.ch.EPollSelectorImpl@36f58e at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at alcatel.tess.hometop.gateways.reactor.impl.ReactorImpl.run(ReactorImpl.java:294) at java.lang.Thread.run(Thread.java:679) "FastCache-reactor" Id=22 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3343e5 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3343e5 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) "ControlFlow" Id=20 WAITING on java.util.TaskQueue@1aea6e2 at java.lang.Object.wait(Native Method) - waiting on java.util.TaskQueue@1aea6e2 at java.lang.Object.wait(Object.java:502) at java.util.TimerThread.mainLoop(Timer.java:505) at java.util.TimerThread.run(Timer.java:484) "WheelTimerService" Id=19 TIMED_WAITING at java.lang.Thread.sleep(Native Method) at com.alcatel.as.service.concurrent.impl.WheelTimerServiceImpl.run(WheelTimerServiceImpl.java:137) at java.lang.Thread.run(Thread.java:679) "MeteringService" Id=17 TIMED_WAITING at java.lang.Thread.sleep(Native Method) at com.alcatel.as.service.metering.impl.DefaultStatSampler.run(DefaultStatSampler.java:180) at java.lang.Thread.run(Thread.java:679) "SCR Component Actor" Id=16 WAITING on java.util.LinkedList@14e4c9a at java.lang.Object.wait(Native Method) - waiting on java.util.LinkedList@14e4c9a at java.lang.Object.wait(Object.java:502) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:76) at java.lang.Thread.run(Thread.java:679) "CM Event Dispatcher" Id=14 WAITING on java.util.LinkedList@1871f70 at java.lang.Object.wait(Native Method) - waiting on java.util.LinkedList@1871f70 at java.lang.Object.wait(Object.java:502) at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:77) at java.lang.Thread.run(Thread.java:679) "CM Configuration Updater" Id=13 WAITING on java.util.LinkedList@21251c at java.lang.Object.wait(Native Method) - waiting on java.util.LinkedList@21251c at java.lang.Object.wait(Object.java:502) at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:77) at java.lang.Thread.run(Thread.java:679) "FelixStartLevel" Id=11 WAITING on java.util.ArrayList@b701b at java.lang.Object.wait(Native Method) - waiting on java.util.ArrayList@b701b at java.lang.Object.wait(Object.java:502) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:272) at java.lang.Thread.run(Thread.java:679) "FelixDispatchQueue" Id=10 WAITING on java.util.ArrayList@ed0f19 at java.lang.Object.wait(Native Method) - waiting on java.util.ArrayList@ed0f19 at java.lang.Object.wait(Object.java:502) at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:1063) at org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54) at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:101) at java.lang.Thread.run(Thread.java:679) "Signal Dispatcher" Id=5 RUNNABLE "Finalizer" Id=3 WAITING on java.lang.ref.ReferenceQueue$Lock@17a6926 at java.lang.Object.wait(Native Method) - waiting on java.lang.ref.ReferenceQueue$Lock@17a6926 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177) "Reference Handler" Id=2 WAITING on java.lang.ref.Reference$Lock@18d77fe at java.lang.Object.wait(Native Method) - waiting on java.lang.ref.Reference$Lock@18d77fe at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) "main" Id=1 WAITING on org.apache.felix.framework.util.ThreadGate@c0d2d3 at java.lang.Object.wait(Native Method) - waiting on org.apache.felix.framework.util.ThreadGate@c0d2d3 at org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79) at org.apache.felix.framework.Felix.waitForStop(Felix.java:921) at org.apache.felix.main.Main.main(Main.java:299) at com.alcatel.as.felix.FelixLauncher.main(FelixLauncher.java:69) --------------------------------------------------------------------------------------------------------------------------------------- regards /pierre