[ http://issues.apache.org/jira/browse/DIRMINA-91?page=all ]
Trustin Lee closed DIRMINA-91:
------------------------------
Resolution: Fixed
I found that IoAdapter don't delay the release of the buffer which caused
decoding failure. The buffer will be released immediately when
IoAdapter.SessionHandlerAdapter.dataRead() method returns regardless
ProtocolViolationException uses it or not.
I fixed this issue by acquiring the buffer once more when I create
ProtocolViolationException.
> BufferUnderflowException while calling ProtocolViolationException.getMessage()
> ------------------------------------------------------------------------------
>
> Key: DIRMINA-91
> URL: http://issues.apache.org/jira/browse/DIRMINA-91
> Project: Directory MINA
> Type: Bug
> Versions: 0.7
> Reporter: Trustin Lee
> Assignee: Trustin Lee
> Priority: Minor
> Fix For: 0.8
>
> This issues has been posted to MINA forum by Thomas:
> http://gleamynode.net/dev/forum/read.php?1,146
> Posted by: Thomas (aurorum10-0.aurorum.se)
> Date: September 21, 2005 11:00PM
> Hi. I'm running a server with mina 0.7.4 on linux and somtimes I get a
> BufferUnderflowException in my server. It dosn't seem to affect the server
> however.
> java.nio.BufferUnderflowException
> at java.nio.Buffer.nextGetIndex(Buffer.java:398)
> at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:205)
> at
> org.apache.mina.common.ByteBuffer$DefaultByteBuffer.get(ByteBuffer.java:720)
> at
> org.apache.mina.common.ByteBufferHexDumper.getHexdump(ByteBufferHexDumper.java:78)
> at
> org.apache.mina.common.ByteBuffer$DefaultByteBuffer.getHexDump(ByteBuffer.java:1029)
> at
> org.apache.mina.protocol.ProtocolViolationException.getMessage(ProtocolViolationException.java:84)
> at
> com.agency9.network.masterserver.A9MasterProtocolHandler.exceptionCaught(A9MasterProtocolHandler.java:41)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain$2.exceptionCaught(AbstractProtocolFilterChain.java:142)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain.callNextExceptionCaught(AbstractProtocolFilterChain.java:405)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain.access$900(AbstractProtocolFilterChain.java:50)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain$Entry$1.exceptionCaught(AbstractProtocolFilterChain.java:518)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain$1.exceptionCaught(AbstractProtocolFilterChain.java:93)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain.callNextExceptionCaught(AbstractProtocolFilterChain.java:405)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain.exceptionCaught(AbstractProtocolFilterChain.java:396)
> at
> org.apache.mina.protocol.ProtocolSessionManagerFilterChain$1.exceptionCaught(ProtocolSessionManagerFilterChain.java:71)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain.callNextExceptionCaught(AbstractProtocolFilterChain.java:405)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain.access$900(AbstractProtocolFilterChain.java:50)
> at
> org.apache.mina.protocol.AbstractProtocolFilterChain$Entry$1.exceptionCaught(AbstractProtocolFilterChain.java:518)
> at
> org.apache.mina.protocol.filter.ProtocolThreadPoolFilter.processEvent(ProtocolThreadPoolFilter.java:116)
> at
> org.apache.mina.util.BaseThreadPool$Worker.processEvents(BaseThreadPool.java:393)
> at org.apache.mina.util.BaseThreadPool$Worker.run(BaseThreadPool.java:333)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira