Uploaded image for project: 'Hippo CMS'
  1. Hippo CMS
  2. CMS-3526

Deadlock in repository when using the CMS

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Top
    • Resolution: Fixed
    • r2.09.04
    • r2.09.05, r2.11.00
    • None
    • None

    Description

      In version 2.09.04 (clustered) with Tomcat 6.0 on linux with java 1.6.0.14:

      "VM Periodic Task Thread" prio=10 tid=0x00007f82b8005000 nid=0x4e70 waiting on condition

      JNI global references: 1016

      Found one Java-level deadlock:
      =============================
      "RMI TCP Connection(12)-10.2.12.8":
      waiting to lock monitor 0x00000000406094f8 (object 0x00007f82c6824908, a org.hippoecm.repository.jackrabbit.XASessionImpl),
      which is held by "TP-Processor12"
      "TP-Processor12":
      waiting to lock monitor 0x00007f82b0093e50 (object 0x00007f82c2671310, a org.apache.jackrabbit.core.version.VersionManagerImpl$DynamicESCFactory),
      which is held by "RMI TCP Connection(12)-10.2.12.8"

      Java stack information for the threads listed above:
      ===================================================
      "RMI TCP Connection(12)-10.2.12.8":
      at org.apache.jackrabbit.commons.AbstractSession.getNamespacePrefix(AbstractSession.java:88)

      • waiting to lock <0x00007f82c6824908> (a org.hippoecm.repository.jackrabbit.XASessionImpl)
        at org.apache.jackrabbit.core.SessionImpl.getPrefix(SessionImpl.java:674)
        at org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver.getJCRName(ParsingNameResolver.java:80)
        at org.apache.jackrabbit.spi.commons.conversion.CachingNameResolver.getJCRName(CachingNameResolver.java:95)
        at org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.getJCRName(DefaultNamePathResolver.java:74)
        at org.apache.jackrabbit.core.SessionImpl.getJCRName(SessionImpl.java:695)
        at org.hippoecm.repository.security.HippoAccessManager.isInstanceOfType(HippoAccessManager.java:682)
        at org.hippoecm.repository.security.HippoAccessManager.matchFacetRule(HippoAccessManager.java:596)
        at org.hippoecm.repository.security.HippoAccessManager.isNodeInDomain(HippoAccessManager.java:554)
        at org.hippoecm.repository.security.HippoAccessManager.canRead(HippoAccessManager.java:487)
        at org.hippoecm.repository.security.HippoAccessManager.canRead(HippoAccessManager.java:427)
        at org.apache.jackrabbit.core.observation.EventConsumer.canRead(EventConsumer.java:296)
        at org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(EventConsumer.java:228)
        at org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEvents(ObservationDispatcher.java:201)
        at org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(EventStateCollection.java:422)
        at org.apache.jackrabbit.core.observation.DelegatingObservationDispatcher.dispatch(DelegatingObservationDispatcher.java:123)
        at org.apache.jackrabbit.core.observation.DelegatingObservationDispatcher.dispatchEvents(DelegatingObservationDispatcher.java:99)
        at org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(EventStateCollection.java:422)
        at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:754)
        at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1100)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:351)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
        at org.apache.jackrabbit.core.version.AbstractVersionManager$WriteOperation.save(AbstractVersionManager.java:150)
        at org.apache.jackrabbit.core.version.AbstractVersionManager.checkin(AbstractVersionManager.java:386)
        at org.apache.jackrabbit.core.version.VersionManagerImpl$2.run(VersionManagerImpl.java:284)
        at org.apache.jackrabbit.core.version.VersionManagerImpl$DynamicESCFactory.doSourced(VersionManagerImpl.java:567)
      • locked <0x00007f82c2671310> (a org.apache.jackrabbit.core.version.VersionManagerImpl$DynamicESCFactory)
        at org.apache.jackrabbit.core.version.VersionManagerImpl.checkin(VersionManagerImpl.java:280)
        at org.apache.jackrabbit.core.version.XAVersionManager.checkin(XAVersionManager.java:169)
        at org.apache.jackrabbit.core.NodeImpl.checkin(NodeImpl.java:3296)
        at org.hippoecm.repository.decorating.NodeDecorator.checkin(NodeDecorator.java:381)
        at org.hippoecm.repository.impl.NodeDecorator.checkin(NodeDecorator.java:161)
        at org.hippoecm.repository.standardworkflow.VersionWorkflowImpl.version(VersionWorkflowImpl.java:331)
        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.hippoecm.repository.impl.WorkflowManagerImpl$WorkflowInvocationImpl.invoke(WorkflowManagerImpl.java:788)
      • locked <0x00007f82d3ea2338> (a org.hippoecm.repository.jackrabbit.XASessionImpl)
        at org.hippoecm.repository.impl.WorkflowManagerImpl$WorkflowInvocationHandler.invoke(WorkflowManagerImpl.java:512)
      • locked <0x00007f82d3ea2338> (a org.hippoecm.repository.jackrabbit.XASessionImpl)
        at $Proxy32.publish(Unknown Source)
        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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
        "TP-Processor12":
        at org.apache.jackrabbit.core.version.VersionManagerImpl$DynamicESCFactory.doSourced(VersionManagerImpl.java:565)
      • waiting to lock <0x00007f82c2671310> (a org.apache.jackrabbit.core.version.VersionManagerImpl$DynamicESCFactory)
        at org.apache.jackrabbit.core.version.VersionManagerImpl.createVersionHistory(VersionManagerImpl.java:217)
        at org.apache.jackrabbit.core.version.XAVersionManager.createVersionHistory(XAVersionManager.java:156)
        at org.apache.jackrabbit.core.version.AbstractVersionManager.getVersionHistory(AbstractVersionManager.java:234)
        at org.apache.jackrabbit.core.ItemImpl.initVersionHistories(ItemImpl.java:727)
        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1080)
      • locked <0x00007f82c6824908> (a org.hippoecm.repository.jackrabbit.XASessionImpl)
        at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:858)
        at org.hippoecm.repository.decorating.SessionDecorator.save(SessionDecorator.java:202)
        at org.hippoecm.repository.impl.SessionDecorator.save(SessionDecorator.java:173)
        at org.hippoecm.repository.standardworkflow.FolderWorkflowImpl.add(FolderWorkflowImpl.java:248)
        at org.hippoecm.repository.standardworkflow.FolderWorkflowImpl.add(FolderWorkflowImpl.java:180)
        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.hippoecm.repository.impl.WorkflowManagerImpl$WorkflowInvocationHandler.invoke(WorkflowManagerImpl.java:496)
      • locked <0x00007f82c7520d70> (a org.hippoecm.repository.jackrabbit.XASessionImpl)
        at $Proxy34.add(Unknown Source)
        at org.hippoecm.frontend.plugins.standardworkflow.FolderWorkflowPlugin$4.execute(FolderWorkflowPlugin.java:242)
        at org.hippoecm.frontend.plugins.standardworkflow.FolderWorkflowPlugin$4.execute(FolderWorkflowPlugin.java:218)
        at org.hippoecm.addon.workflow.CompatibilityWorkflowPlugin$WorkflowAction.execute(CompatibilityWorkflowPlugin.java:166)
        at org.hippoecm.addon.workflow.CompatibilityWorkflowPlugin$WorkflowAction$WorkflowDialog.execute(CompatibilityWorkflowPlugin.java:241)
        at org.hippoecm.addon.workflow.CompatibilityWorkflowPlugin$WorkflowAction$WorkflowDialog.onOk(CompatibilityWorkflowPlugin.java:225)
        at org.hippoecm.frontend.dialog.AbstractDialog.handleSubmit(AbstractDialog.java:523)
        at org.hippoecm.frontend.dialog.AbstractDialog$2.onSubmit(AbstractDialog.java:390)
        at org.hippoecm.frontend.dialog.AbstractDialog$ButtonWrapper$1.onSubmit(AbstractDialog.java:264)
        at org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:86)
        at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:128)
        at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:163)
        at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:297)
        at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:100)
        at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
        at org.hippoecm.frontend.PluginRequestCycleProcessor.processEvents(PluginRequestCycleProcessor.java:31)
        at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1175)
        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.hippoecm.frontend.plugins.login.ConcurrentLoginFilter.doFilter(ConcurrentLoginFilter.java:54)
        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:128)
        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:293)
        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:769)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:619)

      Found 1 deadlock.

      Heap
      PSYoungGen total 295488K, used 183384K [0x00007f8300750000, 0x00007f831f030000, 0x00007f831f950000)
      eden space 233728K, 52% used [0x00007f8300750000,0x00007f8307e22bc8,0x00007f830eb90000)
      from space 61760K, 99% used [0x00007f830eb90000,0x00007f83127d3790,0x00007f83127e0000)
      to space 131648K, 0% used [0x00007f8316fa0000,0x00007f8316fa0000,0x00007f831f030000)
      PSOldGen total 1019904K, used 712037K [0x00007f82c2350000, 0x00007f8300750000, 0x00007f8300750000)
      object space 1019904K, 69% used [0x00007f82c2350000,0x00007f82edaa9798,0x00007f8300750000)
      PSPermGen total 86016K, used 71286K [0x00007f82bcf50000, 0x00007f82c2350000, 0x00007f82c2350000)
      object space 86016K, 82% used [0x00007f82bcf50000,0x00007f82c14ed920,0x00007f82c2350000)

      Attachments

        1. catalina.out
          260 kB
          Bart van der Schans
        2. catalina.out2
          358 kB
          Bart van der Schans

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: