[OPNFLWJAVA-37] NPE seen when running GBP POC Created: 25/Sep/14  Updated: 03/May/18  Resolved: 25/Sep/14

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

Type: Bug
Reporter: Thomas Bachman Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 2075
Priority: Normal

 Description   

The following exception was seen when running the GBP POC demo:

2014-09-24 17:21:10,680 | WARN | ntLoopGroup-10-3 | OFEncoder | 210 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.5.0.SNAPSHOT | Message serialization failed
java.lang.NullPointerException
at org.opendaylight.openflowjava.nx.codec.action.RegMoveCodec.serialize(RegMoveCodec.java:30)[222:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.0.3.SNAPSHOT]
at org.opendaylight.openflowjava.nx.codec.action.RegMoveCodec.serialize(RegMoveCodec.java:17)[222:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.0.3.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.util.ListSerializer.serializeList(ListSerializer.java:39)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.instruction.AbstractActionInstructionSerializer.serialize(AbstractActionInstructionSerializer.java:47)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.instruction.AbstractActionInstructionSerializer.serialize(AbstractActionInstructionSerializer.java:30)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.util.ListSerializer.serializeList(ListSerializer.java:39)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.factories.FlowModInputMessageFactory.serialize(FlowModInputMessageFactory.java:56)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.factories.FlowModInputMessageFactory.serialize(FlowModInputMessageFactory.java:32)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory.messageToBuffer(SerializationFactory.java:36)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:41)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:26)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)[149:io.netty.codec:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:658)[128:io.netty.transport:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:716)[128:io.netty.transport:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:651)[128:io.netty.transport:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:637)[128:io.netty.transport:4.0.23.Final]
at io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:880)[128:io.netty.transport:4.0.23.Final]
at io.netty.channel.AbstractChannel.write(AbstractChannel.java:230)[128:io.netty.transport:4.0.23.Final]
at org.opendaylight.openflowjava.protocol.impl.connection.ChannelOutboundQueue.flush(ChannelOutboundQueue.java:189)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.connection.ChannelOutboundQueue.access$000(ChannelOutboundQueue.java:40)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.connection.ChannelOutboundQueue$1.run(ChannelOutboundQueue.java:84)[210:org.opendaylight.openflowjava.openflow-protocol-impl:0.5.0.SNAPSHOT]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:351)[129:io.netty.common:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)[128:io.netty.transport:4.0.23.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)[129:io.netty.common:4.0.23.Final]
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[129:io.netty.common:4.0.23.Final]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_65]



 Comments   
Comment by Thomas Bachman [ 25/Sep/14 ]

Additional debug info: output from msgSpy using jconsole:

Wed 2014.09.24 at 05:35:19 PM PDT
FROM_SWITCH_ENQUEUED: MSG[PortStatusMessage] -> +3 | 3
FROM_SWITCH_ENQUEUED: MSG[GetFeaturesOutput] -> +2 | 2
FROM_SWITCH_ENQUEUED: MSG[MultipartReplyMessage] -> +1070 | 1070
FROM_SWITCH_ENQUEUED: MSG[PacketInMessage] -> +60 | 60
FROM_SWITCH_ENQUEUED: MSG[ErrorMessage] -> +2 | 2
FROM_SWITCH_TRANSLATE_IN_SUCCESS: MSG[PortStatusMessage] -> +3 | 3
FROM_SWITCH_TRANSLATE_IN_SUCCESS: MSG[GetFeaturesOutput] -> +2 | 2
FROM_SWITCH_TRANSLATE_IN_SUCCESS: MSG[MultipartReplyMessage] -> +1070 | 1070
FROM_SWITCH_TRANSLATE_IN_SUCCESS: MSG[PacketInMessage] -> +60 | 60
FROM_SWITCH_TRANSLATE_IN_SUCCESS: MSG[ErrorMessage] -> +2 | 2
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[NodeConnectorUpdated] -> +26 | 26
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[NodeUpdated] -> +3 | 3
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[PacketReceived] -> +60 | 60
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[QueueStatisticsUpdate] -> +11 | 11
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[FlowTableStatisticsUpdate] -> +11 | 11
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[NodeConnectorStatisticsUpdate] -> +11 | 11
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[GroupFeaturesUpdated] -> +2 | 2
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[NodeErrorNotification] -> +2 | 2
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[MeterFeaturesUpdated] -> +2 | 2
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[AggregateFlowStatisticsUpdate] -> +1016 | 1016
FROM_SWITCH_TRANSLATE_OUT_SUCCESS: MSG[FlowsStatisticsUpdate] -> +12 | 12
FROM_SWITCH_TRANSLATE_SRC_FAILURE: no activity detected
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[NodeConnectorUpdated] -> +26 | 26
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[NodeUpdated] -> +3 | 3
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[PacketReceived] -> +60 | 60
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[QueueStatisticsUpdate] -> +11 | 11
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[FlowTableStatisticsUpdate] -> +11 | 11
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[NodeConnectorStatisticsUpdate] -> +11 | 11
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[GroupFeaturesUpdated] -> +2 | 2
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[NodeErrorNotification] -> +2 | 2
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[MeterFeaturesUpdated] -> +2 | 2
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[AggregateFlowStatisticsUpdate] -> +1016 | 1016
FROM_SWITCH_PUBLISHED_SUCCESS: MSG[FlowsStatisticsUpdate] -> +12 | 12
FROM_SWITCH_PUBLISHED_FAILURE: no activity detected
TO_SWITCH_ENQUEUED_SUCCESS: MSG[GetAggregateFlowStatisticsFromFlowTableForAllFlowsInput] -> +1016 | 1016
TO_SWITCH_ENQUEUED_SUCCESS: MSG[GetAllNodeConnectorsStatisticsInput] -> +11 | 11
TO_SWITCH_ENQUEUED_SUCCESS: MSG[AddFlowInput] -> +114 | 114
TO_SWITCH_ENQUEUED_SUCCESS: MSG[GetAllQueuesStatisticsFromAllPortsInput] -> +11 | 11
TO_SWITCH_ENQUEUED_SUCCESS: MSG[AddGroupInput] -> +4 | 4
TO_SWITCH_ENQUEUED_SUCCESS: MSG[GetFlowTablesStatisticsInput] -> +11 | 11
TO_SWITCH_ENQUEUED_SUCCESS: MSG[GetAllFlowsStatisticsFromAllFlowTablesInput] -> +12 | 12
TO_SWITCH_ENQUEUED_FAILED: no activity detected
TO_SWITCH_SUBMITTED_SUCCESS: MSG[AddFlowInput] -> +114 | 114
TO_SWITCH_SUBMITTED_SUCCESS: MSG[AddGroupInput] -> +4 | 4
TO_SWITCH_SUBMITTED_FAILURE: no activity detected

There are 114 flow mods sent and 4 group mods sent, so all of them were seen here.

Comment by Thomas Bachman [ 25/Sep/14 ]

Run over 20 iterations without reproducing, using the latest checkout from integration. This doesn't seem to be a blocking bug any more, so will mark as resolved.

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