Details

      Description

      There is still a distributed deadlock in UIL2 which can be seen when the server is running slow
      responding to a NACK
      With the client trying to deal with a backlog of requests on the same receiver.

      This occurs with the client stuck in the RunWhenBlocked action (i.e. it ran of threads in the thread pool):

      at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:165)

      • waiting to lock <0xffffffff2e876d88> (a java.util.LinkedList)
        at org.jboss.mq.Connection.asynchDeliver(Connection.java:414)
        at org.jboss.mq.il.uil2.UILClientILService.handleMsg(UILClientILService.java:100)
        at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:369)
        at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$RunWhenBlocked.blockedAction(PooledExecutor.java:777)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor.execute(PooledExecutor.java:898)
        at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:309)
        at java.lang.Thread.run(Thread.java:595)

      And another thread doing a NACK before it hits the consumer (typically because the consumer is no longer listening).

      at java.lang.Object.wait(Native Method)

      • waiting on <0xffffffff2e8d6db8> (a org.jboss.mq.il.uil2.msgs.AcknowledgementRequestMsg)
        at java.lang.Object.wait(Object.java:474)
        at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:252)
      • locked <0xffffffff2e8d6db8> (a org.jboss.mq.il.uil2.msgs.AcknowledgementRequestMsg)
        at org.jboss.mq.il.uil2.SocketManager.sendMessage(SocketManager.java:206)
        at org.jboss.mq.il.uil2.UILServerIL.acknowledge(UILServerIL.java:261)
        at org.jboss.mq.Connection.send(Connection.java:1139)
        at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:179)
      • locked <0xffffffff2e876d88> (a java.util.LinkedList)
        at org.jboss.mq.Connection.asynchDeliver(Connection.java:414)
        at org.jboss.mq.il.uil2.UILClientILService.handleMsg(UILClientILService.java:100)
        at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:369)
        at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
        at java.lang.Thread.run(Thread.java:595)

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                adrian.brock Adrian Brock
                Reporter:
                adrian.brock Adrian Brock
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: