Deadlock between JBoss Remoting and SSL on EAP 5
Issue
- A deadlock is seen between JBoss Remoting and SSL. The thread stacks are below:
"AcceptorThread[[SSL: ServerSocket[addr=/0.0.0.0,localport=27508]]]":
at sun.security.ssl.SSLSocketImpl.getConnectionState(SSLSocketImpl.java:649)
- waiting to lock <0xfffffffe97d16bb0> (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 <0xfffffffe97d17498> (a sun.security.ssl.AppOutputStream)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
- locked <0xfffffffe97d37470> (a java.io.BufferedOutputStream)
at java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1816)
at java.io.ObjectOutputStream.flush(ObjectOutputStream.java:716)
at org.jboss.remoting.transport.socket.ServerSocketWrapper.close(ServerSocketWrapper.java:57)
- locked <0xfffffffe97d17540> (a org.jboss.remoting.transport.socket.ServerSocketWrapper)
at org.jboss.remoting.transport.socket.ServerThread.evict(ServerThread.java:437)
- locked <0xfffffffe8704ad30> (a java.lang.Object)
at org.jboss.remoting.transport.socket.LRUPool.evict(LRUPool.java:65)
at org.jboss.remoting.transport.socket.SocketServerInvoker.processInvocation(SocketServerInvoker.java:816)
- locked <0xfffffffe7f2005e0> (a org.jboss.remoting.transport.socket.LRUPool)
at org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1090)
"WorkerThread#318[127.0.0.1:47647]":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0xfffffffe97d16b50> (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 <0xfffffffe97d16bb0> (a sun.security.ssl.SSLSocketImpl)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1943)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
- locked <0xfffffffe97d16bb0> (a sun.security.ssl.SSLSocketImpl)
- locked <0xfffffffe97d16e30> (a java.lang.Object)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
- locked <0xfffffffe97d172e0> (a sun.security.ssl.AppInputStream)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
- locked <0xfffffffe97d368d8> (a java.io.BufferedInputStream)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2291)
at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2471)
at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2541)
at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2613)
at java.io.ObjectInputStream.read(ObjectInputStream.java:839)
at org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:1104)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:720)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
Environment
- Red Hat JBoss Enterprise Application Platform 5
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
