Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Fixed
    • 2.05.03
    • 2.05.04, 2.20.00, 2.21.00
    • None
    • None

    Description

      It looks like the jcr pool close() does not properly takes care of sessions still running.

      Found one Java-level deadlock:
      =============================
      "TP-Processor665":
      waiting to lock monitor 0x0000000041e8b3c0 (object 0x00007fc4ec966300, a java.lang.Object),
      which is held by "main"
      "main":
      waiting to lock monitor 0x00000000425743e8 (object 0x00007fc50bee1588, a org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager),
      which is held by "TP-Processor665"

      Java stack information for the threads listed above:
      ===================================================
      "TP-Processor665":
      at org.apache.jackrabbit.core.CachingHierarchyManager.nodeAdded(CachingHierarchyManager.java:362)

      • waiting to lock <0x00007fc4ec966300> (a java.lang.Object)
        at org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyNodeAdded(StateChangeDispatcher.java:159)
        at org.apache.jackrabbit.core.state.SessionItemStateManager.nodeAdded(SessionItemStateManager.java:932)
        at org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyNodeAdded(StateChangeDispatcher.java:159)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.nodeAdded(LocalItemStateManager.java:527)
        at org.apache.jackrabbit.core.state.NodeState.notifyNodeAdded(NodeState.java:852)
        at org.apache.jackrabbit.core.state.NodeState.addChildNodeEntry(NodeState.java:351)
      • locked <0x00007fc482e28418> (a org.apache.jackrabbit.core.state.NodeState)
        at org.hippoecm.repository.jackrabbit.ViewVirtualProvider.populateChildren(ViewVirtualProvider.java:240)
        at org.hippoecm.repository.jackrabbit.MirrorVirtualProvider.populate(MirrorVirtualProvider.java:131)
        at org.hippoecm.repository.jackrabbit.HippoNodeId.populate(HippoNodeId.java:67)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.getNodeState(HippoLocalItemStateManager.java:389)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:176)
      • locked <0x00007fc50bee1588> (a org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager)
        at org.apache.jackrabbit.core.state.ForkedXAItemStateManager.getItemState(ForkedXAItemStateManager.java:266)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.getItemState(HippoLocalItemStateManager.java:290)
        at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:182)
        at org.apache.jackrabbit.core.HierarchyManagerImpl.getItemState(HierarchyManagerImpl.java:154)
        at org.apache.jackrabbit.core.HierarchyManagerImpl.resolvePath(HierarchyManagerImpl.java:117)
        at org.apache.jackrabbit.core.CachingHierarchyManager.resolvePath(CachingHierarchyManager.java:148)
        at org.apache.jackrabbit.core.HierarchyManagerImpl.resolvePath(HierarchyManagerImpl.java:367)
        at org.hippoecm.repository.jackrabbit.HippoHierarchyManager.resolvePath(HippoHierarchyManager.java:56)
        at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:435)
        at org.apache.jackrabbit.core.SessionImpl.getItem(SessionImpl.java:817)
        at org.hippoecm.repository.decorating.SessionDecorator.getItem(SessionDecorator.java:178)
        at org.hippoecm.repository.decorating.checked.SessionDecorator.getItem(SessionDecorator.java:200)
        at org.hippoecm.hst.content.beans.query.HstVirtualizerImpl.virtualize(HstVirtualizerImpl.java:57)
        at org.hippoecm.hst.content.beans.standard.HippoBeanIteratorImpl.nextHippoBean(HippoBeanIteratorImpl.java:60)
        at nl.mysite.site.query.iterator.DefaultLimitedResultsBeanIterator.nextHippoBean(DefaultLimitedResultsBeanIterator.java:63)
        at nl.mysite.site.query.mapper.ListQueryResultMapper.map(ListQueryResultMapper.java:31)
        at nl.mysite.site.query.mapper.ListQueryResultMapper.map(ListQueryResultMapper.java:17)
        at nl.mysite.site.query.DefaultQueryTemplate.queryForObject(DefaultQueryTemplate.java:275)
        at nl.mysite.site.query.DefaultQueryTemplate.queryForObject(DefaultQueryTemplate.java:208)
        at nl.mysite.site.query.DefaultQueryTemplate.queryForList(DefaultQueryTemplate.java:176)
        at nl.mysite.site.dao.SubjectDao.findActiveSubjectsOrderedByTitle(SubjectDao.java:72)
        at nl.mysite.site.contenttype.subject.AlphabeticSubjectOverviewComponent.doBeforeRender(AlphabeticSubjectOverviewComponent.java:63)
        at org.hippoecm.hst.core.container.HstComponentInvokerImpl.invokeBeforeRender(HstComponentInvokerImpl.java:116)
        at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
        at org.hippoecm.hst.core.logging.HstComponentInvokerProfiler.profile(HstComponentInvokerProfiler.java:70)
        at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
        at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
        at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy1.invokeBeforeRender(Unknown Source)
        at org.hippoecm.hst.core.container.AggregationValve.processWindowsBeforeRender(AggregationValve.java:300)
        at org.hippoecm.hst.core.container.AggregationValve.invoke(AggregationValve.java:102)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.ResourceServingValve.invoke(ResourceServingValve.java:88)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.ActionValve.invoke(ActionValve.java:177)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.SiteMenusResolvingValve.invoke(SiteMenusResolvingValve.java:39)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.SecurityValve.invoke(SecurityValve.java:55)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.ContextResolvingValve.invoke(ContextResolvingValve.java:162)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.SiteResolvingValve.invoke(SiteResolvingValve.java:76)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.HstURLValve.invoke(HstURLValve.java:53)
        at org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:97)
        at org.hippoecm.hst.core.container.HstSitePipeline.invokeValves(HstSitePipeline.java:66)
        at org.hippoecm.hst.core.container.HstSitePipeline.invoke(HstSitePipeline.java:57)
        at org.hippoecm.hst.core.container.HstRequestProcessorImpl.processRequest(HstRequestProcessorImpl.java:69)
        at org.hippoecm.hst.core.container.HstRequestProcessorImpl.processRequest(HstRequestProcessorImpl.java:35)
        at org.hippoecm.hst.container.HstContainerServlet.invoke(HstContainerServlet.java:196)
        at org.hippoecm.hst.container.HstContainerServlet.service(HstContainerServlet.java:209)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.hippoecm.hst.container.HstVirtualHostsFilter.doFilter(HstVirtualHostsFilter.java:129)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at nl.mysite.site.filters.LocaleFilter.doFilterInternal(LocaleFilter.java:109)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at nl.mysite.site.filters.DisableUrlSessionFilter.doFilterInternal(DisableUrlSessionFilter.java:95)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at nl.mysite.site.tags.contribution.ContributionFilter.doFilterInternal(ContributionFilter.java:29)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:662)
        "main":
        at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:171)
      • waiting to lock <0x00007fc50bee1588> (a org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager)
        at org.apache.jackrabbit.core.state.ForkedXAItemStateManager.getItemState(ForkedXAItemStateManager.java:266)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.getItemState(HippoLocalItemStateManager.java:290)
        at org.hippoecm.repository.jackrabbit.HippoVirtualProvider.getPropertyState(HippoVirtualProvider.java:157)
        at org.hippoecm.repository.jackrabbit.HippoVirtualProvider.getProperty(HippoVirtualProvider.java:141)
        at org.hippoecm.repository.jackrabbit.ViewVirtualProvider.populate(ViewVirtualProvider.java:179)
        at org.hippoecm.repository.jackrabbit.HippoNodeId.populate(HippoNodeId.java:85)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.getItemState(HippoLocalItemStateManager.java:298)
        at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:182)
        at org.apache.jackrabbit.core.HierarchyManagerImpl.getItemState(HierarchyManagerImpl.java:154)
        at org.apache.jackrabbit.core.CachingHierarchyManager.nodeRemoved(CachingHierarchyManager.java:726)
        at org.apache.jackrabbit.core.CachingHierarchyManager.nodeRemoved(CachingHierarchyManager.java:455)
      • locked <0x00007fc4ec966300> (a java.lang.Object)
        at org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyNodeRemoved(StateChangeDispatcher.java:207)
        at org.apache.jackrabbit.core.state.SessionItemStateManager.nodeRemoved(SessionItemStateManager.java:968)
        at org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyNodeRemoved(StateChangeDispatcher.java:207)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.nodeRemoved(LocalItemStateManager.java:557)
        at org.apache.jackrabbit.core.state.NodeState.notifyNodeRemoved(NodeState.java:871)
        at org.apache.jackrabbit.core.state.NodeState.removeChildNodeEntry(NodeState.java:403)
      • locked <0x00007fc4d0be6c10> (a org.apache.jackrabbit.core.state.NodeState)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager$FilteredChangeLog.invalidate(HippoLocalItemStateManager.java:560)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.update(HippoLocalItemStateManager.java:243)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:334)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.update(HippoLocalItemStateManager.java:253)
        at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.refresh(HippoLocalItemStateManager.java:265)
        at org.hippoecm.repository.jackrabbit.HippoSessionItemStateManager.disposeAllTransientItemStates(HippoSessionItemStateManager.java:94)
        at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1154)
      • locked <0x00007fc50bad52a0> (a org.hippoecm.repository.jackrabbit.XASessionImpl)
        at org.apache.jackrabbit.core.ForkedXASessionImpl.logout(ForkedXASessionImpl.java:405)
      • locked <0x00007fc50bad52a0> (a org.hippoecm.repository.jackrabbit.XASessionImpl)
        at org.hippoecm.repository.jackrabbit.XASessionImpl.logout(XASessionImpl.java:151)
        at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1097)
      • locked <0x00007fc48d8d5260> (a org.hippoecm.repository.LocalHippoRepository$LocalRepositoryImpl)
        at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1060)
        at org.hippoecm.repository.jackrabbit.RepositoryImpl.shutdown(RepositoryImpl.java:300)
        at org.hippoecm.repository.LocalHippoRepository.close(LocalHippoRepository.java:760)
      • locked <0x00007fc48d359b00> (a org.hippoecm.repository.LocalHippoRepository)
        at org.hippoecm.hst.core.jcr.pool.JcrHippoRepository.closeHippoRepository(JcrHippoRepository.java:204)
        at org.hippoecm.hst.core.jcr.pool.JcrHippoRepositoryProvider.returnRepository(JcrHippoRepositoryProvider.java:29)
        at org.hippoecm.hst.core.jcr.pool.BasicPoolingRepository.doClose(BasicPoolingRepository.java:560)
        at org.hippoecm.hst.core.jcr.pool.BasicPoolingRepository.close(BasicPoolingRepository.java:540)
      • locked <0x00007fc495722a50> (a org.hippoecm.hst.core.jcr.pool.BasicPoolingRepository)
        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.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:273)
        at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:199)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:487)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:463)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:498)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:463)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:480)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:463)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:431)
      • locked <0x00007fc496ac1e30> (a java.util.LinkedHashMap)
        at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1048)
        at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1022)
        at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:970)
      • locked <0x00007fc497c17c00> (a java.lang.Object)
        at org.hippoecm.hst.site.container.SpringComponentManager.close(SpringComponentManager.java:138)
        at org.hippoecm.hst.site.container.HstSiteConfigServlet.destroy(HstSiteConfigServlet.java:361)
        at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1394)
      • locked <0x00007fc48cfaa610> (a org.apache.catalina.core.StandardWrapper)
        at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1739)
        at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4764)
      • locked <0x00007fc48cfd14b8> (a org.apache.catalina.core.StandardContext)
        at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
        at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1319)
        at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1290)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:323)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1086)
      • locked <0x00007fc48d00d360> (a org.apache.catalina.core.StandardHost)
        at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
      • locked <0x00007fc48d003fd0> (a org.apache.catalina.core.StandardEngine)
        at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:450)
        at org.apache.catalina.core.StandardService.stop(StandardService.java:587)
      • locked <0x00007fc48d003fd0> (a org.apache.catalina.core.StandardEngine)
        at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
        at org.apache.catalina.startup.Catalina.stop(Catalina.java:648)

      Attachments

        Activity

          People

            wko Woonsan Ko (Inactive)
            bvdschans Bart van der Schans (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: