Found one Java-level deadlock: ============================= "pool-org.apache.karaf.deployer.blueprint-2.3.0.fuse-71-047-thread-1": waiting to lock monitor 0x0000000010a374e8 (object 0x00000000e057e670, a java.util.ArrayList), which is held by "FelixStartLevel" "FelixStartLevel": waiting to lock monitor 0x0000000010a37440 (object 0x00000000e057efc8, a java.lang.Object), which is held by "pool-org.apache.karaf.deployer.blueprint-2.3.0.fuse-71-047-thread-1" Java stack information for the threads listed above: =================================================== "pool-org.apache.karaf.deployer.blueprint-2.3.0.fuse-71-047-thread-1": at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.getBestServiceReference(AbstractServiceReferenceRecipe.java:443) - waiting to lock <0x00000000e057e670> (a java.util.ArrayList) at org.apache.aries.blueprint.container.ReferenceRecipe.retrack(ReferenceRecipe.java:128) at org.apache.aries.blueprint.container.ReferenceRecipe.untrack(ReferenceRecipe.java:151) - locked <0x00000000e057efc8> (a java.lang.Object) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceRemoved(AbstractServiceReferenceRecipe.java:359) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.access$200(AbstractServiceReferenceRecipe.java:71) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$3.run(AbstractServiceReferenceRecipe.java:317) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) "FelixStartLevel": at org.apache.aries.blueprint.container.ReferenceRecipe.doStop(ReferenceRecipe.java:122) - waiting to lock <0x00000000e057efc8> (a java.lang.Object) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.stop(AbstractServiceReferenceRecipe.java:153) - locked <0x00000000e057e670> (a java.util.ArrayList) at org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReference(BlueprintContainerImpl.java:597) at org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReferences(BlueprintContainerImpl.java:577) at org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:845) at org.apache.aries.blueprint.container.BlueprintExtender.destroyContext(BlueprintExtender.java:254) at org.apache.aries.blueprint.container.BlueprintExtender.bundleChanged(BlueprintExtender.java:246) at org.apache.aries.blueprint.container.BlueprintExtender$BlueprintBundleTrackerCustomizer.modifiedBundle(BlueprintExtender.java:471) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:198) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:128) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:468) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:161) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:117) at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103) at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484) at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4479) at org.apache.felix.framework.Felix.stopBundle(Felix.java:2592) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1305) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:298) at java.lang.Thread.run(Thread.java:722)