Deadlock in SSL code

Mark_K mark.k at ecobee.com
Mon Jun 28 10:21:32 EDT 2010


Hi,

We are experiencing occasional deadlocks in Netty. These are intermittent,
and so far have only happened twice in the course of a month. I believe we
may be hitting deadlocks with increased load on our server. 

We are running Netty 3.1.0.GA in production on Sun JDK 1.6.0_14.

Below are the stack traces of the deadlocked threads:

"pool-1-thread-64" prio=10 tid=0x098af000 nid=0x9f7 waiting for monitor
entry [0x612f5000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:383)
	- waiting to lock <0x70a25410> (a java.util.LinkedList)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"pool-1-thread-58" prio=10 tid=0x08ea4800 nid=0x9f5 waiting for monitor
entry [0x61397000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:383)
	- waiting to lock <0x70a25410> (a java.util.LinkedList)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"pool-1-thread-48" prio=10 tid=0x090fa000 nid=0x9e4 waiting for monitor
entry [0x617b4000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:383)
	- waiting to lock <0x70a25410> (a java.util.LinkedList)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"pool-1-thread-36" prio=10 tid=0x08f43000 nid=0x9d3 waiting for monitor
entry [0x61b80000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:383)
	- waiting to lock <0x70a25410> (a java.util.LinkedList)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"pool-1-thread-30" prio=10 tid=0x09721c00 nid=0x9cd waiting for monitor
entry [0x61d66000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.handler.ssl.SslHandler.offerEncryptedWriteRequest(SslHandler.java:629)
	- waiting to lock <0x727bc2b8> (a java.util.LinkedList)
	at org.jboss.netty.handler.ssl.SslHandler.wrap(SslHandler.java:547)
	- locked <0x727bc2a0> (a java.util.LinkedList)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:388)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"pool-1-thread-25" prio=10 tid=0x0907bc00 nid=0x9c8 waiting for monitor
entry [0x61efb000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.handler.ssl.SslHandler.offerEncryptedWriteRequest(SslHandler.java:629)
	- waiting to lock <0x70a25428> (a java.util.LinkedList)
	at org.jboss.netty.handler.ssl.SslHandler.wrap(SslHandler.java:547)
	- locked <0x70a25410> (a java.util.LinkedList)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:388)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)


"pool-1-thread-21" prio=10 tid=0x08f0b800 nid=0x9c4 waiting for monitor
entry [0x6203f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:599)
	- waiting to lock <0x727bc9b8> (a java.lang.Object)
	at org.jboss.netty.channel.socket.nio.NioWorker.write(NioWorker.java:353)
	at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:144)
	at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:83)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:791)
	at
org.jboss.netty.handler.ssl.SslHandler.flushPendingEncryptedWrites(SslHandler.java:653)
	- locked <0x727bc2b8> (a java.util.LinkedList)
	at org.jboss.netty.handler.ssl.SslHandler.wrap(SslHandler.java:590)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:388)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"pool-1-thread-13" prio=10 tid=0x08fac800 nid=0x9ba waiting for monitor
entry [0x62318000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:599)
	- waiting to lock <0x70a24a80> (a java.lang.Object)
	at org.jboss.netty.channel.socket.nio.NioWorker.write(NioWorker.java:353)
	at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:144)
	at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:83)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:791)
	at
org.jboss.netty.handler.ssl.SslHandler.flushPendingEncryptedWrites(SslHandler.java:653)
	- locked <0x70a25428> (a java.util.LinkedList)
	at org.jboss.netty.handler.ssl.SslHandler.wrap(SslHandler.java:590)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:388)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"pool-1-thread-10" prio=10 tid=0x6349c000 nid=0x9b8 waiting for monitor
entry [0x623ba000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at
org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:383)
	- waiting to lock <0x70a25410> (a java.util.LinkedList)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:796)
	at org.jboss.netty.channel.Channels.write(Channels.java:889)
	at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:76)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:585)
	at org.jboss.netty.channel.Channels.write(Channels.java:869)
	at org.jboss.netty.channel.Channels.write(Channels.java:818)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:236)
	at
com.ecobee.communicator.server.netty.NettyCommunicator.writeResponse(NettyCommunicator.java:122)
	at
com.ecobee.communicator.engine.EngineResponse.handleResponse(EngineResponse.java:63)
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.whatevernot.engine.standard.StateRunnable.run(StateRunnable.java:56)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"New I/O server worker #1-4" prio=10 tid=0x627c3400 nid=0x9ab waiting for
monitor entry [0x626fe000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.jboss.netty.handler.ssl.SslHandler.wrap(SslHandler.java:503)
	- waiting to lock <0x727bc2a0> (a java.util.LinkedList)
	at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:795)
	at
org.jboss.netty.handler.ssl.SslHandler.channelDisconnected(SslHandler.java:406)
	at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:119)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:567)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:562)
	at
org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:492)
	at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:577)
	at
org.jboss.netty.channel.socket.nio.NioWorker.writeNow(NioWorker.java:470)
	- locked <0x727bc9b8> (a java.lang.Object)
	at org.jboss.netty.channel.socket.nio.NioWorker.write(NioWorker.java:364)
	at
org.jboss.netty.channel.socket.nio.NioSocketChannel$WriteTask.run(NioSocketChannel.java:240)
	at
org.jboss.netty.channel.socket.nio.NioWorker.processWriteTaskQueue(NioWorker.java:271)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
	at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:113)
	at
org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:53)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	
	"New I/O server worker #1-1" prio=10 tid=0x62975400 nid=0x9a8 waiting for
monitor entry [0x628fe000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.jboss.netty.handler.ssl.SslHandler.wrap(SslHandler.java:503)
	- waiting to lock <0x70a25410> (a java.util.LinkedList)
	at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:795)
	at
org.jboss.netty.handler.ssl.SslHandler.channelDisconnected(SslHandler.java:406)
	at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:119)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:567)
	at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:562)
	at
org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:492)
	at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:577)
	at
org.jboss.netty.channel.socket.nio.NioWorker.writeNow(NioWorker.java:470)
	- locked <0x70a24a80> (a java.lang.Object)
	at org.jboss.netty.channel.socket.nio.NioWorker.write(NioWorker.java:364)
	at
org.jboss.netty.channel.socket.nio.NioSocketChannel$WriteTask.run(NioSocketChannel.java:240)
	at
org.jboss.netty.channel.socket.nio.NioWorker.processWriteTaskQueue(NioWorker.java:271)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
	at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:113)
	at
org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:53)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)


Thanks,
Mark.
-- 
View this message in context: http://netty-forums-and-mailing-lists.685743.n2.nabble.com/Deadlock-in-SSL-code-tp5230990p5230990.html
Sent from the Netty User Group mailing list archive at Nabble.com.


More information about the netty-users mailing list