[ 
https://issues.apache.org/jira/browse/FELIX-5132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15051049#comment-15051049
 ] 

Stefan Riesner commented on FELIX-5132:
---------------------------------------

The deadlock was observed with the CM Event Dispatcher firing 
ConfigurationEvents for different ServiceComponents, leading to the same stack 
traces. It was observed on different computers after integration tests had been 
performed and the system was shutting down Karaf. See last lines of mvn test 
until the deadlock:
{noformat}
OSGi Framework : org.apache.felix.framework - 4.2.1
2015-12-02 16:44:07,966 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.camel.karaf.camel-karaf-commands
2015-12-02 16:44:07,997 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.shell.help
2015-12-02 16:44:07,997 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.system.core
2015-12-02 16:44:07,997 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.system.command
2015-12-02 16:44:07,997 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.bundle.command
2015-12-02 16:44:08,028 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.shell.commands
2015-12-02 16:44:08,075 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.jaas.modules
2015-12-02 16:44:08,075 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.features.command
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.features.core
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.deployer.features
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.deployer.wrap
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.camel.camel-blueprint
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.shell.console

2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.bundle.core
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.jaas.config
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.deployer.blueprint
2015-12-02 16:44:08,091 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.aries.blueprint.core
2015-12-02 16:44:08,106 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.aries.blueprint.cm
2015-12-02 16:44:08,106 | INFO  | FelixShutdown    | BlueprintExtender          
      | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying 
BlueprintContainer for bundle org.apache.karaf.deployer.spring
2015-12-02 16:44:08,106 | INFO  | FelixShutdown    | ContextLoaderListener      
      | 76 - org.springframework.osgi.extender - 1.2.1 | Stopping 
[org.springframework.osgi.extender] bundle v.[1.2.1]
2015-12-02 16:44:08,106 | INFO  | FelixShutdown    | TimerTaskExecutor          
      | 71 - org.apache.servicemix.bundles.spring-context - 3.2.11.RELEASE_1 | 
Cancelling Timer
{noformat}


The deadlock occurs not on every run.




> Deadlock IPojoFactory, ConfigurationTracker
> -------------------------------------------
>
>                 Key: FELIX-5132
>                 URL: https://issues.apache.org/jira/browse/FELIX-5132
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-runtime-1.12.1
>            Reporter: Koslowsky
>
> "[iPOJO] pool-1-thread-1":
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:259)
>       - waiting to lock {color:red}<0x0000000081de1e68>{color} (a 
> org.apache.felix.ipojo.HandlerManagerFactory)
>         - locked {color:green}<0x0000000081d45b38>{color} (a 
> org.apache.felix.ipojo.ConfigurationTracker)
>       at 
> org.apache.felix.ipojo.IPojoFactory.computeFactoryState(IPojoFactory.java:856)
>       at 
> org.apache.felix.ipojo.ComponentFactory.addedService(ComponentFactory.java:400)
> "CM Event Dispatcher (Fire ConfigurationEvent: 
> pid=com.my.internal.ServiceComponent.4e80e098-170b-422b-9462-54e34c8906cc)":
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.instanceCreated(ConfigurationTracker.java:110)
>       - waiting to lock {color:green}<0x0000000081d45b38>{color} (a 
> org.apache.felix.ipojo.ConfigurationTracker)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:323)
>       - locked {color:red}<0x0000000081de1e68>{color} (a 
> org.apache.felix.ipojo.HandlerManagerFactory)
>       at org.apache.felix.ipojo.IPojoFactory.getHandler(IPojoFactory.java:922)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:315)
> 2015-12-04 15:57:54
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):
> {code}
> "RMI TCP Connection(idle)" #107 daemon prio=5 os_prio=0 
> tid=0x000000005c5dc800 nid=0x29f4 waiting on condition [0x0000000066e5e000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081f93590> (a 
> java.util.concurrent.SynchronousQueue$TransferStack)
>       at 
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
>       at 
> java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
>       at 
> java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
>       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "RMI TCP Connection(12)-172.16.176.64" #105 daemon prio=5 os_prio=0 
> tid=0x000000005c5dd000 nid=0xd78 waiting on condition [0x00000000648dd000]
>    java.lang.Thread.State: RUNNABLE
>       at sun.management.DiagnosticCommandImpl.executeDiagnosticCommand(Native 
> Method)
>       at 
> sun.management.DiagnosticCommandImpl.access$000(DiagnosticCommandImpl.java:40)
>       at 
> sun.management.DiagnosticCommandImpl$Wrapper.execute(DiagnosticCommandImpl.java:139)
>       at 
> sun.management.DiagnosticCommandImpl.invoke(DiagnosticCommandImpl.java:230)
>       at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
>       at 
> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:828)
>       at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
>       at sun.rmi.transport.Transport$1.run(Transport.java:200)
>       at sun.rmi.transport.Transport$1.run(Transport.java:197)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
>       at 
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$254(TCPTransport.java:683)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$3/741211271.run(Unknown
>  Source)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "JMX server connection timeout 104" #104 daemon prio=5 os_prio=0 
> tid=0x000000005f1b9000 nid=0x2354 in Object.wait() [0x000000006340f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at 
> com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
>       - locked <0x0000000082357f58> (a [I)
>       at java.lang.Thread.run(Thread.java:745)
> "RMI TCP Accept-0" #103 daemon prio=5 os_prio=0 tid=0x000000005f1b9800 
> nid=0x2590 runnable [0x000000005e6de000]
>    java.lang.Thread.State: RUNNABLE
>       at java.net.DualStackPlainSocketImpl.accept0(Native Method)
>       at 
> java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
>       at 
> java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
>       at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
>       - locked <0x00000000823385d0> (a java.net.SocksSocketImpl)
>       at java.net.ServerSocket.implAccept(ServerSocket.java:545)
>       at java.net.ServerSocket.accept(ServerSocket.java:513)
>       at 
> sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
>       at 
> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
>       at 
> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
>       at java.lang.Thread.run(Thread.java:745)
> "RMI TCP Connection(11)-172.16.176.64" #102 daemon prio=5 os_prio=0 
> tid=0x000000005f1bc000 nid=0x2ab4 in Object.wait() [0x000000005d49c000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at 
> com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(ArrayNotificationBuffer.java:449)
>       - locked <0x0000000082395280> (a 
> com.sun.jmx.remote.internal.ArrayNotificationBuffer)
>       at 
> com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(ArrayNotificationBuffer.java:227)
>       at 
> com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(ServerNotifForwarder.java:274)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl$3.run(RMIConnectionImpl.java:1268)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl$3.run(RMIConnectionImpl.java:1266)
>       at 
> javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(RMIConnectionImpl.java:1272)
>       at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
>       at sun.rmi.transport.Transport$1.run(Transport.java:200)
>       at sun.rmi.transport.Transport$1.run(Transport.java:197)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
>       at 
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$254(TCPTransport.java:683)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$3/741211271.run(Unknown
>  Source)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "FelixShutdown" #93 daemon prio=5 os_prio=0 tid=0x000000005c5e6000 nid=0x34c 
> in Object.wait() [0x000000005fa4f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at java.lang.Object.wait(Object.java:502)
>       at 
> org.apache.felix.framework.FrameworkStartLevelImpl.setStartLevelAndWait(FrameworkStartLevelImpl.java:159)
>       - locked <0x00000000822226a0> (a java.lang.Integer)
>       at 
> org.apache.felix.framework.Felix$SystemBundleActivator.stop(Felix.java:4651)
>       at 
> org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:667)
>       at org.apache.felix.framework.Felix.stopBundle(Felix.java:2530)
>       at org.apache.felix.framework.Felix$2.run(Felix.java:959)
>       at java.lang.Thread.run(Thread.java:745)
> "BundleWatcher: 1" #92 daemon prio=5 os_prio=0 tid=0x000000005c5e4000 
> nid=0x2884 waiting on condition [0x000000005ff1e000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081f12d18> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "SCR Component Actor" #91 daemon prio=5 os_prio=0 tid=0x000000005c5e5800 
> nid=0x1d14 in Object.wait() [0x00000000626ef000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at java.lang.Object.wait(Object.java:502)
>       at 
> org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:76)
>       - locked <0x0000000081ca7908> (a java.util.LinkedList)
>       at java.lang.Thread.run(Thread.java:745)
> "[iPOJO] pool-1-thread-1" #89 daemon prio=5 os_prio=0 tid=0x000000005c5e8800 
> nid=0xbd8 waiting for monitor entry [0x000000006467e000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:259)
>       - waiting to lock <0x0000000081de1e68> (a 
> org.apache.felix.ipojo.HandlerManagerFactory)
>       at org.apache.felix.ipojo.IPojoFactory.getHandler(IPojoFactory.java:922)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:315)
>       - locked <0x000000008218de90> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:240)
>       at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:737)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.registerFactory(ConfigurationTracker.java:100)
>       - locked <0x0000000081d45b38> (a 
> org.apache.felix.ipojo.ConfigurationTracker)
>       at 
> org.apache.felix.ipojo.IPojoFactory.computeFactoryState(IPojoFactory.java:856)
>       at 
> org.apache.felix.ipojo.ComponentFactory.addedService(ComponentFactory.java:400)
>       - locked <0x000000008218de90> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at 
> org.apache.felix.ipojo.util.Tracker$Tracked.trackAdding(Tracker.java:711)
>       at 
> org.apache.felix.ipojo.util.Tracker$Tracked.trackInitialServices(Tracker.java:596)
>       at org.apache.felix.ipojo.util.Tracker.open(Tracker.java:210)
>       - locked <0x0000000082191528> (a org.apache.felix.ipojo.util.Tracker)
>       at 
> org.apache.felix.ipojo.ComponentFactory.starting(ComponentFactory.java:249)
>       at org.apache.felix.ipojo.IPojoFactory.start(IPojoFactory.java:671)
>       at 
> org.apache.felix.ipojo.extender.internal.linker.ManagedType$ExtensionSupport$1.call(ManagedType.java:229)
>       at 
> org.apache.felix.ipojo.extender.internal.linker.ManagedType$ExtensionSupport$1.call(ManagedType.java:216)
>       at 
> org.apache.felix.ipojo.extender.internal.queue.JobInfoCallable.call(JobInfoCallable.java:114)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "RMI Scheduler(0)" #88 daemon prio=5 os_prio=0 tid=0x000000005f1bb000 
> nid=0x28a0 waiting on condition [0x0000000064f4e000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081ca6ab8> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at 
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "GC Daemon" #87 daemon prio=2 os_prio=-2 tid=0x000000005f1ba800 nid=0x2134 in 
> Object.wait() [0x000000006082f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at sun.misc.GC$Daemon.run(GC.java:117)
>       - locked <0x0000000081fa2950> (a sun.misc.GC$LatencyLock)
> "RMI Reaper" #86 prio=5 os_prio=0 tid=0x000000005c5e7800 nid=0x2754 in 
> Object.wait() [0x00000000601de000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
>       - locked <0x0000000081c66b18> (a java.lang.ref.ReferenceQueue$Lock)
>       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
>       at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:351)
>       at java.lang.Thread.run(Thread.java:745)
> "RMI TCP Accept-0" #85 daemon prio=5 os_prio=0 tid=0x000000005c5e7000 
> nid=0x5e4 runnable [0x000000005dd9f000]
>    java.lang.Thread.State: RUNNABLE
>       at java.net.DualStackPlainSocketImpl.accept0(Native Method)
>       at 
> java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
>       at 
> java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
>       at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
>       - locked <0x0000000081c66c68> (a java.net.SocksSocketImpl)
>       at java.net.ServerSocket.implAccept(ServerSocket.java:545)
>       at java.net.ServerSocket.accept(ServerSocket.java:513)
>       at 
> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
>       at 
> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-46" #81 daemon prio=5 os_prio=0 tid=0x000000005f1b8000 nid=0x1820 
> waiting on condition [0x000000006355e000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-45" #80 daemon prio=5 os_prio=0 tid=0x000000005f1b7800 nid=0x192c 
> waiting on condition [0x00000000632de000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-44" #79 daemon prio=5 os_prio=0 tid=0x000000005f1b6800 nid=0x2b88 
> waiting on condition [0x000000006313e000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-43" #78 daemon prio=5 os_prio=0 tid=0x000000005f1b6000 nid=0x120c 
> waiting on condition [0x0000000062d5e000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-42" #77 daemon prio=5 os_prio=0 tid=0x000000005c5ea800 nid=0x1920 
> waiting on condition [0x000000006300e000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-41" #76 daemon prio=5 os_prio=0 tid=0x000000005f1b5000 nid=0x2be8 
> waiting on condition [0x0000000062a7f000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-40" #75 daemon prio=5 os_prio=0 tid=0x000000005c5eb800 nid=0x178c 
> waiting on condition [0x0000000062e5f000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-38" #73 daemon prio=5 os_prio=0 tid=0x000000005c5ea000 nid=0x1ef4 
> waiting on condition [0x0000000062bbf000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-37" #72 daemon prio=5 os_prio=0 tid=0x000000005c5e9000 nid=0xfb4 
> waiting on condition [0x000000006043f000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-36" #71 daemon prio=5 os_prio=0 tid=0x000000005c5e4800 nid=0x13e4 
> waiting on condition [0x000000006287e000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081dbea80> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "gogo shell pipe thread" #32 daemon prio=5 os_prio=0 tid=0x000000005c5e2800 
> nid=0x1d04 runnable [0x000000005fbbe000]
>    java.lang.Thread.State: RUNNABLE
>       at java.lang.Throwable.fillInStackTrace(Native Method)
>       at java.lang.Throwable.fillInStackTrace(Throwable.java:783)
>       - locked <0x00000000dbe42b98> (a java.io.IOException)
>       at java.lang.Throwable.<init>(Throwable.java:265)
>       at java.lang.Exception.<init>(Exception.java:52)
>       at java.io.IOException.<init>(IOException.java:58)
>       at 
> org.fusesource.jansi.internal.Kernel32.readConsoleInputHelper(Kernel32.java:765)
>       at 
> org.fusesource.jansi.internal.Kernel32.readConsoleKeyInput(Kernel32.java:794)
>       at 
> org.fusesource.jansi.internal.WindowsSupport.readConsoleInput(WindowsSupport.java:97)
>       at jline.WindowsTerminal.readConsoleInput(WindowsTerminal.java:215)
>       at jline.WindowsTerminal.access$000(WindowsTerminal.java:55)
>       at jline.WindowsTerminal$1.read(WindowsTerminal.java:157)
>       at 
> org.apache.karaf.shell.console.impl.jline.ConsoleImpl$Pipe.run(ConsoleImpl.java:499)
>       at java.lang.Thread.run(Thread.java:745)
> "NonBlockingInputStreamThread" #31 daemon prio=5 os_prio=0 
> tid=0x000000005c5e1800 nid=0x1afc in Object.wait() [0x000000006001f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at 
> jline.internal.NonBlockingInputStream.run(NonBlockingInputStream.java:278)
>       - locked <0x00000000816ca270> (a jline.internal.NonBlockingInputStream)
>       at java.lang.Thread.run(Thread.java:745)
> "Karaf Console Local for user karaf" #30 daemon prio=5 os_prio=0 
> tid=0x000000005c5e1000 nid=0x2768 waiting on condition [0x000000006032d000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081790d68> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
>       at 
> org.apache.karaf.shell.console.impl.jline.ConsoleImpl$ConsoleInputStream.read(ConsoleImpl.java:435)
>       at 
> org.apache.karaf.shell.console.impl.jline.ConsoleImpl$ConsoleInputStream.read(ConsoleImpl.java:451)
>       at 
> jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:169)
>       - locked <0x00000000816ca270> (a jline.internal.NonBlockingInputStream)
>       at 
> jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:137)
>       at 
> jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:246)
>       at jline.internal.InputStreamReader.read(InputStreamReader.java:261)
>       - locked <0x00000000816ca270> (a jline.internal.NonBlockingInputStream)
>       at jline.internal.InputStreamReader.read(InputStreamReader.java:198)
>       - locked <0x00000000816ca270> (a jline.internal.NonBlockingInputStream)
>       at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2145)
>       at jline.console.ConsoleReader.readLine(ConsoleReader.java:2349)
>       at jline.console.ConsoleReader.readLine(ConsoleReader.java:2269)
>       at 
> org.apache.karaf.shell.console.impl.jline.ConsoleImpl.readAndParseCommand(ConsoleImpl.java:284)
>       at 
> org.apache.karaf.shell.console.impl.jline.ConsoleImpl.run(ConsoleImpl.java:203)
>       at 
> org.apache.karaf.shell.console.impl.jline.LocalConsoleManager$2$1$1.run(LocalConsoleManager.java:109)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:57)
>       at 
> org.apache.karaf.shell.console.impl.jline.LocalConsoleManager$2$1.run(LocalConsoleManager.java:102)
> "Secure OSGi Service Proxy Creator" #22 daemon prio=5 os_prio=0 
> tid=0x000000005c41e000 nid=0x174 waiting on condition [0x000000005da9e000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0000000081560390> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>       at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>       at 
> org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:559)
>       at java.lang.Thread.run(Thread.java:745)
> "fileinstall-C:\Users\koslowskyj\AppData\Local\Temp\gmr-working-dir_57o9_8t1\ukpn-message-transformer\target\paxexam\b2d1f969-eecc-4fb1-8140-3d0413a1d130\etc"
>  #18 daemon prio=5 os_prio=0 tid=0x000000005c153800 nid=0xbf8 in 
> Object.wait() [0x000000005d96f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at 
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:314)
>       - locked <0x00000000813470d0> (a 
> org.apache.felix.fileinstall.internal.DirectoryWatcher)
> "fileinstall-C:\Users\koslowskyj\AppData\Local\Temp\gmr-working-dir_57o9_8t1\ukpn-message-transformer\target\paxexam\b2d1f969-eecc-4fb1-8140-3d0413a1d130/deploy"
>  #20 daemon prio=5 os_prio=0 tid=0x000000005bf9b000 nid=0x2664 in 
> Object.wait() [0x000000005d83f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at 
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:314)
>       - locked <0x0000000081263408> (a 
> org.apache.felix.fileinstall.internal.DirectoryWatcher)
> "Thread-4" #21 daemon prio=5 os_prio=0 tid=0x000000005bf9a800 nid=0x1364 
> runnable [0x000000005d65f000]
>    java.lang.Thread.State: RUNNABLE
>       at sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native 
> Method)
>       at 
> sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(WindowsNativeDispatcher.java:996)
>       at 
> sun.nio.fs.WindowsWatchService$Poller.run(WindowsWatchService.java:524)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-3" #19 daemon prio=5 os_prio=0 tid=0x000000005c45c000 nid=0x10f0 
> runnable [0x000000005d25f000]
>    java.lang.Thread.State: RUNNABLE
>       at sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native 
> Method)
>       at 
> sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(WindowsNativeDispatcher.java:996)
>       at 
> sun.nio.fs.WindowsWatchService$Poller.run(WindowsWatchService.java:524)
>       at java.lang.Thread.run(Thread.java:745)
> "CM Event Dispatcher (Fire ConfigurationEvent: 
> pid=com.my.internal.ServiceComponent.4e80e098-170b-422b-9462-54e34c8906cc)" 
> #17 daemon prio=5 os_prio=0 tid=0x000000005c15a000 nid=0x2550 waiting for 
> monitor entry [0x000000005a9be000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.instanceCreated(ConfigurationTracker.java:110)
>       - waiting to lock <0x0000000081d45b38> (a 
> org.apache.felix.ipojo.ConfigurationTracker)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:323)
>       - locked <0x0000000081de1e68> (a 
> org.apache.felix.ipojo.HandlerManagerFactory)
>       at org.apache.felix.ipojo.IPojoFactory.getHandler(IPojoFactory.java:922)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:315)
>       - locked <0x0000000081e59b10> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:240)
>       at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:737)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.manageConfigurationEventForFactory(ConfigurationTracker.java:175)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.configurationEvent(ConfigurationTracker.java:151)
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2032)
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2002)
>       at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)
>       at java.lang.Thread.run(Thread.java:745)
> "CM Configuration Updater" #16 daemon prio=5 os_prio=0 tid=0x000000005cc1c800 
> nid=0x24d8 in Object.wait() [0x000000005d38f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at java.lang.Object.wait(Object.java:502)
>       at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:77)
>       - locked <0x00000000812647b8> (a java.util.LinkedList)
>       at java.lang.Thread.run(Thread.java:745)
> "Thread-2" #15 daemon prio=5 os_prio=0 tid=0x000000005b3be800 nid=0xf40 
> runnable [0x000000005bc4e000]
>    java.lang.Thread.State: RUNNABLE
>       at java.net.DualStackPlainSocketImpl.accept0(Native Method)
>       at 
> java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
>       at 
> java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
>       at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
>       - locked <0x00000000815aedc0> (a java.net.SocksSocketImpl)
>       at java.net.ServerSocket.implAccept(ServerSocket.java:545)
>       at java.net.ServerSocket.accept(ServerSocket.java:513)
>       at 
> org.apache.karaf.main.ShutdownSocketThread.run(ShutdownSocketThread.java:56)
> "Thread-1" #14 prio=5 os_prio=0 tid=0x000000005b3dc800 nid=0x2a68 waiting on 
> condition [0x000000005b8fe000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
>       at java.lang.Thread.sleep(Native Method)
>       at org.apache.karaf.main.Main.doMonitor(Main.java:291)
>       at org.apache.karaf.main.Main.access$100(Main.java:65)
>       at org.apache.karaf.main.Main$1.run(Main.java:267)
> "FelixStartLevel" #13 daemon prio=5 os_prio=0 tid=0x000000005b096000 
> nid=0x23c0 waiting for monitor entry [0x000000005adae000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.unregisterFactory(ConfigurationTracker.java:136)
>       - waiting to lock <0x0000000081d45b38> (a 
> org.apache.felix.ipojo.ConfigurationTracker)
>       at org.apache.felix.ipojo.IPojoFactory.stop(IPojoFactory.java:591)
>       - locked <0x0000000082177c40> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at org.apache.felix.ipojo.IPojoFactory.dispose(IPojoFactory.java:644)
>       - locked <0x0000000082177c40> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at 
> org.apache.felix.ipojo.extender.internal.linker.ManagedType$ExtensionSupport.removedService(ManagedType.java:264)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:956)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:864)
>       at 
> org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
>       at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:375)
>       at 
> org.apache.felix.ipojo.extender.internal.linker.ManagedType.stop(ManagedType.java:189)
>       at 
> org.apache.felix.ipojo.extender.internal.linker.DeclarationLinker.removedService(DeclarationLinker.java:107)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:956)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:864)
>       at 
> org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:902)
>       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:4419)
>       at org.apache.felix.framework.Felix.access$000(Felix.java:74)
>       at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:401)
>       at 
> org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:151)
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127)
>       at 
> org.apache.felix.ipojo.extender.internal.AbstractService.stop(AbstractService.java:78)
>       at 
> org.apache.felix.ipojo.extender.internal.processor.ComponentsBundleProcessor$ComponentsAndInstances.stop(ComponentsBundleProcessor.java:223)
>       at 
> org.apache.felix.ipojo.extender.internal.processor.ComponentsBundleProcessor.deactivate(ComponentsBundleProcessor.java:112)
>       at 
> org.apache.felix.ipojo.extender.internal.processor.ForwardingBundleProcessor.deactivate(ForwardingBundleProcessor.java:42)
>       at 
> org.apache.felix.ipojo.extender.internal.processor.ChainedBundleProcessor.deactivate(ChainedBundleProcessor.java:100)
>       at 
> org.apache.felix.ipojo.extender.internal.Extender$1.removedBundle(Extender.java:214)
>       at 
> org.osgi.util.tracker.BundleTracker$Tracked.customizerRemoved(BundleTracker.java:491)
>       at 
> org.osgi.util.tracker.BundleTracker$Tracked.customizerRemoved(BundleTracker.java:414)
>       at 
> org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
>       at 
> org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:449)
>       at 
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
>       at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
>       at org.apache.felix.framework.Felix.stopBundle(Felix.java:2520)
>       at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1309)
>       at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
>       at java.lang.Thread.run(Thread.java:745)
> "FelixDispatchQueue" #12 prio=5 os_prio=0 tid=0x000000005b0a6000 nid=0x101c 
> in Object.wait() [0x000000005ba4f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at java.lang.Object.wait(Object.java:502)
>       at 
> org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:1063)
>       - locked <0x00000000813f1bd8> (a java.util.ArrayList)
>       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:745)
> "Service Thread" #10 daemon prio=9 os_prio=0 tid=0x0000000058e22800 
> nid=0x2530 runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x0000000058d9a000 
> nid=0x2ab8 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x0000000058d97800 
> nid=0x2b80 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000058d90800 
> nid=0xe00 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000058d89800 
> nid=0x2b40 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000058d87000 
> nid=0x239c runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000058d86000 
> nid=0x114c runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Finalizer" #3 daemon prio=8 os_prio=1 tid=0x0000000057bbe800 nid=0x1028 in 
> Object.wait() [0x000000005a03f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
>       - locked <0x0000000081158aa0> (a java.lang.ref.ReferenceQueue$Lock)
>       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
>       at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
> "Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000057bbd000 
> nid=0x103c in Object.wait() [0x0000000059f0f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       at java.lang.Object.wait(Object.java:502)
>       at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
>       - locked <0x000000008139d2d8> (a java.lang.ref.Reference$Lock)
> "main" #1 prio=5 os_prio=0 tid=0x00000000020cf800 nid=0x2924 in Object.wait() 
> [0x000000000249f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       - waiting on <0x000000008109bb38> (a 
> org.apache.felix.framework.util.ThreadGate)
>       at org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79)
>       - locked <0x000000008109bb38> (a 
> org.apache.felix.framework.util.ThreadGate)
>       at org.apache.felix.framework.Felix.waitForStop(Felix.java:998)
>       at org.apache.karaf.main.Main.awaitShutdown(Main.java:473)
>       at org.apache.karaf.main.Main.main(Main.java:177)
> "VM Thread" os_prio=2 tid=0x0000000057bb7800 nid=0x27fc runnable 
> "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x0000000002150000 nid=0x1470 
> runnable 
> "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x0000000002151800 nid=0x2368 
> runnable 
> "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002153000 nid=0x2a28 
> runnable 
> "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002154800 nid=0x2bb8 
> runnable 
> "GC task thread#4 (ParallelGC)" os_prio=0 tid=0x0000000002158000 nid=0x20a0 
> runnable 
> "GC task thread#5 (ParallelGC)" os_prio=0 tid=0x0000000002159000 nid=0x2984 
> runnable 
> "GC task thread#6 (ParallelGC)" os_prio=0 tid=0x000000000215c000 nid=0x2880 
> runnable 
> "GC task thread#7 (ParallelGC)" os_prio=0 tid=0x000000000215d800 nid=0x13fc 
> runnable 
> "VM Periodic Task Thread" os_prio=2 tid=0x0000000058ddf000 nid=0x234c waiting 
> on condition 
> JNI global references: 309
> Found one Java-level deadlock:
> =============================
> "[iPOJO] pool-1-thread-1":
>   waiting to lock monitor 0x0000000058d26288 (object 0x0000000081de1e68, a 
> org.apache.felix.ipojo.HandlerManagerFactory),
>   which is held by "CM Event Dispatcher (Fire ConfigurationEvent: 
> pid=com.my.internal.ServiceComponent.4e80e098-170b-422b-9462-54e34c8906cc)"
> "CM Event Dispatcher (Fire ConfigurationEvent: 
> pid=com.my.internal.ServiceComponent.4e80e098-170b-422b-9462-54e34c8906cc)":
>   waiting to lock monitor 0x0000000058d27f68 (object 0x0000000081d45b38, a 
> org.apache.felix.ipojo.ConfigurationTracker),
>   which is held by "[iPOJO] pool-1-thread-1"
> Java stack information for the threads listed above:
> ===================================================
> "[iPOJO] pool-1-thread-1":
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:259)
>       - waiting to lock <0x0000000081de1e68> (a 
> org.apache.felix.ipojo.HandlerManagerFactory)
>       at org.apache.felix.ipojo.IPojoFactory.getHandler(IPojoFactory.java:922)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:315)
>       - locked <0x000000008218de90> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:240)
>       at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:737)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.registerFactory(ConfigurationTracker.java:100)
>       - locked <0x0000000081d45b38> (a 
> org.apache.felix.ipojo.ConfigurationTracker)
>       at 
> org.apache.felix.ipojo.IPojoFactory.computeFactoryState(IPojoFactory.java:856)
>       at 
> org.apache.felix.ipojo.ComponentFactory.addedService(ComponentFactory.java:400)
>       - locked <0x000000008218de90> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at 
> org.apache.felix.ipojo.util.Tracker$Tracked.trackAdding(Tracker.java:711)
>       at 
> org.apache.felix.ipojo.util.Tracker$Tracked.trackInitialServices(Tracker.java:596)
>       at org.apache.felix.ipojo.util.Tracker.open(Tracker.java:210)
>       - locked <0x0000000082191528> (a org.apache.felix.ipojo.util.Tracker)
>       at 
> org.apache.felix.ipojo.ComponentFactory.starting(ComponentFactory.java:249)
>       at org.apache.felix.ipojo.IPojoFactory.start(IPojoFactory.java:671)
>       at 
> org.apache.felix.ipojo.extender.internal.linker.ManagedType$ExtensionSupport$1.call(ManagedType.java:229)
>       at 
> org.apache.felix.ipojo.extender.internal.linker.ManagedType$ExtensionSupport$1.call(ManagedType.java:216)
>       at 
> org.apache.felix.ipojo.extender.internal.queue.JobInfoCallable.call(JobInfoCallable.java:114)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> "CM Event Dispatcher (Fire ConfigurationEvent: 
> pid=com.my.internal.ServiceComponent.4e80e098-170b-422b-9462-54e34c8906cc)":
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.instanceCreated(ConfigurationTracker.java:110)
>       - waiting to lock <0x0000000081d45b38> (a 
> org.apache.felix.ipojo.ConfigurationTracker)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:323)
>       - locked <0x0000000081de1e68> (a 
> org.apache.felix.ipojo.HandlerManagerFactory)
>       at org.apache.felix.ipojo.IPojoFactory.getHandler(IPojoFactory.java:922)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:315)
>       - locked <0x0000000081e59b10> (a 
> org.apache.felix.ipojo.ComponentFactory)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:240)
>       at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:737)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.manageConfigurationEventForFactory(ConfigurationTracker.java:175)
>       at 
> org.apache.felix.ipojo.ConfigurationTracker.configurationEvent(ConfigurationTracker.java:151)
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2032)
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2002)
>       at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)
>       at java.lang.Thread.run(Thread.java:745)
> Found 1 deadlock.
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to