Hi Trustin Long time no see. Actually this issue happened when my decoder functions throwed exception. I thought I just closed the session in IoHandlerAdapter exceptionCaught. However, the ioprocessor READ part stopped reacting the client's request but WRITE part worked well. This doesn't happen all the time. Decoder function exception didn't cause IoProcessor halt when I tried to reproduce it. Weird.
On Wed, May 14, 2008 at 9:15 AM, 이희승 (Trustin Lee) <[EMAIL PROTECTED]> wrote: > If SocketIoProcessor halts, that might be a bug. Any reproduceable code is > appreciated. > > > On Mon, 28 Apr 2008 12:48:00 +0900, Steve Johns < > [EMAIL PROTECTED]> wrote: > > Hi my server got the following exception, it seems that mina io processor >> thread will not working after decoder gets exception? Is that true? >> Thanks. >> >> >> EXCEPTION: >> org.apache.mina.filter.codec.ProtocolDecoderException: No appropriate >> message de >> coder: 47 45 54 20 68 74 74 70 3A 2F 2F 77 77 77 2E 63 68 69 6E 61 65 64 >> 73 >> 2E 6 >> 3 6F 6D 2F 73 65 61 72 63 68 2E 61 73 70 78 3F 6D 6F 64 65 3D 31 26 73 6B >> 65 >> 79 >> 3D 30 26 69 64 3D 30 26 70 61 67 65 3D 32 34 33 34 20 48 54 54 50 2F 31 2E >> 31 0D >> 0A 48 6F 73 74 3A 20 77 77 77 2E 63 68 69 6E 61 65 64 73 2E 63 6F 6D 0D >> 0A >> 41 6 >> 3 63 65 70 74 3A 20 2A 2F 2A 0D 0A 50 72 61 67 6D 61 3A 20 6E 6F 2D 63 61 >> 63 >> 68 >> 65 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F 36 2E >> 30 20 >> 28 63 6F 6D 70 61 74 69 62 6C 65 3B 20 4D 53 49 45 20 36 2E 30 31 3B 20 >> 57 >> 69 6 >> E 64 6F 77 73 20 32 30 30 30 29 0D 0A 0D 0A (Hexdump: empty) >> at >> org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory$Proto >> colDecoderImpl.doDecode(DemuxingProtocolCodecFactory.java:279) >> at >> org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(Cumulat >> iveProtocolDecoder.java:133) >> at >> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Prot >> ocolCodecFilter.java:157) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageR >> eceived(AbstractIoFilterChain.java:299) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(Abst >> ractIoFilterChain.java:53) >> at >> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.mess >> ageReceived(AbstractIoFilterChain.java:648) >> at >> org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messa >> geReceived(AbstractIoFilterChain.java:499) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageR >> eceived(AbstractIoFilterChain.java:299) >> at >> org.apache.mina.common.support.AbstractIoFilterChain.fireMessageRecei >> ved(AbstractIoFilterChain.java:293) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoP >> rocessor.java:228) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor.process(Socket >> IoProcessor.java:198) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(Soc >> ketIoProcessor.java:45) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(Soc >> ketIoProcessor.java:485) >> at >> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl >> e.java:51) >> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown >> Source >> ) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown >> Source) >> at java.lang.Thread.run(Unknown Source) >> 2008/4/28 �? 09:37:33 org.apache.mina.util.SessionLog info >> 戈癟: [/202.122.116.146:22042] RECEIVED: >> 2008/4/28 �? 09:37:38 org.apache.mina.util.SessionLog warn >> 牡�: [/220.162.203.2:4675] EXCEPTION: >> java.io.IOException: ?狠�?�?�?超��瞷��硈?� >> at sun.nio.ch.SocketDispatcher.read0(Native Method) >> at sun.nio.ch.SocketDispatcher.read(Unknown Source) >> at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) >> at sun.nio.ch.IOUtil.read(Unknown Source) >> at sun.nio.ch.SocketChannelImpl.read(Unknown Source) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoP >> rocessor.java:218) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor.process(Socket >> IoProcessor.java:198) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(Soc >> ketIoProcessor.java:45) >> at >> org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(Soc >> ketIoProcessor.java:485) >> at >> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl >> e.java:51) >> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown >> Source >> ) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown >> Source) >> at java.lang.Thread.run(Unknown Source) >> > > > > -- > Trustin Lee - Principal Software Engineer, JBoss, Red Hat > -- > what we call human nature is actually human habit > -- > http://gleamynode.net/ >
