Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-13405

[GSS] (7.0.z) JBJCA-1352 - IBM MQ deadlock on shutdown

XMLWordPrintable

    • EAP 7.0.9

      Sporadically, on shut down, IBM MQ and JBoss will deadlock. This does not occur on EAP 6.

      The Deadlocking threads are
      [1]
      ~~~
      ServerService Thread Pool – 63" #183 prio=5 os_prio=0 tid=0x00000000021ef800 nid=0x50e2 waiting for monitor entry [0x00007fef8451a000]
      java.lang.Thread.State: BLOCKED (on object monitor)
      at com.ibm.mq.connector.outbound.ConnectionEventHandler.removeListener(ConnectionEventHandler.java:93)

      • waiting to lock <0x000000009be01318> (a com.ibm.mq.connector.outbound.ConnectionEventHandler)
        at com.ibm.mq.connector.outbound.ManagedConnectionImpl.removeConnectionEventListener(ManagedConnectionImpl.java:434)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.doDestroy(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:1376)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.flush(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:882)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.shutdown(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:1065)
        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.shutdown(AbstractPool.java:930)
      • locked < 0x000000008d09b340> (a org.jboss.jca.core.connectionmanager.pool.strategy.OnePool)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.shutdown(AbstractConnectionManager.java:285)
      • locked < 0x000000008d09b2e0> (a org.jboss.jca.core.connectionmanager.notx.NoTxConnectionManagerImpl)
        at org.jboss.as.connector.services.resourceadapters.deployment.AbstractResourceAdapterDeploymentService.unregisterAll(AbstractResourceAdapterDeploymentService.java:192)
        at org.jboss.as.connector.services.resourceadapters.deployment.AbstractResourceAdapterDeploymentService$3.run(AbstractResourceAdapterDeploymentService.java:346)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at org.jboss.threads.JBossThread.run(JBossThread.java:320)
        ~~~
        [2]
        ~~~
        "DefaultMessageListenerContainer-2" #162 prio=5 os_prio=0 tid=0x0000000001d7a800 nid=0x46bf waiting for monitor entry [0x00007fef70a7d000]
        java.lang.Thread.State: BLOCKED (on object monitor)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.shutdown(AbstractConnectionManager.java:281)
      • waiting to lock <0x000000008d09b2e0> (a org.jboss.jca.core.connectionmanager.notx.NoTxConnectionManagerImpl)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.returnManagedConnection(AbstractConnectionManager.java:724)
        at org.jboss.jca.core.connectionmanager.listener.NoTxConnectionListener.connectionClosed(NoTxConnectionListener.java:93)
        at com.ibm.mq.connector.outbound.ConnectionEventHandler.fireEvent(ConnectionEventHandler.java:135)
      • locked < 0x000000009be01318> (a com.ibm.mq.connector.outbound.ConnectionEventHandler)
        at com.ibm.mq.connector.outbound.ManagedConnectionImpl.fireConnectionClosed(ManagedConnectionImpl.java:784)
        at com.ibm.mq.connector.outbound.ConnectionWrapper.close(ConnectionWrapper.java:337)
        at org.springframework.jms.connection.ConnectionFactoryUtils.releaseConnection(ConnectionFactoryUtils.java:80)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:358)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1166)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1158)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1055)
        at java.lang.Thread.run(Thread.java:745)

            spyrkob Bartosz Spyrko-Smietanko
            spyrkob Bartosz Spyrko-Smietanko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: