[ https://issues.apache.org/jira/browse/SLING-2719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13567643#comment-13567643 ]
Chetan Mehrotra commented on SLING-2719: ---------------------------------------- Thread stacks referred in notes [5] "FelixFrameworkWiring" daemon prio=6 tid=0x0000000009749000 nid=0xfd4 waiting for monitor entry [0x0000000038bcb000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:330) - waiting to lock <0x000000079624ff08> (a org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator) at org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.unbindResourceProviderFactory(ResourceResolverFactoryActivator.java:371) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:236) at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:613) at org.apache.felix.scr.impl.helper.BaseMethod$NotResolved.invoke(BaseMethod.java:572) at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:496) at org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:38) at org.apache.felix.scr.impl.manager.DependencyManager.invokeUnbindMethod(DependencyManager.java:1404) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.invokeUnbindMethod(ImmediateComponentManager.java:327) at org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:530) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274) 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:4335) 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:702) - locked <0x0000000796d5d030> (a java.util.concurrent.atomic.AtomicReference) at org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1301) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1599) at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:555) at org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:451) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274) 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:4335) 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 com.day.crx.sling.server.impl.jmx.ManagedRepository.deactivate(ManagedRepository.java:328) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:236) at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:613) at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:496) at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:286) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:160) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Active.ungetService(AbstractComponentManager.java:1661) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:717) 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:3502) at org.apache.felix.framework.BundleContextImpl.ungetService(BundleContextImpl.java:486) at org.apache.felix.scr.impl.manager.DependencyManager.ungetService(DependencyManager.java:961) at org.apache.felix.scr.impl.manager.DependencyManager.unbind(DependencyManager.java:1204) at org.apache.felix.scr.impl.manager.DependencyManager.close(DependencyManager.java:1031) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:298) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:160) at org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1305) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1599) at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:555) at org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:451) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274) 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:4335) 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:702) - locked <0x00000007944dae38> (a java.util.concurrent.atomic.AtomicReference) at org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1301) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1599) at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:555) at org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:451) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274) 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:4335) 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:702) - locked <0x00000007944da9b0> (a java.util.concurrent.atomic.AtomicReference) at org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1301) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1599) at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:555) at org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:451) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274) 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:4335) 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:702) - locked <0x00000007944da478> (a java.util.concurrent.atomic.AtomicReference) at org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1301) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.dispose(AbstractComponentManager.java:1617) at org.apache.felix.scr.impl.manager.AbstractComponentManager.disposeInternal(AbstractComponentManager.java:574) at org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:404) at org.apache.felix.scr.impl.config.ImmediateComponentHolder.disposeComponents(ImmediateComponentHolder.java:371) at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:320) at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:316) at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:183) 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:4319) at org.apache.felix.framework.Felix.stopBundle(Felix.java:2421) at org.apache.felix.framework.Felix$RefreshHelper.stop(Felix.java:4704) at org.apache.felix.framework.Felix.refreshPackages(Felix.java:4026) at org.apache.felix.framework.FrameworkWiringImpl.run(FrameworkWiringImpl.java:172) at java.lang.Thread.run(Thread.java:662) [6] "FelixStartLevel" daemon prio=6 tid=0x000000002c81a800 nid=0x96c in Object.wait() [0x000000003557c000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x000000079415eca0> (a [Ljava.lang.Object;) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.Felix.acquireGlobalLock(Felix.java:5019) - locked <0x000000079415eca0> (a [Ljava.lang.Object;) at org.apache.felix.framework.StatefulResolver.resolve(StatefulResolver.java:451) at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1578) at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1478) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1882) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1356) at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:548) at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:280) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:916) 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:4335) at org.apache.felix.framework.Felix.registerService(Felix.java:3345) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660) - locked <0x000000079695a188> (a java.util.concurrent.atomic.AtomicReference) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:644) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:688) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1481) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550) at org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:333) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:159) 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:4335) at org.apache.felix.framework.Felix.registerService(Felix.java:3345) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660) - locked <0x0000000796959eb8> (a java.util.concurrent.atomic.AtomicReference) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:644) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:688) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1481) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550) at org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:333) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:159) 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:4335) at org.apache.felix.framework.Felix.registerService(Felix.java:3345) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660) - locked <0x0000000796959bc8> (a java.util.concurrent.atomic.AtomicReference) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:644) at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:688) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1481) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550) at org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:333) at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:159) 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:4335) at org.apache.felix.framework.Felix.registerService(Felix.java:3345) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:320) at org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:324) - locked <0x000000079624ff08> (a org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator) at org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.activate(ResourceResolverFactoryActivator.java:282) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:236) at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:613) at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:496) at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:251) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:119) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1518) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550) at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:261) at org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:328) at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:158) at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:113) at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:261) at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:179) 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:4319) at org.apache.felix.framework.Felix.startBundle(Felix.java:1993) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1261) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:298) at java.lang.Thread.run(Thread.java:662) > Deadlock in ResourceResolverFactoryActivator.checkFactoryPreconditions > ---------------------------------------------------------------------- > > Key: SLING-2719 > URL: https://issues.apache.org/jira/browse/SLING-2719 > Project: Sling > Issue Type: Bug > Components: ResourceResolver > Affects Versions: Resource Resolver 1.0.2 > Environment: JBoss > Reporter: Chetan Mehrotra > Labels: deadlock > > We are seeing intermittent issues of deadlock while running a Sling based > webapp in an app server like JBoss. The deadlock is being seen between the > FelixFrameworkWiring and FelixStartLevel threads. > For example analyzing the order of locks taken in the threaddump-1.log (shown > below). Here the FelixFrameworkWiring thread has the Global bundle lock at > Felix level [1] and is waiting for the lock in > ResourceResolverFactoryActivator.checkFactoryPreconditions. While the > FelixStartLevel thread has the lock on RRF and is waiting for global lock. > Thus resulting in a deadlock > The FelixFrameworkWiring [5] is busy in deactivating components because of a > package refresh earlier (which lead to repository getting shutdown and thus > triggering deactivation of ResourceResolverFactoryActivator). While the > FelixStartLevel [6] thread has activated ResourceResolverFactoryActivator > (thus hold the lock) and later requires global lock for some operation. > Looking at the code for > ResourceResolverFactoryActivator.checkFactoryPreconditions [2] it appears to > take and hold a lock (on this) while making a call to OSGi container. Such a > usage *might* cause issues like deadlock. So it would be better if the > ResourceResolverFactoryActivator does not hold any lock while making the call > to container services [3] > "FelixFrameworkWiring" > - locked <0x00000007944da478> (a java.util.concurrent.atomic.AtomicReference) > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:702) > - locked <0x00000007944da9b0> (a java.util.concurrent.atomic.AtomicReference) > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:702) > - locked <0x00000007944dae38> (a java.util.concurrent.atomic.AtomicReference) > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:702) > - locked <0x0000000796d5d030> (a java.util.concurrent.atomic.AtomicReference) > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:702) > - waiting to lock <0x000000079624ff08> (a > org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator) > org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:330) > "FelixStartLevel" > - locked <0x000000079624ff08> (a > org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator) > org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:324) > - locked <0x0000000796959bc8> (a java.util.concurrent.atomic.AtomicReference) > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660) > - locked <0x0000000796959eb8> (a java.util.concurrent.atomic.AtomicReference) > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660) > - locked <0x000000079695a188> (a java.util.concurrent.atomic.AtomicReference) > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660) > - waiting <0x000000079415eca0> (a [Ljava.lang.Object;) > org.apache.felix.framework.Felix.acquireGlobalLock(Felix.java:5019) > [1] This has been confirmed via the value for m_globalLockThread of Felix > instance in Heap Dump > [2] > https://github.com/apache/sling/blob/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryActivator.java#L313 > [3] http://njbartlett.name/files/osgibook_preview_20091217.pdf (Section 6.4 > Don’t Hold Locks when Calling Foreign Code) -- 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