0 Replies Latest reply on Aug 17, 2010 6:45 AM by Andy Taylor

    deadlock in closeconnection in n HA branch

    Andy Taylor Master

      fyi, heres the deadlock that occurs

       

      Found one Java-level deadlock:

      =============================

      "Thread-1 (group:HornetQ-client-global-threads-23438274)":

        waiting to lock monitor 0x087b99c8 (object 0xb0506728, a org.hornetq.core.client.impl.ClientSessionFactoryImpl$FailoverLock),

        which is held by "Thread-3"

      "Thread-3":

        waiting to lock monitor 0x087b9964 (object 0xb050cfc8, a org.hornetq.core.client.impl.ClientSessionImpl),

        which is held by "Thread-2"

      "Thread-2":

        waiting to lock monitor 0x8f746304 (object 0xb0506718, a org.hornetq.core.client.impl.ClientSessionFactoryImpl$CreateSessionLock),

        which is held by "Thread-3"

       

      Java stack information for the threads listed above:

      ===================================================

      "Thread-1 (group:HornetQ-client-global-threads-23438274)":

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.failoverOrReconnect(ClientSessionFactoryImpl.java:454)

          - waiting to lock <0xb0506728> (a org.hornetq.core.client.impl.ClientSessionFactoryImpl$FailoverLock)

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.handleConnectionFailure(ClientSessionFactoryImpl.java:445)

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:341)

          at org.hornetq.core.remoting.impl.invm.InVMConnector$Listener$1.run(InVMConnector.java:200)

          at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:96)

          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)

      "Thread-3":

          at org.hornetq.core.client.impl.ClientSessionImpl.doCleanup(ClientSessionImpl.java:1670)

          - waiting to lock <0xb050cfc8> (a org.hornetq.core.client.impl.ClientSessionImpl)

          at org.hornetq.core.client.impl.ClientSessionImpl.close(ClientSessionImpl.java:841)

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.close(ClientSessionFactoryImpl.java:404)

          - locked <0xb0506728> (a org.hornetq.core.client.impl.ClientSessionFactoryImpl$FailoverLock)

          - locked <0xb0506718> (a org.hornetq.core.client.impl.ClientSessionFactoryImpl$CreateSessionLock)

          at org.hornetq.jms.client.HornetQConnection.close(HornetQConnection.java:254)

          - locked <0xb0508e38> (a org.hornetq.jms.client.HornetQConnection)

          at org.hornetq.tests.integration.client.FailureDeadlockTest$1.onException(FailureDeadlockTest.java:132)

          at org.hornetq.jms.client.HornetQConnection$JMSFailureListener$1.run(HornetQConnection.java:611)

          at java.lang.Thread.run(Thread.java:619)

      "Thread-2":

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.removeSession(ClientSessionFactoryImpl.java:356)

          - waiting to lock <0xb0506718> (a org.hornetq.core.client.impl.ClientSessionFactoryImpl$CreateSessionLock)

          at org.hornetq.core.client.impl.ClientSessionImpl.doCleanup(ClientSessionImpl.java:1675)

          at org.hornetq.core.client.impl.ClientSessionImpl.cleanUp(ClientSessionImpl.java:855)

          - locked <0xb050cfc8> (a org.hornetq.core.client.impl.ClientSessionImpl)

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.failoverOrReconnect(ClientSessionFactoryImpl.java:613)

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.handleConnectionFailure(ClientSessionFactoryImpl.java:445)

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl.access$700(ClientSessionFactoryImpl.java:72)

          at org.hornetq.core.client.impl.ClientSessionFactoryImpl$DelegatingFailureListener.connectionFailed(ClientSessionFactoryImpl.java:1193)

          at org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.callFailureListeners(RemotingConnectionImpl.java:482)

          at org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.fail(RemotingConnectionImpl.java:254)

          at org.hornetq.tests.integration.client.FailureDeadlockTest$Failer.run(FailureDeadlockTest.java:175)

       

      Found 1 deadlock.