Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-1894

DistributedReplicantManager deadlock on Shutdown

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • JBossAS-3.2.5 Final, JBossAS-4.0.0 Final, JBossAS-4.0.1RC1, JBossAS-3.2.6 Final, JBossAS-3.2.7 Final, JBossAS-4.0.1 Final, JBossAS-4.0.1 SP1, JBossAS-4.0.2RC1, JBossAS-4.0.2 Final
    • Clustering
    • None

    Description

      It is possible to have deadlock in DistributedReplicantManagerImpl when HAServiceMBeanSupport service is stopped (e.g. on application server shutdown).

      Relevant thread dump:

      "JBoss Shutdown Hook":
      at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.lookupReplicants(DistributedReplicantManagerImpl.java:367)

      • waiting to lock <0x916c7648> (a java.util.HashMap)
        at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.remove(DistributedReplicantManagerImpl.java:346)
      • locked <0x916c7620> (a java.util.HashMap)
        at org.jboss.ha.jmx.HAServiceMBeanSupport.unregisterDRMListener(HAServiceMBeanSupport.java:213)
        at org.jboss.ha.jmx.HAServiceMBeanSupport.stopService(HAServiceMBeanSupport.java:159)
        at org.jboss.system.ServiceMBeanSupport.stop(ServiceMBeanSupport.java:240)
        at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
        at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
        at $Proxy14.stop(Unknown Source)
        at org.jboss.system.ServiceController.stop(ServiceController.java:471)
        at org.jboss.system.ServiceController.stop(ServiceController.java:462)
        at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
        at $Proxy4.stop(Unknown Source)
        at org.jboss.deployment.SARDeployer.stop(SARDeployer.java:373)
        at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:489)
        at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:472)
        at org.jboss.deployment.MainDeployer.shutdown(MainDeployer.java:359)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
        at org.jboss.system.server.ServerImpl$ShutdownHook.shutdownDeployments(ServerImpl.java:849)
        at org.jboss.system.server.ServerImpl$ShutdownHook.shutdown(ServerImpl.java:824)
        at org.jboss.system.server.ServerImpl$ShutdownHook.run(ServerImpl.java:812)
        "UpHandler (STATE_TRANSFER)":
        at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.lookupLocalReplicant(DistributedReplicantManagerImpl.java:358)
      • waiting to lock <0x916c7620> (a java.util.HashMap)
        at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.lookupReplicants(DistributedReplicantManagerImpl.java:364)
        at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.purgeDeadMembers(DistributedReplicantManagerImpl.java:810)
      • locked <0x916c7648> (a java.util.HashMap)
        at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.membershipChanged(DistributedReplicantManagerImpl.java:310)
        at org.jboss.ha.framework.server.HAPartitionImpl.notifyListeners(HAPartitionImpl.java:873)
      • locked <0x916d0720> (a java.util.ArrayList)
        at org.jboss.ha.framework.server.HAPartitionImpl.viewAccepted(HAPartitionImpl.java:481)
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.passUp(MessageDispatcher.java:571)
        at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:316)
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:596)
        at org.jgroups.JChannel.up(JChannel.java:873)
        at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:349)
        at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:365)
        at org.jgroups.stack.Protocol.passUp(Protocol.java:482)
        at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:129)
        at org.jgroups.stack.UpHandler.run(Protocol.java:55)

      Attachments

        Activity

          People

            starksm64 Scott Stark (Inactive)
            jimm_jira jimm (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: