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 2020/08/10 07:53:00 UTC
[jira] [Commented] (QPID-6447) [AMQP 1.0 JMS Client ] deadlock
during transaction commit
[ https://issues.apache.org/jira/browse/QPID-6447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17174156#comment-17174156 ]
Robbie Gemmell commented on QPID-6447:
--------------------------------------
Note that although a change was made it was done after 0.32.0 was released, and the legacy client was then removed after that point before the new releases (as the newer/current client had already been released). As such this change was never released, hence the lack of fix-version.
> [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
> Affects Versions: 0.32
> Reporter: Robbie Gemmell
> Priority: Major
> Labels: legacy-jms-amqp-1.0-client
>
> 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
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org