[ https://issues.apache.org/jira/browse/OAK-2401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chetan Mehrotra reassigned OAK-2401: ------------------------------------ Assignee: Chetan Mehrotra (was: Alex Parvulescu) > SegmentNodeStoreService prone to deadlocks > ------------------------------------------ > > Key: OAK-2401 > URL: https://issues.apache.org/jira/browse/OAK-2401 > Project: Jackrabbit Oak > Issue Type: Bug > Components: segmentmk > Reporter: Alex Parvulescu > Assignee: Chetan Mehrotra > Priority: Blocker > Labels: resilience > Fix For: 1.3.1, 1.2.3, 1.0.16 > > Attachments: OAK-2401-01.patch, OAK-2401-02.patch, OAK-2401-03.patch, > OAK-2401-04-testcase-fix.patch, OAK-2401.patch > > > The SegmentNodeStoreService is prone to deadlocks because of the way in which > is synchronizes access to the _SegmentNodeStore_ delegate. > The issue can now be seen on #deactivate, when the deregistration is being > synchronously broadcast and if a referring service calls #getNodeStore the > deadlock happens. > {code} > Found one Java-level deadlock: > ============================= > "qtp844483043-936": > waiting to lock monitor 0x000001d1aacc7208 (object 0x000001d231f52698, a > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService), > which is held by "CM Event Dispatcher (Fire ConfigurationEvent: > pid=org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService)" > "CM Event Dispatcher (Fire ConfigurationEvent: > pid=org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService)": > waiting to lock monitor 0x000001d4d0907c88 (object 0x000001d2334be930, a > java.lang.Object), > which is held by "pool-5-thread-4" > "pool-5-thread-4": > waiting to lock monitor 0x000001d1aacc7208 (object 0x000001d231f52698, a > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService), > which is held by "CM Event Dispatcher (Fire ConfigurationEvent: > pid=org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService)" > Java stack information for the threads listed above: > =================================================== > "qtp844483043-936": > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.getNodeStore(SegmentNodeStoreService.java:144) > - waiting to lock <0x000001d231f52698> (a > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.getNodeStore(SegmentNodeStoreService.java:73) > at > org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.getRoot(ProxyNodeStore.java:35) > at > org.apache.jackrabbit.oak.core.MutableRoot.<init>(MutableRoot.java:160) > at > org.apache.jackrabbit.oak.core.ContentSessionImpl.getLatestRoot(ContentSessionImpl.java:110) > at > org.apache.jackrabbit.oak.spi.security.authentication.AbstractLoginModule.getRoot(AbstractLoginModule.java:403) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:215) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:128) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at javax.security.auth.login.LoginContext.invoke(LoginContext.java:762) > at > javax.security.auth.login.LoginContext.access$000(LoginContext.java:203) > at javax.security.auth.login.LoginContext$4.run(LoginContext.java:690) > at javax.security.auth.login.LoginContext$4.run(LoginContext.java:688) > at java.security.AccessController.doPrivileged(Native Method) > at > javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:687) > at javax.security.auth.login.LoginContext.login(LoginContext.java:595) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:161) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:256) > at > com.adobe.granite.repository.impl.CRX3RepositoryImpl.login(CRX3RepositoryImpl.java:92) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:197) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.login(AbstractSlingRepository2.java:297) > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:289) > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProvider(JcrResourceProviderFactory.java:201) > at > org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:164) > at > org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95) > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:109) > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolver(CommonResourceResolverFactoryImpl.java:90) > at > org.apache.sling.resourceresolver.impl.ResourceResolverFactoryImpl.getResourceResolver(ResourceResolverFactoryImpl.java:93) > at > org.apache.sling.auth.core.impl.SlingAuthenticator.getAnonymousResolver(SlingAuthenticator.java:839) > at > org.apache.sling.auth.core.impl.SlingAuthenticator.doHandleSecurity(SlingAuthenticator.java:478) > at > org.apache.sling.auth.core.impl.SlingAuthenticator.handleSecurity(SlingAuthenticator.java:438) > at > org.apache.sling.engine.impl.SlingHttpContext.handleSecurity(SlingHttpContext.java:121) > at > org.apache.felix.http.base.internal.context.ServletContextImpl.handleSecurity(ServletContextImpl.java:335) > at > org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:337) > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:300) > at > org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:93) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:50) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:128) > at > org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at > org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:55) > at > org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at > org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:89) > at > org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at > com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:298) > at > org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at > org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:290) > at > org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at > org.apache.sling.featureflags.impl.FeatureManager.doFilter(FeatureManager.java:115) > at > org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at > org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75) > at > org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) > at > org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:76) > at > org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:49) > at > org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:370) > at > org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) > at > org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) > at > org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) > at > org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > "CM Event Dispatcher (Fire ConfigurationEvent: > pid=org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService)": > at > org.apache.sling.discovery.impl.DiscoveryServiceImpl.unbindTopologyEventListener(DiscoveryServiceImpl.java:242) > - waiting to lock <0x000001d2334be930> (a java.lang.Object) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231) > at > org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39) > at > org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624) > at > org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508) > at > org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:37) > at > org.apache.felix.scr.impl.manager.DependencyManager.invokeUnbindMethod(DependencyManager.java:1717) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.invokeUnbindMethod(SingleComponentManager.java:404) > at > org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.removedService(DependencyManager.java:376) > at > org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.removedService(DependencyManager.java:304) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1506) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1401) > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:1261) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1440) > at > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:940) > at > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:794) > at > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:544) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4425) > at org.apache.felix.framework.Felix.access$000(Felix.java:75) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:402) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:153) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:128) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:1011) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:992) > at > org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:141) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterService(AbstractComponentManager.java:1054) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:900) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:883) > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:974) > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:895) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1506) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1401) > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:1261) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1440) > at > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:940) > at > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:794) > at > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:544) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4425) > at org.apache.felix.framework.Felix.access$000(Felix.java:75) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:402) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:153) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:128) > at > org.apache.sling.jcr.base.AbstractSlingRepositoryManager.unregisterService(AbstractSlingRepositoryManager.java:258) > at > org.apache.sling.jcr.base.AbstractSlingRepositoryManager.stop(AbstractSlingRepositoryManager.java:345) > at > com.adobe.granite.repository.impl.SlingRepositoryManager.deactivate(SlingRepositoryManager.java:194) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231) > at > org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39) > at > org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624) > at > org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508) > at > org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:355) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:170) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:908) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:883) > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:974) > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:895) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1506) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1401) > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:1261) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1440) > at > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:940) > at > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:794) > at > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:544) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4425) > at org.apache.felix.framework.Felix.access$000(Felix.java:75) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:402) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:153) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:128) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.unregisterNodeStore(SegmentNodeStoreService.java:320) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.deactivate(SegmentNodeStoreService.java:295) > - locked <0x000001d231f52698> (a > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231) > at > org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39) > at > org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624) > at > org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508) > at > org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:355) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:170) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:908) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:883) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:638) > at > org.apache.felix.scr.impl.config.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:328) > at > org.apache.felix.scr.impl.config.ConfigurationSupport.configurationEvent(ConfigurationSupport.java:290) > 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) > "pool-5-thread-4": > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.getNodeStore(SegmentNodeStoreService.java:144) > - waiting to lock <0x000001d231f52698> (a > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.getNodeStore(SegmentNodeStoreService.java:73) > at > org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.getRoot(ProxyNodeStore.java:35) > at > org.apache.jackrabbit.oak.core.MutableRoot.<init>(MutableRoot.java:160) > at > org.apache.jackrabbit.oak.core.ContentSessionImpl.getLatestRoot(ContentSessionImpl.java:110) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.<init>(SessionDelegate.java:160) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl$1.<init>(RepositoryImpl.java:273) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.createSessionDelegate(RepositoryImpl.java:271) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:257) > at > com.adobe.granite.repository.impl.CRX3RepositoryImpl.login(CRX3RepositoryImpl.java:92) > at > com.adobe.granite.repository.impl.SlingRepositoryImpl$2.run(SlingRepositoryImpl.java:108) > at > com.adobe.granite.repository.impl.SlingRepositoryImpl$2.run(SlingRepositoryImpl.java:100) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAsPrivileged(Subject.java:536) > at > com.adobe.granite.repository.impl.SlingRepositoryImpl.createAdministrativeSession(SlingRepositoryImpl.java:100) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.loginAdministrative(AbstractSlingRepository2.java:362) > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:246) > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getAdministrativeResourceProvider(JcrResourceProviderFactory.java:209) > at > org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:162) > at > org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95) > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:109) > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getAdministrativeResourceResolver(CommonResourceResolverFactoryImpl.java:76) > at > org.apache.sling.resourceresolver.impl.ResourceResolverFactoryImpl.getAdministrativeResourceResolver(ResourceResolverFactoryImpl.java:98) > at > org.apache.sling.discovery.impl.cluster.ClusterViewServiceImpl.getClusterView(ClusterViewServiceImpl.java:132) > at > org.apache.sling.discovery.impl.DiscoveryServiceImpl.getTopology(DiscoveryServiceImpl.java:418) > at > org.apache.sling.discovery.impl.DiscoveryServiceImpl.handlePotentialTopologyChange(DiscoveryServiceImpl.java:466) > at > org.apache.sling.discovery.impl.DiscoveryServiceImpl.handleTopologyChanged(DiscoveryServiceImpl.java:650) > - locked <0x000001d2334be930> (a java.lang.Object) > at > org.apache.sling.discovery.impl.topology.TopologyChangeHandler.handleTopologyChanged(TopologyChangeHandler.java:134) > at > org.apache.sling.discovery.impl.topology.TopologyChangeHandler.handleEvent(TopologyChangeHandler.java:124) > at > org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:412) > at > org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:118) > at > org.apache.felix.eventadmin.impl.handler.EventAdminImpl.sendEvent(EventAdminImpl.java:114) > at > org.apache.felix.eventadmin.impl.security.EventAdminSecurityDecorator.sendEvent(EventAdminSecurityDecorator.java:96) > at > org.apache.sling.jcr.resource.internal.OakResourceListener.sendOsgiEvent(OakResourceListener.java:243) > at > org.apache.sling.jcr.resource.internal.OakResourceListener.changed(OakResourceListener.java:133) > at > org.apache.jackrabbit.oak.plugins.observation.NodeObserver$NodeEventHandler.leave(NodeObserver.java:208) > at > org.apache.jackrabbit.oak.plugins.observation.FilteredHandler.leave(FilteredHandler.java:51) > at > org.apache.jackrabbit.oak.plugins.observation.EventGenerator$Continuation.run(EventGenerator.java:175) > at > org.apache.jackrabbit.oak.plugins.observation.EventGenerator.generate(EventGenerator.java:118) > at > org.apache.jackrabbit.oak.plugins.observation.NodeObserver.contentChanged(NodeObserver.java:156) > at > org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:117) > at > org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:111) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Found 1 deadlock. > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)