-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Done
-
Affects Version/s: VOLTHA v2.5
-
Fix Version/s: None
-
Component/s: ofagent-go, onos
-
Labels:None
-
Story Points:3
-
Epic Link:
Currently the TT scale test fails to report the flows to ONOS due to an illegal length exception (see below) this is most likely due to wrong FLowStats multipart message on the ofagent side:
https://github.com/opencord/ofagent-go/blob/cd40201b2822ea0664cec351e96ff989cfe46348/internal/pkg/openflow/stats.go#L382
2020-09-02T16:40:14,231 | ERROR | onos-of-worker-0 | OFChannelHandler | 210 - org.onosproject.onos-protocols-openflow-ctl - 2.2.5.SNAPSHOT | Error while processing message from switch DefaultSwitchHandshaker
{session=10.42.2.90:53176, dpid=00:00:0a:0a:0a:0a:0a:00}state ACTIVE
io.netty.handler.codec.DecoderException: java.lang.IllegalStateException: Overread length: length=4256 overread by 120 reader: org.projectfloodlight.openflow.protocol.ver13.OFFlowStatsEntryVer13$Reader@44d4d3b
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:472) ~[?:?]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [!/:4.1.35.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [!/:4.1.35.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) [!/:4.1.35.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) [!/:4.1.35.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [!/:4.1.35.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [!/:4.1.35.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) [!/:4.1.35.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [!/:4.1.35.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682) [!/:4.1.35.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617) [!/:4.1.35.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534) [!/:4.1.35.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) [!/:4.1.35.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906) [!/:4.1.35.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [!/:4.1.35.Final]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.IllegalStateException: Overread length: length=4256 overread by 120 reader: org.projectfloodlight.openflow.protocol.ver13.OFFlowStatsEntryVer13$Reader@44d4d3b
at org.projectfloodlight.openflow.util.ChannelUtils.readList(ChannelUtils.java:72) ~[?:?]
at org.projectfloodlight.openflow.protocol.ver13.OFFlowStatsReplyVer13$Reader.readFrom(OFFlowStatsReplyVer13.java:303) ~[?:?]
at org.projectfloodlight.openflow.protocol.ver13.OFStatsReplyVer13$Reader.readFrom(OFStatsReplyVer13.java:70) ~[?:?]
at org.projectfloodlight.openflow.protocol.ver13.OFMessageVer13$Reader.readFrom(OFMessageVer13.java:54) ~[?:?]
at org.projectfloodlight.openflow.protocol.ver13.OFMessageVer13$Reader.readFrom(OFMessageVer13.java:39) ~[?:?]
at org.projectfloodlight.openflow.protocol.OFFactories$GenericReader.readFrom(OFFactories.java:81) ~[?:?]
at org.projectfloodlight.openflow.protocol.OFFactories$GenericReader.readFrom(OFFactories.java:53) ~[?:?]
at org.onosproject.openflow.controller.impl.OFMessageDecoder.decode(OFMessageDecoder.java:68) ~[?:?]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502) ~[?:?]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441) ~[?:?]
... 16 more