[ https://issues.apache.org/jira/browse/FELIX-3680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13468188#comment-13468188 ]
David Jencks commented on FELIX-3680: ------------------------------------- I've been working with the standalone version of the test and think I'm getting closer to understanding the problem. After adding some logging I see (filtered for G events) Level=4 D=16:22:09,285 T=SCR Component Actor: Running task: Async Deactivate: G Level=4 D=16:22:09,285 T=SCR Component Actor: [G] Current state: Unsatisfied, Event: deactivate (reason: 1) Level=4 D=16:22:09,287 T=SCR Component Actor: Running task: Async Activate: G Level=4 D=16:22:09,287 T=SCR Component Actor: [G] Activating component Level=4 D=16:22:09,287 T=SCR Component Actor: [G] No change in target property for dependency h Level=4 D=16:22:09,287 T=SCR Component Actor: [G] State transition : Unsatisfied -> Registered Level=4 D=16:22:09,287 T=SCR Component Actor: [G] Existing service registration, not registering There are two peculiar things here: 1. we are calling deactivate on an unsatisified component. This is actually probably fine 2. when we activate G again there is already a service registration present. This is definitely wrong. I haven't figured out how this can happen yet. > Exceptions in SCR using concurrent service activation/deactivation > ------------------------------------------------------------------ > > Key: FELIX-3680 > URL: https://issues.apache.org/jira/browse/FELIX-3680 > Project: Felix > Issue Type: Bug > Components: Declarative Services (SCR) > Environment: linux fc16, jdk1.6.032 > Reporter: Pierre De Rop > Attachments: logs_with_could_not_get_service_from_ref.txt.gz, > test.scr.tgz, test_with_fwk.tgz > > > This issue contains a sample code which reproduces many various exceptions, > using a concurrent > scenario, where some services are enabled/disabled concurrently. > I did not have time to commit an integration test about these exceptions but > I will try to do. > In the meantime, I join to this issue my scenario ... > Before trying to make an integration test, could you please run the scenario, > in order to confirm the problems, and that the scenario is valid ? > To execute the scenario > 1) first, since the framework is not currently using any available log > service, you have to make a modification in the framework, in order to force > the framework to use a log service, when displaying caught exceptions. If you > don't do this, then you will get many exceptions thrown by many threads and > displayed in the console; and this is then not easy to diagnose problems. > So, in the framework, in the file > src/main/java/org/apache/felix/framework/Logger.java, in method > setBundleContext, just uncomment the following code, which activate the fwk > log service listener: > protected void setSystemBundleContext(BundleContext context) > { > // TODO: Find a way to log to a log service inside the framework. > // The issue is that we log messages while holding framework > // internal locks -- hence, when a log service calls back into > // the framework (e.g., by loading a class) we might deadlock. > // One instance of this problem is tracked in FELIX-536. > // For now we just disable logging to log services inside the > // framework. > m_context = context; > startListeningForLogService(); > } > -> this will make sure all logs caught by the framework are redirected to the > log service, and I did not find any deadlock issue, as described in the > comments. > Notice that even if you don't activate the log service listener, then the > Exceptions are also taking place ... > 2) next, compile the attached concurrent scenario (it's a simple maven > project). > 3) run the framework with the following bundles: > org.apache.felix.scr from trunk > org.apache.felix.configadmin-1.4.0.jar > 4) wait for about 20 seconds, then suspend the framework, and kill it (using > kill -9) > Don't do "Ctrl-C", because this might interrupt some locked threads and some > exceptions might be generated because of the Ctlr-C ... So doing a "Kill -9" > is better. > 5) Then take a look at the produced "./logs.txt" file. > scenario description: > =============== > here is a description of the Components used in the scenario: > A: delayed component, enabled, depending on B,C,D,E,F > B,C,D,E: delayed components, disabled, without any dependencies > F: delayed component, disabled, depending on G > G: delayed component, disabled, depending on H > I: delayed component, disabled, depending on J > J: delayed component, disabled, depending on K > Main: depends on A. > "Main" is the main scenario component: it uses a thread pool in order to > enable B,C,D,E,F,G,H,I,J,K in parallel, randomly. > "Main" depends on A. > When B,C,D,E,F,G,H,I,J,K are enabled, then A becomes satisfied, provided and > injected in the "Main" component. > Once "A" is bound to "Main", then B,C,D,E,F,G,H,I,J,K are then disabled in > parallel, randomly. "Main" also checks that "A" is properly unbound. > LogService logs are written to "./logs.txt". > So, running the test using scr 1.6.0 runs seamlessly. But with trunk we have > many various exceptions. > For example, I have noticed the three following exceptions: > 1) we have some IllegalMontorStateException: > ================================= > log level: 1 D=Mon Sep 24 11:07:45 CEST 2012, T=Thread-1: [F] Locking > activity before IllegalMonitorStateException: > obtainWriteLock failure from: ImmediateComponentManager.ungetService.1 > readLocks: 0 writeLocks: 0 thread: Thread[SCR Component Actor,5,main] time: > 1348477665425 Could not obtain write lock. > log level: 1 D=Mon Sep 24 11:07:45 CEST 2012, T=Thread-1: [F] Thread dump > ThreadId: 59 : name: pool-1-thread-30 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 58 : name: pool-1-thread-29 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 57 : name: pool-1-thread-28 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 56 : name: pool-1-thread-27 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 55 : name: pool-1-thread-26 State: BLOCKED > LockInfo: org.apache.felix.framework.ServiceRegistry@ae533a LockOwnerId: 15 > LockOwnerName: SCR Component Actor > > org.apache.felix.framework.ServiceRegistry.getServiceReferences(ServiceRegistry.java:204) > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:3372) > > org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:3445) > > org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:432) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:658) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:634) > > org.apache.felix.scr.impl.manager.DependencyManager.enable(DependencyManager.java:551) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableDependencyManagers(AbstractComponentManager.java:1056) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.access$700(AbstractComponentManager.java:63) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.enable(AbstractComponentManager.java:1440) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:625) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:358) > > org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:384) > > org.apache.felix.scr.impl.BundleComponentActivator.enableComponent(BundleComponentActivator.java:395) > > org.apache.felix.scr.impl.manager.ComponentContextImpl.enableComponent(ComponentContextImpl.java:101) > test.scr.Main$EnableManager$1.run(Main.java:66) > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > java.lang.Thread.run(Thread.java:662) > ThreadId: 54 : name: pool-1-thread-25 State: BLOCKED > LockInfo: org.apache.felix.framework.ServiceRegistry@ae533a LockOwnerId: 15 > LockOwnerName: SCR Component Actor > > org.apache.felix.framework.ServiceRegistry.getServiceReferences(ServiceRegistry.java:204) > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:3372) > > org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:3445) > > org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:432) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:658) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:634) > > org.apache.felix.scr.impl.manager.DependencyManager.enable(DependencyManager.java:551) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableDependencyManagers(AbstractComponentManager.java:1056) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.access$700(AbstractComponentManager.java:63) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.enable(AbstractComponentManager.java:1440) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:625) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:358) > > org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:384) > > org.apache.felix.scr.impl.BundleComponentActivator.enableComponent(BundleComponentActivator.java:395) > > org.apache.felix.scr.impl.manager.ComponentContextImpl.enableComponent(ComponentContextImpl.java:101) > test.scr.Main$EnableManager$1.run(Main.java:66) > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > java.lang.Thread.run(Thread.java:662) > ThreadId: 53 : name: pool-1-thread-24 State: BLOCKED > LockInfo: org.apache.felix.framework.ServiceRegistry@ae533a LockOwnerId: 15 > LockOwnerName: SCR Component Actor > > org.apache.felix.framework.ServiceRegistry.getServiceReferences(ServiceRegistry.java:204) > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:3372) > > org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:3445) > > org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:432) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:658) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:634) > > org.apache.felix.scr.impl.manager.DependencyManager.enable(DependencyManager.java:551) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableDependencyManagers(AbstractComponentManager.java:1056) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.access$700(AbstractComponentManager.java:63) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.enable(AbstractComponentManager.java:1440) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:625) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:358) > > org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:384) > > org.apache.felix.scr.impl.BundleComponentActivator.enableComponent(BundleComponentActivator.java:395) > > org.apache.felix.scr.impl.manager.ComponentContextImpl.enableComponent(ComponentContextImpl.java:101) > test.scr.Main$EnableManager$1.run(Main.java:66) > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > java.lang.Thread.run(Thread.java:662) > ThreadId: 52 : name: pool-1-thread-23 State: BLOCKED > LockInfo: org.apache.felix.framework.ServiceRegistry@ae533a LockOwnerId: 15 > LockOwnerName: SCR Component Actor > > org.apache.felix.framework.ServiceRegistry.getServiceReferences(ServiceRegistry.java:204) > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:3372) > > org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:3445) > > org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:432) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:658) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:634) > > org.apache.felix.scr.impl.manager.DependencyManager.enable(DependencyManager.java:551) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableDependencyManagers(AbstractComponentManager.java:1056) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.access$700(AbstractComponentManager.java:63) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.enable(AbstractComponentManager.java:1440) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:625) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:358) > > org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:384) > > org.apache.felix.scr.impl.BundleComponentActivator.enableComponent(BundleComponentActivator.java:395) > > org.apache.felix.scr.impl.manager.ComponentContextImpl.enableComponent(ComponentContextImpl.java:101) > test.scr.Main$EnableManager$1.run(Main.java:66) > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > java.lang.Thread.run(Thread.java:662) > ThreadId: 51 : name: pool-1-thread-22 State: BLOCKED > LockInfo: org.apache.felix.framework.ServiceRegistry@ae533a LockOwnerId: 15 > LockOwnerName: SCR Component Actor > > org.apache.felix.framework.ServiceRegistry.getServiceReferences(ServiceRegistry.java:204) > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:3372) > > org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:3445) > > org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:432) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:658) > > org.apache.felix.scr.impl.manager.DependencyManager.getFrameworkServiceReferences(DependencyManager.java:634) > > org.apache.felix.scr.impl.manager.DependencyManager.enable(DependencyManager.java:551) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableDependencyManagers(AbstractComponentManager.java:1056) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.access$700(AbstractComponentManager.java:63) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.enable(AbstractComponentManager.java:1440) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:625) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:358) > > org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:384) > > org.apache.felix.scr.impl.BundleComponentActivator.enableComponent(BundleComponentActivator.java:395) > > org.apache.felix.scr.impl.manager.ComponentContextImpl.enableComponent(ComponentContextImpl.java:101) > test.scr.Main$EnableManager$1.run(Main.java:66) > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > java.lang.Thread.run(Thread.java:662) > ThreadId: 50 : name: pool-1-thread-21 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 49 : name: pool-1-thread-20 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 48 : name: pool-1-thread-19 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 47 : name: pool-1-thread-18 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 46 : name: pool-1-thread-17 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 45 : name: pool-1-thread-16 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 44 : name: pool-1-thread-15 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 43 : name: pool-1-thread-14 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 42 : name: pool-1-thread-13 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 41 : name: pool-1-thread-12 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 40 : name: pool-1-thread-11 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 28 : name: pool-1-thread-10 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 27 : name: pool-1-thread-9 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 26 : name: pool-1-thread-8 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 25 : name: pool-1-thread-7 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 24 : name: pool-1-thread-6 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 23 : name: pool-1-thread-5 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 22 : name: pool-1-thread-4 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 21 : name: pool-1-thread-3 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 20 : name: pool-1-thread-2 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 19 : name: pool-1-thread-1 State: WAITING > LockInfo: > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15d17d7 > LockOwnerId: -1 LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > java.lang.Thread.run(Thread.java:662) > ThreadId: 17 : name: Thread-2 State: TIMED_WAITING > LockInfo: java.util.concurrent.CountDownLatch$Sync@ba5bdb LockOwnerId: -1 > LockOwnerName: null > sun.misc.Unsafe.park(Native Method) > java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) > > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1011) > > java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1303) > java.util.concurrent.CountDownLatch.await(CountDownLatch.java:253) > test.scr.Main.run(Main.java:157) > java.lang.Thread.run(Thread.java:662) > ThreadId: 16 : name: Thread-1 State: WAITING > LockInfo: java.util.ArrayList@e49dcd LockOwnerId: -1 LockOwnerName: null > java.lang.Object.wait(Native Method) > java.lang.Object.wait(Object.java:485) > org.apache.felix.log.LogListenerThread.run(LogListenerThread.java:139) > ThreadId: 15 : name: SCR Component Actor State: RUNNABLE > LockInfo: null LockOwnerId: -1 LockOwnerName: null > sun.management.ThreadImpl.dumpThreads0(Native Method) > sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:433) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.dumpThreads(AbstractComponentManager.java:294) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.logLockingInfo(AbstractComponentManager.java:240) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.releaseReadLock(AbstractComponentManager.java:222) > > org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:706) > > org.apache.felix.framework.ServiceRegistrationImpl.ungetFactoryUnchecked(ServiceRegistrationImpl.java:349) > > org.apache.felix.framework.ServiceRegistrationImpl.ungetService(ServiceRegistrationImpl.java:258) > > org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:389) > org.apache.felix.framework.Felix.ungetService(Felix.java:3494) > > org.apache.felix.framework.BundleContextImpl.ungetService(BundleContextImpl.java:486) > > org.apache.felix.scr.impl.manager.DependencyManager.ungetService(DependencyManager.java:900) > > org.apache.felix.scr.impl.manager.DependencyManager.unbind(DependencyManager.java:1138) > > org.apache.felix.scr.impl.manager.DependencyManager.close(DependencyManager.java:970) > > org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:274) > > org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:147) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Active.ungetService(AbstractComponentManager.java:1697) > > org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:692) > > org.apache.felix.framework.ServiceRegistrationImpl.ungetFactoryUnchecked(ServiceRegistrationImpl.java:349) > > org.apache.felix.framework.ServiceRegistrationImpl.ungetService(ServiceRegistrationImpl.java:258) > > org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:389) > > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:158) > > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:779) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1382) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1644) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:635) > > org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:375) > > org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:217) > > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) > > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) > > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) > org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4327) > org.apache.felix.framework.Felix.access$000(Felix.java:74) > org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:390) > > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:148) > > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:779) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1382) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.deactivate(AbstractComponentManager.java:1456) > > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:635) > > org.apache.felix.scr.impl.manager.AbstractComponentManager$2.run(AbstractComponentManager.java:435) > > org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:98) > java.lang.Thread.run(Thread.java:662) > ThreadId: 14 : name: Gogo shell State: RUNNABLE > LockInfo: null LockOwnerId: -1 LockOwnerName: null > java.io.FileInputStream.readBytes(Native Method) > java.io.FileInputStream.read(FileInputStream.java:220) > java.io.BufferedInputStream.fill(BufferedInputStream.java:218) > java.io.BufferedInputStream.read(BufferedInputStream.java:237) > > org.apache.felix.gogo.runtime.threadio.ThreadInputStream.read(ThreadInputStream.java:77) > org.apache.felix.gogo.shell.Console.getLine(Console.java:117) > org.apache.felix.gogo.shell.Console.run(Console.java:53) > org.apache.felix.gogo.shell.Shell.console(Shell.java:203) > org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128) > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > java.lang.reflect.Method.invoke(Method.java:597) > org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137) > org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82) > org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477) > org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403) > org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) > org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183) > org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120) > > org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89) > org.apache.felix.gogo.shell.Activator.run(Activator.java:75) > java.lang.Thread.run(Thread.java:662) > ThreadId: 13 : name: CM Event Dispatcher State: WAITING > LockInfo: java.util.LinkedList@13c0b53 LockOwnerId: -1 LockOwnerName: null > java.lang.Object.wait(Native Method) > java.lang.Object.wait(Object.java:485) > org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:77) > java.lang.Thread.run(Thread.java:662) > ThreadId: 12 : name: CM Configuration Updater State: WAITING > LockInfo: java.util.LinkedList@10b9279 LockOwnerId: -1 LockOwnerName: null > java.lang.Object.wait(Native Method) > java.lang.Object.wait(Object.java:485) > org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:77) > java.lang.Thread.run(Thread.java:662) > ThreadId: 11 : name: FelixStartLevel State: WAITING > LockInfo: java.util.ArrayList@bd6a5f LockOwnerId: -1 LockOwnerName: null > java.lang.Object.wait(Native Method) > java.lang.Object.wait(Object.java:485) > > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:273) > java.lang.Thread.run(Thread.java:662) > ThreadId: 10 : name: FelixDispatchQueue State: WAITING > LockInfo: java.util.ArrayList@192a848 LockOwnerId: -1 LockOwnerName: null > java.lang.Object.wait(Native Method) > java.lang.Object.wait(Object.java:485) > > org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:1063) > > org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54) > > org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:101) > java.lang.Thread.run(Thread.java:662) > ThreadId: 4 : name: Signal Dispatcher State: RUNNABLE > LockInfo: null LockOwnerId: -1 LockOwnerName: null > ThreadId: 3 : name: Finalizer State: WAITING > LockInfo: java.lang.ref.ReferenceQueue$Lock@16614e7 LockOwnerId: -1 > LockOwnerName: null > java.lang.Object.wait(Native Method) > java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) > java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) > java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) > ThreadId: 2 : name: Reference Handler State: WAITING > LockInfo: java.lang.ref.Reference$Lock@e66f56 LockOwnerId: -1 > LockOwnerName: null > java.lang.Object.wait(Native Method) > java.lang.Object.wait(Object.java:485) > java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) > ThreadId: 1 : name: main State: WAITING > LockInfo: org.apache.felix.framework.util.ThreadGate@979e8b LockOwnerId: -1 > LockOwnerName: null > java.lang.Object.wait(Native Method) > org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79) > org.apache.felix.framework.Felix.waitForStop(Felix.java:983) > org.apache.felix.main.Main.main(Main.java:299) > log level: 1 D=Mon Sep 24 11:07:45 CEST 2012, T=Thread-1: > ServiceRegistrationImpl: Error ungetting service. > java.lang.IllegalMonitorStateException > at > java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:363) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1317) > at > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:745) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$JLock.unlockReadLock(AbstractComponentManager.java:1895) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.releaseReadLock(AbstractComponentManager.java:218) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:706) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetFactoryUnchecked(ServiceRegistrationImpl.java:349) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetService(ServiceRegistrationImpl.java:258) > at > org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:389) > at org.apache.felix.framework.Felix.ungetService(Felix.java:3494) > at > org.apache.felix.framework.BundleContextImpl.ungetService(BundleContextImpl.java:486) > at > org.apache.felix.scr.impl.manager.DependencyManager.ungetService(DependencyManager.java:900) > at > org.apache.felix.scr.impl.manager.DependencyManager.unbind(DependencyManager.java:1138) > at > org.apache.felix.scr.impl.manager.DependencyManager.close(DependencyManager.java:970) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:274) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:147) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Active.ungetService(AbstractComponentManager.java:1697) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:692) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetFactoryUnchecked(ServiceRegistrationImpl.java:349) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetService(ServiceRegistrationImpl.java:258) > at > org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:389) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:158) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:779) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1382) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1644) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:635) > at > org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:375) > at > org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:217) > 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:4327) > at org.apache.felix.framework.Felix.access$000(Felix.java:74) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:390) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:148) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:779) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1382) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.deactivate(AbstractComponentManager.java:1456) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:635) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$2.run(AbstractComponentManager.java:435) > at > org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:98) > at java.lang.Thread.run(Thread.java:662) > 2) we also have this IllegalStateException: > ============================== > log level: 1 D=Mon Sep 24 11:07:45 CEST 2012, T=Thread-1: > ServiceRegistrationImpl: Error ungetting service. > java.lang.IllegalStateException: ungetServiceUnsatisfied > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$State.ungetService(AbstractComponentManager.java:1336) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:692) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetFactoryUnchecked(ServiceRegistrationImpl.java:349) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetService(ServiceRegistrationImpl.java:258) > at > org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:389) > at org.apache.felix.framework.Felix.ungetService(Felix.java:3494) > at > org.apache.felix.framework.BundleContextImpl.ungetService(BundleContextImpl.java:486) > at > org.apache.felix.scr.impl.manager.DependencyManager.ungetService(DependencyManager.java:900) > at > org.apache.felix.scr.impl.manager.DependencyManager.unbind(DependencyManager.java:1138) > at > org.apache.felix.scr.impl.manager.DependencyManager.close(DependencyManager.java:970) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:274) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:147) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Active.ungetService(AbstractComponentManager.java:1697) > at > org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:692) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetFactoryUnchecked(ServiceRegistrationImpl.java:349) > at > org.apache.felix.framework.ServiceRegistrationImpl.ungetService(ServiceRegistrationImpl.java:258) > at > org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:389) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:158) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:779) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1382) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1644) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:635) > at > org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:375) > at > org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:217) > 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:4327) > at org.apache.felix.framework.Felix.access$000(Felix.java:74) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:390) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:148) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:779) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1382) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Disabled.deactivate(AbstractComponentManager.java:1456) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:635) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$2.run(AbstractComponentManager.java:435) > at > org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:98) > at java.lang.Thread.run(Thread.java:662) > 3) An exception when getting a service from a Reference: > ============================================== > log level: 2 D=Mon Sep 24 11:07:45 CEST 2012, T=Thread-1: [A] Could not get > service from ref [test.scr.F] > Can you please confirm that you also see these exceptions ? > Thanks. -- 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