Thanks... There was an issue with the decoder implementation... Regards, Abhijit
-----Original Message----- From: 이희승 (Trustin Lee) [mailto:[EMAIL PROTECTED] Sent: Monday, March 31, 2008 9:31 PM To: [email protected] Subject: Re: Getting exception java.nio.BufferUnderflowException. randomly I guess your decoder implementation has a bug. Please make sure that you have enough data in your buffer before reading something. You have to return NEED_DATA if there's not enough data in the buffer. HTH, On Thu, 2008-03-20 at 00:59 +0900, Abhijit Bhatode wrote: > Hi, > > I am using MINA 1.1. My MINA server randomly throws > java.nio.BufferUnderflowException. > Below are the server logs. > > 11579 [AnonymousIoService-11] WARN ObIoHandler - [/10.77.199.57:3626] > EXCEPTION: > org.apache.mina.filter.codec.ProtocolDecoderException: > java.nio.BufferUnderflowException (Hexdump: 00) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCod > ecFilter.java:165) > at > org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived > (AbstractIoFilterChain.java:299) > at > org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoF > ilterChain.java:53) > at > org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageRece > ived(AbstractIoFilterChain.java:648) > at > org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.j > ava:220) > at > org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Exe > cutorFilter.java:264) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java: > 51) > at java.lang.Thread.run(Unknown Source) > Caused by: java.nio.BufferUnderflowException > at java.nio.Buffer.nextGetIndex(Unknown Source) > at java.nio.HeapByteBuffer.getInt(Unknown Source) > at > org.apache.mina.common.support.BaseByteBuffer.getInt(BaseByteBuffer.java:277 > ) > at com.netlib.ObMessageDecoder.doDecode(ObMessageDecoder.java:22) > at > org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProt > ocolDecoder.java:133) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCod > ecFilter.java:158) > ... 9 more > 11579 [AnonymousIoService-11] WARN ObIoHandler - [/10.77.199.57:3626] > EXCEPTION, please implement com.netlib.ObIoHandler.exceptionCaught() for > proper handling: > org.apache.mina.filter.codec.ProtocolDecoderException: > java.nio.BufferUnderflowException (Hexdump: 00) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCod > ecFilter.java:165) > at > org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived > (AbstractIoFilterChain.java:299) > at > org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoF > ilterChain.java:53) > at > org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageRece > ived(AbstractIoFilterChain.java:648) > at > org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.j > ava:220) > at > org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Exe > cutorFilter.java:264) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java: > 51) > at java.lang.Thread.run(Unknown Source) > Caused by: java.nio.BufferUnderflowException > at java.nio.Buffer.nextGetIndex(Unknown Source) > at java.nio.HeapByteBuffer.getInt(Unknown Source) > at > org.apache.mina.common.support.BaseByteBuffer.getInt(BaseByteBuffer.java:277 > ) > at com.netlib.ObMessageDecoder.doDecode(ObMessageDecoder.java:22) > at > org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProt > ocolDecoder.java:133) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCod > ecFilter.java:158) > ... 9 more > 11579 [AnonymousIoService-11] DEBUG ExecutorFilter - Exiting since queue is > empty for /10.77.199.57:3626 > > > Thanks & Regards, > Abhijit > > > _____________________________________________ > From: Abhijit Bhatode [mailto:[EMAIL PROTECTED] > Sent: Monday, March 17, 2008 6:47 PM > To: '[email protected]' > Subject: Using low level socket calls with MINA > > Hi, > > My application requires that some messages be sent or received without the > application protocol being used. > Is there any way so that I can use low level socket calls directly for these > messages, as these do not follow the standard protocol followed by the > application? > I am using MINA version 1.1 > > Thanks & Regards, > Abhijit > > > > DISCLAIMER > ========== > This e-mail may contain privileged and confidential information which is the > property of Persistent Systems Ltd. It is intended only for the use of the > individual or entity to which it is addressed. If you are not the intended > recipient, you are not authorized to read, retain, copy, print, distribute or > use this message. If you have received this communication in error, please > notify the sender and delete all copies of this message. Persistent Systems > Ltd. does not accept any liability for virus infected mails. -- Trustin Lee - Principal Software Engineer, JBoss, Red Hat -- what we call human nature is actually human habit -- http://gleamynode.net/ DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.
