Увеличение клиентского пакета в ядре recv-q (подтвердить с помощью netstat) и не чтение пакета

Я не знаю, что это чистые ошибки 3.2.7.Final. Проблема в том, что неожиданно на стороне клиента (используя SecureChatClient) увеличивается пакет в recv-q, который получает сообщения в реальном времени со стороны сервера (используя SecureChatServer). Я предполагаю, что тупик в чтении пакетов на уровне приложения.

Это баги netty 3.2.7? или у вас есть идея увеличения recv-q? Ниже я прикрепил результат netstat и дамп потока jstack.

Netstat Result : 

tcp     0  0 client-side'IP:54190  server-side'IP-1:61617  ESTABLISHED
tcp     0  0 client-side'IP:53254  server-side'IP-2:61617  ESTABLISHED
tcp     0  0 client-side'IP:60469  server-side'IP-3:61617  ESTABLISHED
tcp     0  0 client-side'IP:35387  server-side'IP-4:61617  ESTABLISHED
tcp     0  0 client-side'IP:56935  server-side'IP-5:61617  ESTABLISHED
tcp     0  0 client-side'IP:50508  server-side'IP-6:61617  ESTABLISHED
tcp 708131 0 client-side'IP:48940  server-side'IP-7:61617  ESTABLISHED
tcp     0  0 client-side'IP:50279  server-side'IP-8:61617  ESTABLISHED


tcp     0  0 client-side'IP:53568  server-side'IP-1:61616  ESTABLISHED
tcp     0  0 client-side'IP:52674  server-side'IP-2:61616  ESTABLISHED
tcp     0  0 client-side'IP:60489  server-side'IP-3:61616  ESTABLISHED
tcp     0  0 client-side'IP:48712  server-side'IP-4:61616  ESTABLISHED
tcp     0  0 client-side'IP:55519  server-side'IP-5:61616  ESTABLISHED
tcp     0  0 client-side'IP:38608  server-side'IP-6:61616  ESTABLISHED
tcp     0  0 client-side'IP:57940  server-side'IP-7:61616  ESTABLISHED
tcp     0  0 client-side'IP:51759  server-side'IP-8:61616  ESTABLISHED

Jstack Dump : 

2013-01-11 14:36:20
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode):

"http-80-6" daemon prio=10 tid=0x00002aaab2dee800 nid=0x1888 in Object.wait() [0x00000000417bd000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0e0b630> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c0e0b630> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"http-443-13" daemon prio=10 tid=0x00002aaab599a800 nid=0x1887 in Object.wait() [0x00000000419bf000]
"http-443-12" daemon prio=10 tid=0x00002aaab43e5800 nid=0x1886 in Object.wait() [0x0000000042339000]
"http-443-11" daemon prio=10 tid=0x00002aaab43e4800 nid=0x1885 in Object.wait() [0x000000004253b000]
"http-443-10" daemon prio=10 tid=0x00002aaab43e4000 nid=0x1884 in Object.wait() [0x000000004273d000]
"http-443-9" daemon prio=10 tid=0x00002aaab43e3000 nid=0x1883 in Object.wait() [0x000000004293f000]
"http-443-8" daemon prio=10 tid=0x00002aaab43e2800 nid=0x1881 in Object.wait() [0x0000000042b41000]
"http-443-7" daemon prio=10 tid=0x00002aaab43e2000 nid=0x1880 in Object.wait() [0x0000000042d43000]
"http-443-6" daemon prio=10 tid=0x00002aaab5aa3800 nid=0x17b7 in Object.wait() [0x0000000042f45000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0e0c2c0> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c0e0c2c0> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"http-80-5" daemon prio=10 tid=0x00002aaab30a4800 nid=0x17b6 in Object.wait() [0x0000000043349000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0e0b780> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c0e0b780> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"http-80-4" daemon prio=10 tid=0x00002aaab3c4b800 nid=0x17b5 in Object.wait() [0x0000000043147000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0e0ba20> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c0e0ba20> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"http-80-3" daemon prio=10 tid=0x00002aaab3f26800 nid=0x17b4 in Object.wait() [0x000000004354b000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0e0bcc0> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c0e0bcc0> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"Attach Listener" daemon prio=10 tid=0x00002aaab30a4000 nid=0x111e waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"http-443-5" daemon prio=10 tid=0x00002aaab6017000 nid=0x4af5 in Object.wait() [0x000000004394f000]
"http-443-4" daemon prio=10 tid=0x00002aaab42e6000 nid=0x2f85 in Object.wait() [0x0000000043b51000]
"http-443-3" daemon prio=10 tid=0x00002aaab40a5800 nid=0x632a in Object.wait() [0x0000000043d53000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0dfce70> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c0dfce70> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"MultiThreadedHttpConnectionManager cleanup" daemon prio=10 tid=0x00002aaab435a000 nid=0x4139 in Object.wait() [0x000000004556b000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c031e9a0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000c031e9a0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)

"TP-Monitor" daemon prio=10 tid=0x00002aaab4539800 nid=0x412a in Object.wait() [0x000000004546a000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c031ea40> (a org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
    at org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable.run(ThreadPool.java:565)
    - locked <0x00000000c031ea40> (a org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
    at java.lang.Thread.run(Thread.java:662)

"TP-Processor4" daemon prio=10 tid=0x00002aaab4262000 nid=0x4129 runnable [0x0000000045369000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000c031eb00> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at org.apache.jk.common.ChannelSocket.accept(ChannelSocket.java:311)
    at org.apache.jk.common.ChannelSocket.acceptConnections(ChannelSocket.java:668)
    at org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(ChannelSocket.java:879)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Thread.java:662)

"TP-Processor3" daemon prio=10 tid=0x00002aaab43ae000 nid=0x4128 in Object.wait() [0x0000000045268000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c031edc8> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)
    - locked <0x00000000c031edc8> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
    at java.lang.Thread.run(Thread.java:662)

"TP-Processor2" daemon prio=10 tid=0x00002aaab57a6800 nid=0x4127 in Object.wait() [0x0000000045167000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c031ee70> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)
    - locked <0x00000000c031ee70> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
    at java.lang.Thread.run(Thread.java:662)

"TP-Processor1" daemon prio=10 tid=0x00002aaab601a000 nid=0x4126 in Object.wait() [0x0000000045066000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c031ef18> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)
    - locked <0x00000000c031ef18> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
    at java.lang.Thread.run(Thread.java:662)

"http-443-2" daemon prio=10 tid=0x00002aaab42b7000 nid=0x4125 in Object.wait() [0x0000000044f65000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0167dd8> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c0167dd8> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"http-443-1" daemon prio=10 tid=0x00002aaab459a800 nid=0x4124 runnable [0x0000000044e64000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
    at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:830)
    - locked <0x00000000eede5038> (a java.lang.Object)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:787)
    at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
    - locked <0x00000000eede50a0> (a com.sun.net.ssl.internal.ssl.AppInputStream)
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:735)
    at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:366)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:814)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)

"http-443-Acceptor-0" daemon prio=10 tid=0x00002aaab5fcf000 nid=0x4123 runnable [0x0000000044d63000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000c02b1bf0> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:261)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket(JSSESocketFactory.java:178)
    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352)
    at java.lang.Thread.run(Thread.java:662)

"http-80-2" daemon prio=10 tid=0x00002aaab3d22000 nid=0x4122 in Object.wait() [0x0000000044c62000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c031f6b8> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c031f6b8> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"http-80-1" daemon prio=10 tid=0x00002aaab3d21800 nid=0x4121 in Object.wait() [0x0000000044b61000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c031f918> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00000000c031f918> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

"http-80-Acceptor-0" daemon prio=10 tid=0x00002aaab450d000 nid=0x4120 runnable [0x0000000044a60000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000c031fb50> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352)
    at java.lang.Thread.run(Thread.java:662)

"ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=10 tid=0x00002aaab45b5800 nid=0x411f waiting on condition [0x0000000041bc1000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1631)
    at java.lang.Thread.run(Thread.java:662)

"scheduler_QuartzSchedulerThread" prio=10 tid=0x00002aaab434a800 nid=0x411b waiting on condition [0x000000004495f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272)

"scheduler_Worker-9" prio=10 tid=0x00002aaab540b000 nid=0x411a in Object.wait() [0x000000004485e000]
"scheduler_Worker-8" prio=10 tid=0x00002aaab4a22000 nid=0x4119 in Object.wait() [0x000000004475d000]
"scheduler_Worker-7" prio=10 tid=0x00002aaab4e41000 nid=0x4118 in Object.wait() [0x000000004465c000]
"scheduler_Worker-6" prio=10 tid=0x00002aaab577e800 nid=0x4117 in Object.wait() [0x000000004455b000]
"scheduler_Worker-5" prio=10 tid=0x00002aaab5096000 nid=0x4116 in Object.wait() [0x000000004445a000]
"scheduler_Worker-4" prio=10 tid=0x00002aaab528d800 nid=0x4115 in Object.wait() [0x0000000044359000]
"scheduler_Worker-3" prio=10 tid=0x00002aaab5185800 nid=0x4114 in Object.wait() [0x0000000044258000]
"scheduler_Worker-2" prio=10 tid=0x00002aaab5185000 nid=0x4113 in Object.wait() [0x0000000044157000]
"scheduler_Worker-1" prio=10 tid=0x00002aaab4d8b800 nid=0x4112 in Object.wait() [0x0000000044056000]
"scheduler_Worker-0" prio=10 tid=0x00002aaab421f000 nid=0x4111 in Object.wait() [0x0000000043f55000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0536710> (a java.lang.Object)
    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
    - locked <0x00000000c0536710> (a java.lang.Object)
    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

"New I/O client worker #16-1" prio=10 tid=0x00002aaab80b3000 nid=0x4110 runnable [0x0000000043e54000]
"New I/O client worker #15-1" prio=10 tid=0x00002aaab2db1000 nid=0x410e runnable [0x0000000043c52000]
"New I/O client worker #14-1" prio=10 tid=0x00002aaab3767000 nid=0x410c runnable [0x0000000043a50000]
"New I/O client worker #13-1" prio=10 tid=0x00002aaab8346800 nid=0x410a runnable [0x000000004384e000]
"New I/O client worker #12-1" prio=10 tid=0x00002aaab2874000 nid=0x4108 runnable [0x000000004364c000]
"New I/O client worker #11-1" prio=10 tid=0x00002aaab2d08800 nid=0x4106 runnable [0x000000004344a000]
"New I/O client worker #10-1" prio=10 tid=0x00002aaab2d71000 nid=0x4104 runnable [0x0000000043248000]
"New I/O client worker #9-1" prio=10 tid=0x00002aaab3f2d800 nid=0x4102 runnable [0x0000000043046000]
"New I/O client worker #8-1" prio=10 tid=0x00002aaab3963000 nid=0x4100 runnable [0x0000000042e44000]
"New I/O client worker #7-1" prio=10 tid=0x00002aaab84ee800 nid=0x40fe runnable [0x0000000042c42000]
"New I/O client worker #6-1" prio=10 tid=0x00002aaab312f800 nid=0x40fc runnable [0x0000000042a40000]
"New I/O client worker #5-1" prio=10 tid=0x00002aaab8c08800 nid=0x40fa runnable [0x000000004283e000]
"New I/O client worker #4-1" prio=10 tid=0x00002aaab2902000 nid=0x40f8 runnable [0x000000004263c000]
"New I/O client worker #3-1" prio=10 tid=0x00002aaab82bd000 nid=0x40f6 runnable [0x000000004243a000]
"New I/O client worker #2-1" prio=10 tid=0x00002aaab30de800 nid=0x40f4 runnable [0x0000000041ac0000]
"New I/O client worker #1-1" prio=10 tid=0x00002aaab2d28800 nid=0x40f2 runnable [0x00000000418be000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x00000000c0652130> (a sun.nio.ch.Util$2)
    - locked <0x00000000c0652120> (a java.util.Collections$UnmodifiableSet)
    - locked <0x00000000c053ebc0> (a sun.nio.ch.EPollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:38)
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:165)
    at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
    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:662)

"pool-2-thread-1" prio=10 tid=0x00002aaab355d000 nid=0x40f0 waiting on condition [0x00000000416bc000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000c03bf0d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

"pool-1-thread-1" prio=10 tid=0x00002aaab82ff800 nid=0x40ef waiting on condition [0x00000000415bb000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000c034b600> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

"GC Daemon" daemon prio=10 tid=0x000000004118a000 nid=0x40eb in Object.wait() [0x0000000042238000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0018be8> (a sun.misc.GC$LatencyLock)
    at sun.misc.GC$Daemon.run(GC.java:100)
    - locked <0x00000000c0018be8> (a sun.misc.GC$LatencyLock)

"RMI TCP Accept-0" daemon prio=10 tid=0x00002aaab405e800 nid=0x40e9 runnable [0x00000000413b9000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000c000a428> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
    at java.lang.Thread.run(Thread.java:662)

"RMI TCP Accept-9999" daemon prio=10 tid=0x00002aaab405b000 nid=0x40e8 runnable [0x00000000412b8000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000c0018c80> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
    at java.lang.Thread.run(Thread.java:662)

"RMI TCP Accept-0" daemon prio=10 tid=0x00002aaab4001800 nid=0x40e7 runnable [0x0000000040dab000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000c0027960> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
    at java.lang.Thread.run(Thread.java:662)

"Low Memory Detector" daemon prio=10 tid=0x0000000041016800 nid=0x40e4 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0x0000000041014800 nid=0x40e3 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x000000004100e800 nid=0x40e2 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x000000004100c800 nid=0x40e1 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x0000000040feb000 nid=0x40e0 in Object.wait() [0x0000000040b8e000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0027bf8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000c0027bf8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x0000000040fe9000 nid=0x40df in Object.wait() [0x0000000040a8d000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000c0018bd8> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x00000000c0018bd8> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x0000000040f84800 nid=0x40d9 runnable [0x000000004098c000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000c01d29c0> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:431)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:676)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:628)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

"VM Thread" prio=10 tid=0x0000000040fe2000 nid=0x40de runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000040f97800 nid=0x40da runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x0000000040f99000 nid=0x40db runnable 

"GC task thread#2 (ParallelGC)" prio=10 tid=0x0000000040f9b000 nid=0x40dc runnable 

"GC task thread#3 (ParallelGC)" prio=10 tid=0x0000000040f9d000 nid=0x40dd runnable 

"VM Periodic Task Thread" prio=10 tid=0x00002aaab4061000 nid=0x40ea waiting on condition 

JNI global references: 1865

person shnam    schedule 17.01.2013    source источник
comment
Вы используете довольно старую версию Netty. Как насчет того, чтобы обновиться до последней стабильной версии и сообщить нам о своих результатах?   -  person trustin    schedule 18.01.2013
comment
Я согласен на обновление. но мне интересно узнать об ошибках в отчетах об этой проблеме перед обновлением. Это периодически, и я не могу воспроизвести ...   -  person shnam    schedule 18.01.2013
comment
Наш процесс сначала отправляет сообщение клиенту (1EA), а клиент передает сообщения на сервер (8EA с 2 демонами). br/› Во-вторых, каждый сервер отправляет сообщение о результате клиенту. br/› В-третьих, клиент доставляет сообщение. на другой веб-сервер.   -  person shnam    schedule 18.01.2013
comment
Примененная опция канала — это только «keepAlive». Нет channel.isWritable, нет InterestOps и водяных знаков... У вас есть идеи, в чем проблема? или Какая информация вам нужна?   -  person shnam    schedule 18.01.2013


Ответы (1)


Спасибо Trustin за ответ. Дело было не в сетевых ошибках и не в архитектуре нашего сервиса. Также дамп потока Jstack неверен. так жаль об этом.

Как только получено сообщение со стороны сервера, клиент отправляет результат в стороннюю систему (HTTP). Из-за настройки времени ожидания по умолчанию служба обмена сообщениями зависает.

person shnam    schedule 28.01.2013