You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2013/11/07 09:51:25 UTC
[jira] [Commented] (QPID-5294) [AMQP 1.0 JMS] Thread deadlock due
to JVM bug JDK-8022788
[ https://issues.apache.org/jira/browse/QPID-5294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13815774#comment-13815774 ]
ASF subversion and git services commented on QPID-5294:
-------------------------------------------------------
Commit 1539558 from [~godfrer] in branch 'qpid/trunk'
[ https://svn.apache.org/r1539558 ]
QPID-5294 : Thread deadlock due to simultaneous calls to write and close on SSLSocket (JVM bug JDK-8022788)
> [AMQP 1.0 JMS] Thread deadlock due to JVM bug JDK-8022788
> ---------------------------------------------------------
>
> Key: QPID-5294
> URL: https://issues.apache.org/jira/browse/QPID-5294
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: 0.24
> Environment: Qpid JMS AMQP 1.0 client lib
> Reporter: David Ingham
> Attachments: QPID-5294.patch
>
>
> A deadlock is occasionally observed in heavy load testing. This is apparently due to the following JVM bug:
> JDK-8022788 : deadlock in SSLSocketImpl between between write and close
> Affected Versions: 7u60
> Fixed Versions: 7u60
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8022788
> The bug manifests itself with the following deadlock:
> Found one Java-level deadlock:
> =============================
> "Thread-392":
> waiting for ownable synchronizer 0x000000078af1c4a0, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
> which is held by "Thread-391"
> "Thread-391":
> waiting to lock monitor 0x00007f48d4483790 (object 0x000000078af1be60, a sun.security.ssl.SSLSocketImpl),
> which is held by "Thread-392"
> Java stack information for the threads listed above:
> ===================================================
> "Thread-392":
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x000000078af1c4a0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
> at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
> at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
> at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:799)
> at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:672)
> at sun.security.ssl.SSLSocketImpl.sendAlert(SSLSocketImpl.java:2007)
> at sun.security.ssl.SSLSocketImpl.warning(SSLSocketImpl.java:1834)
> at sun.security.ssl.SSLSocketImpl.closeInternal(SSLSocketImpl.java:1602)
> - locked <0x000000078af1be60> (a sun.security.ssl.SSLSocketImpl)
> at sun.security.ssl.SSLSocketImpl.close(SSLSocketImpl.java:1538)
> at org.apache.qpid.amqp_1_0.client.Connection$2.run(Connection.java:267)
> at java.lang.Thread.run(Thread.java:724)
> "Thread-391":
> at sun.security.ssl.SSLSocketImpl.getConnectionState(SSLSocketImpl.java:649)
> - waiting to lock <0x000000078af1be60> (a sun.security.ssl.SSLSocketImpl)
> at sun.security.ssl.SSLSocketImpl.isClosed(SSLSocketImpl.java:1446)
> at java.net.Socket.getTcpNoDelay(Socket.java:961)
> at sun.security.ssl.BaseSSLSocketImpl.getTcpNoDelay(BaseSSLSocketImpl.java:345)
> at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:819)
> at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:801)
> at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
> - locked <0x000000078af1c570> (a sun.security.ssl.AppOutputStream)
> at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$BytesOutputHandler.processBytes(ConnectionHandler.java:420)
> at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$FrameToBytesSourceAdapter.getBytes(ConnectionHandler.java:305)
> at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$SequentialBytesSource.getBytes(ConnectionHandler.java:371)
> - locked <0x000000078af1c5c8> (a org.apache.qpid.amqp_1_0.framing.ConnectionHandler$SequentialBytesSource)
> at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$BytesOutputHandler.run(ConnectionHandler.java:406)
> at java.lang.Thread.run(Thread.java:724)
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org