2011-11-23 5 views
0

Netty 3.2.4를 사용하고 있으며 버그를 해결하기 위해 응용 프로그램을 디버깅하려고하지만 Netty로 실행중인 응용 프로그램을 시작한 후, 매 2 초마다 "아무데도"에서 열기/닫기 연결 (채널)을 얻습니다.Netty 열기/닫기 "zumbi"연결 (채널) 문제

다음과 같은 스택 추적에 따르면 스택 추적에서 어디에서 왔는지 발견하고 "DeadLockProofWorker $ 1"클래스가 실행되는 것을 알기 위해 예외를 던졌습니다.

어디에서 왔습니까? 왜? 피할 수 있을까요?

java.lang.Exception 
    at org.spcbrasil.commbroker.server.handler.CleanUpServerHandler.channelClosed(CleanUpServerHandler.java:26) 
    at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:118) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) 
    at org.jboss.netty.channel.SimpleChannelHandler.channelClosed(SimpleChannelHandler.java:228) 
    at org.spcbrasil.commbroker.server.handler.CommBrokerServiceHandler.channelClosed(CommBrokerServiceHandler.java:79) 
    at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:118) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) 
    at org.jboss.netty.channel.SimpleChannelHandler.channelClosed(SimpleChannelHandler.java:228) 
    at org.spcbrasil.commbroker.server.handler.LogServerHandler.channelClosed(LogServerHandler.java:145) 
    at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:118) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.channelClosed(SimpleChannelUpstreamHandler.java:208) 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:98) 
    at org.spcbrasil.commbroker.server.handler.HandshakeStopServerHandler.handleUpstream(HandshakeStopServerHandler.java:28) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) 
    at org.jboss.netty.channel.SimpleChannelHandler.channelClosed(SimpleChannelHandler.java:228) 
    at org.spcbrasil.commbroker.server.handler.HandshakeServerHandler.channelClosed(HandshakeServerHandler.java:107) 
    at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:118) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) 
    at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:66) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540) 
    at org.jboss.netty.channel.Channels.fireChannelClosed(Channels.java:404) 
    at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:593) 
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:355) 
    at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280) 
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200) 
    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:619) 

답변

0

에서이 상대 :

at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:593) 
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:355) 

원격 피어는 접속을 폐쇄. 원격 피어 (peer)가 반 폐쇄 연결을 사용합니까? Netty는 반 폐쇄 연결을 지원하지 않으므로 원격 피어가 연결의 절반 만 닫으면 연결이 닫힙니다.

관련 문제