[ 
https://issues.apache.org/jira/browse/SLING-11717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Henry Kuijpers updated SLING-11717:
-----------------------------------
    Summary: Sling WebConsoleSecurityProvider extension seems to deadlock in 
certain cases - Dupe  (was: Sling WebConsoleSecurityProvider extension seems to 
deadlock in certain cases)

> Sling WebConsoleSecurityProvider extension seems to deadlock in certain cases 
> - Dupe
> ------------------------------------------------------------------------------------
>
>                 Key: SLING-11717
>                 URL: https://issues.apache.org/jira/browse/SLING-11717
>             Project: Sling
>          Issue Type: Bug
>    Affects Versions: Web Console Security Provider 1.2.4, Web Console 
> Security Provider 1.2.6
>            Reporter: Henry Kuijpers
>            Priority: Major
>
> {code:java}
> Found one Java-level deadlock:
> =============================
> "FelixDispatchQueue":
>   waiting to lock monitor 7f8a5595d180 (object 7f8b03e7, a 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener$Listener),
>   which is held by "Apache Sling Repository Startup Thread #1"
> "Apache Sling Repository Startup Thread #1":
>   waiting to lock monitor 7f8a5595d180 (object 45551fe9, a 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener),
>   which is held by "FelixDispatchQueue"
> {code}
> The issue seems to be in 
> https://github.com/apache/sling-org-apache-sling-extensions-webconsolesecurityprovider/blob/fd7f0e9e4e287ceb72211ee2e08e55568713ddbd/src/main/java/org/apache/sling/extensions/webconsolesecurityprovider/internal/ServicesListener.java
>  and it could very well be that the last commit was the cause(?). 
> https://github.com/apache/sling-org-apache-sling-extensions-webconsolesecurityprovider/commit/fd7f0e9e4e287ceb72211ee2e08e55568713ddbd
>  
> {code:java}
> Java stack information for the threads listed above:
> ===================================================
> "FelixDispatchQueue" prio=5 tid=0xd nid=0xffffffff waiting for monitor entry
>    java.lang.Thread.State: BLOCKED
>       at 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener$Listener.getService(ServicesListener.java:247)
>       - waiting to lock <0x7f8b03e7> (a 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener$Listener)
>  owned by "Apache Sling Repository Startup Thread #1" tid=0x80
>       at 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener.notifyChange(ServicesListener.java:121)
>       - locked <0x45551fe9> (a 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener)
>       at 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener.startupFinished(ServicesListener.java:105)
>       at 
> org.apache.sling.launchpad.base.impl.DefaultStartupHandler.startupFinished(DefaultStartupHandler.java:366)
>       at 
> org.apache.sling.launchpad.base.impl.DefaultStartupHandler.frameworkEvent(DefaultStartupHandler.java:287)
>       at 
> org.apache.felix.framework.EventDispatcher.invokeFrameworkListenerCallback(EventDispatcher.java:881)
>       at 
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:830)
>       at 
> org.apache.felix.framework.EventDispatcher.run(EventDispatcher.java:1147)
>       at 
> org.apache.felix.framework.EventDispatcher.access$000(EventDispatcher.java:54)
>       at 
> org.apache.felix.framework.EventDispatcher$1.run(EventDispatcher.java:102)
>       at java.base@11.0.16.1/java.lang.Thread.run(Thread.java:834)
> "Apache Sling Repository Startup Thread #1" daemon prio=5 tid=0x50 
> nid=0xffffffff waiting for monitor entry
>    java.lang.Thread.State: BLOCKED
>       at 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener.notifyChange(ServicesListener.java:121)
>       - waiting to lock <0x45551fe9> (a 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener)
>  owned by "FelixDispatchQueue" tid=0x13
>       at 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener$Listener.retainService(ServicesListener.java:270)
>       - locked <0x7f8b03e7> (a 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener$Listener)
>       at 
> org.apache.sling.extensions.webconsolesecurityprovider.internal.ServicesListener$Listener.serviceChanged(ServicesListener.java:295)
>       at 
> org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
>       at 
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
>       at 
> org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
>       at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4833)
>       at org.apache.felix.framework.Felix.registerService(Felix.java:3804)
>       at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:907)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:893)
>       at 
> org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:960)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:733)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1091)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1043)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)
>       at 
> org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
>       at 
> org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
>       at 
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
>       at 
> org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
>       at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4833)
>       at org.apache.felix.framework.Felix.registerService(Felix.java:3804)
>       at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
>       at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:501)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.registerFactory(ResourceResolverFactoryActivator.java:519)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:582)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.access$100(ResourceResolverFactoryActivator.java:68)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator$1.providerAdded(ResourceResolverFactoryActivator.java:416)
>       at 
> org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.register(ResourceProviderTracker.java:217)
>       at 
> org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.access$200(ResourceProviderTracker.java:59)
>       at 
> org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:130)
>       at 
> org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:106)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:871)
>       at 
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
>       at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
>       at 
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903)
>       at 
> org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
>       at 
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
>       at 
> org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
>       at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4833)
>       at org.apache.felix.framework.Felix.registerService(Felix.java:3804)
>       at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:907)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:893)
>       at 
> org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:960)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:733)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1091)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1043)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)
>       at 
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)
>       at 
> org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
>       at 
> org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
>       at 
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
>       at 
> org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
>       at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4833)
>       at org.apache.felix.framework.Felix.registerService(Felix.java:3804)
>       at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
>       at 
> org.apache.sling.jcr.base.AbstractSlingRepositoryManager.registerService(AbstractSlingRepositoryManager.java:222)
>       at 
> org.apache.sling.jcr.base.AbstractSlingRepositoryManager.initializeAndRegisterRepositoryService(AbstractSlingRepositoryManager.java:566)
>       - locked <0x6bf30b5e> (a java.lang.Object)
>       at 
> org.apache.sling.jcr.base.AbstractSlingRepositoryManager.access$300(AbstractSlingRepositoryManager.java:92)
>       at 
> org.apache.sling.jcr.base.AbstractSlingRepositoryManager$4.run(AbstractSlingRepositoryManager.java:527)
> Found 1 deadlock.
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to