You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2015/03/12 17:15:38 UTC

[jira] [Created] (QPID-6447) [AMQP 1.0 JMS Client ] deadlock during transaction commit

Robbie Gemmell created QPID-6447:
------------------------------------

             Summary: [AMQP 1.0 JMS Client ] deadlock during transaction commit
                 Key: QPID-6447
                 URL: https://issues.apache.org/jira/browse/QPID-6447
             Project: Qpid
          Issue Type: Bug
          Components: JMS AMQP 1.0 Client
    Affects Versions: 0.32
            Reporter: Robbie Gemmell


Tim noticed a deadlock when running the ActiveMQ AMQP tests locally utilising the 0.32-SNAPSHOT client. The client appears to get stuck when performing a commit.

The same can be observed looking through results for the ActiveMQ CI jobs on Jenkins since it was updated to using the  0.32-SNAPSHOT client.

{noformat}
Found one Java-level deadlock:
=============================
"QpidConnectionInputThread-0":
  waiting to lock monitor 0x00007f0fb8079238 (object 0x00000000fa1667a0, a org.apache.qpid.amqp_1_0.client.TransactionController),
  which is held by "main"
"main":
  waiting to lock monitor 0x00007f0fd408a738 (object 0x00000000f9c9d3e8, a org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint),
  which is held by "QpidConnectionInputThread-0"

Java stack information for the threads listed above:
===================================================
"QpidConnectionInputThread-0":
        at org.apache.qpid.amqp_1_0.client.TransactionController.handle(TransactionController.java:205)
        - waiting to lock <0x00000000fa1667a0> (a org.apache.qpid.amqp_1_0.client.TransactionController)
        at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.receiveDeliveryState(LinkEndpoint.java:229)
        - locked <0x00000000f9c9d3e8> (a org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint)
        at org.apache.qpid.amqp_1_0.transport.SendingLinkEndpoint.receiveDeliveryState(SendingLinkEndpoint.java:196)
        at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.receiveDisposition(SessionEndpoint.java:527)
        at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receiveDisposition(ConnectionEndpoint.java:664)
        - locked <0x00000000f9c9d3e8> (a org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint)
        at org.apache.qpid.amqp_1_0.type.transport.Disposition.invoke(Disposition.java:180)
        at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receive(ConnectionEndpoint.java:808)
        - locked <0x00000000f9c9d3e8> (a org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint)
        at org.apache.qpid.amqp_1_0.framing.FrameHandler.parse(FrameHandler.java:241)
        at org.apache.qpid.amqp_1_0.framing.ConnectionHandler.parse(ConnectionHandler.java:75)
        at org.apache.qpid.amqp_1_0.client.TCPTransportProvider.doRead(TCPTransportProvider.java:244)
        at org.apache.qpid.amqp_1_0.client.TCPTransportProvider.access$000(TCPTransportProvider.java:47)
        at org.apache.qpid.amqp_1_0.client.TCPTransportProvider$1.run(TCPTransportProvider.java:185)
        at java.lang.Thread.run(Thread.java:745)
"main":
        at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.isDetached(LinkEndpoint.java:326)
        - waiting to lock <0x00000000f9c9d3e8> (a org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint)
        at org.apache.qpid.amqp_1_0.client.TransactionController.waitForResponse(TransactionController.java:118)
        - locked <0x00000000fa1667a0> (a org.apache.qpid.amqp_1_0.client.TransactionController)
        at org.apache.qpid.amqp_1_0.client.TransactionController.discharge(TransactionController.java:196)
        at org.apache.qpid.amqp_1_0.client.TransactionController.commit(TransactionController.java:148)
        at org.apache.qpid.amqp_1_0.client.Transaction.commit(Transaction.java:37)
        at org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.commit(SessionImpl.java:244)
        at org.objectweb.jtests.jms.conform.session.SessionTest.testCommitTransactedSession(SessionTest.java:125)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at junit.framework.TestCase.runTest(TestCase.java:176)
        at junit.framework.TestCase.runBare(TestCase.java:141)
        at junit.framework.TestResult$1.protect(TestResult.java:122)
        at junit.framework.TestResult.runProtected(TestResult.java:142)
        at junit.framework.TestResult.run(TestResult.java:125)
        at junit.framework.TestCase.run(TestCase.java:129)
        at junit.framework.TestSuite.runTest(TestSuite.java:255)
        at junit.framework.TestSuite.run(TestSuite.java:250)
        at junit.framework.TestSuite.runTest(TestSuite.java:255)
        at junit.framework.TestSuite.run(TestSuite.java:250)
        at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

Found 1 deadlock.
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org