[OPNFLWJAVA-16] Constantly seeing an exception on decoding Created: 10/Feb/14  Updated: 03/May/18  Resolved: 10/Feb/14

Status: Resolved
Project: openflowjava
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Moiz Raja Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Duplicate
duplicates OPNFLWJAVA-15 IndexOutofBoundsException Resolved
External issue ID: 412

 Description   

This exception happens when running the base version with the -of13 switch.

2014-02-10 10:46:05.780 PST [nioEventLoopGroup-10-13] ERROR o.o.o.protocol.impl.core.OFDecoder - readerIndex(1247) + length(8) exceeds writerIndex(1247): SlicedByteBuf(ridx: 1247, widx: 1247, cap: 1247/1247, unwrapped: UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 96, cap: 2048))
java.lang.IndexOutOfBoundsException: readerIndex(1247) + length(8) exceeds writerIndex(1247): SlicedByteBuf(ridx: 1247, widx: 1247, cap: 1247/1247, unwrapped: UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 96, cap: 2048))
at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160) ~[bundlefile:na]
at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:668) ~[bundlefile:na]
at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:676) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.setTable(MultipartReplyMessageFactory.java:338) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.bufferToMessage(MultipartReplyMessageFactory.java:211) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.bufferToMessage(MultipartReplyMessageFactory.java:144) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory.bufferToMessage(DeserializationFactory.java:41) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:46) [bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:26) [bundlefile:na]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:253) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [bundlefile:na]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:100) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:480) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341) [bundlefile:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [bundlefile:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
2014-02-10 10:46:05.799 PST [nioEventLoopGroup-10-2] WARN o.o.o.p.impl.core.OFVersionDetector - detected version: 6 - currently not supported
2014-02-10 10:46:21.040 PST [nioEventLoopGroup-10-5] ERROR o.o.o.protocol.impl.core.OFDecoder - Message deserialization failed
2014-02-10 10:46:21.041 PST [nioEventLoopGroup-10-5] ERROR o.o.o.protocol.impl.core.OFDecoder - readerIndex(911) + length(8) exceeds writerIndex(911): SlicedByteBuf(ridx: 911, widx: 911, cap: 911/911, unwrapped: UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 101, cap: 1024))
java.lang.IndexOutOfBoundsException: readerIndex(911) + length(8) exceeds writerIndex(911): SlicedByteBuf(ridx: 911, widx: 911, cap: 911/911, unwrapped: UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 101, cap: 1024))
at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160) ~[bundlefile:na]
at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:668) ~[bundlefile:na]
at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:676) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.setTable(MultipartReplyMessageFactory.java:338) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.bufferToMessage(MultipartReplyMessageFactory.java:211) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.bufferToMessage(MultipartReplyMessageFactory.java:144) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory.bufferToMessage(DeserializationFactory.java:41) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:46) [bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:26) [bundlefile:na]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:253) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [bundlefile:na]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:100) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:480) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341) [bundlefile:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [bundlefile:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
2014-02-10 10:46:21.059 PST [nioEventLoopGroup-10-10] ERROR o.o.o.protocol.impl.core.OFDecoder - Message deserialization failed
2014-02-10 10:46:21.060 PST [nioEventLoopGroup-10-10] ERROR o.o.o.protocol.impl.core.OFDecoder - readerIndex(1135) + length(8) exceeds writerIndex(1135): SlicedByteBuf(ridx: 1135, widx: 1135, cap: 1135/1135, unwrapped: UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 286, cap: 2048))
java.lang.IndexOutOfBoundsException: readerIndex(1135) + length(8) exceeds writerIndex(1135): SlicedByteBuf(ridx: 1135, widx: 1135, cap: 1135/1135, unwrapped: UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 286, cap: 2048))
at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160) ~[bundlefile:na]
at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:668) ~[bundlefile:na]
at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:676) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.setTable(MultipartReplyMessageFactory.java:341) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.bufferToMessage(MultipartReplyMessageFactory.java:211) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.bufferToMessage(MultipartReplyMessageFactory.java:144) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory.bufferToMessage(DeserializationFactory.java:41) ~[bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:46) [bundlefile:na]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:26) [bundlefile:na]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:253) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [bundlefile:na]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [bundlefile:na]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:100) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:480) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341) [bundlefile:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [bundlefile:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]



 Comments   
Comment by Michal Polkorab [ 10/Feb/14 ]

Hi Moiz,

this is an issue reported previously - it happens on MultipartReply message deserialization. Unfortunately I am unable to reproduce the issue (or very rarely) - that's why it hasn't been fixed yet.

Problem might be in vswitch, netty or the library. I am still trying to figure it out.

Michal

Generated at Wed Feb 07 20:28:44 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.