[OPNFLWPLUG-278] NPE during message serialization Created: 16/Sep/14 Updated: 27/Sep/21 Resolved: 18/Sep/14 |
|
| Status: | Resolved |
| Project: | OpenFlowPlugin |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Thomas Bachman | Assignee: | Michal Rehak |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 1907 |
| Priority: | High |
| Description |
|
The following was seen when running the Group Based Policy application: 2014-09-16 06:59:01.477 PDT [pool-22-thread-3] WARN o.o.g.r.ofoverlay.flow.FlowTable - FLOW: Uri [_value=intraallow|10] Flow [_hardTimeout=0, _id=Uri [_value=intraallow|10], _idleTimeout=0, _instructions=Instructions [_instruction=[Instruction [_instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_action=NxActionOutputRegNodesNodeTableFlowApplyActionsCase [_nxOutputReg=NxOutputReg [_maxLen=65535, _src=Src [_ofsNbits=31, _srcChoice=SrcNxRegCase [_nxReg=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg7, augmentation=[]], augmentation=[]], augmentation=[]], augmentation=[]], _key=ActionKey [_order=0], _order=0, augmentation=[]]], augmentation=[]], augmentation=[]], _key=InstructionKey [_order=0], _order=0, augmentation=[]]], augmentation=[]], _key=FlowKey [_id=Uri [_value=intraallow|10]], _match=Match [augmentation=[GeneralAugMatchNodesNodeTableFlow [_extensionList=[ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxReg=NxmNxReg [_reg=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg0, _value=10, augmentation=[]]]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg0Key, _key=ExtensionListKey [_extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg0Key], augmentation=[]], ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxReg=NxmNxReg [_reg=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg2, _value=10, augmentation=[]]]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg2Key, _key=ExtensionListKey [_extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg2Key], augmentation=[]]]]]], _priority=65000, _tableId=3, _barrier=false, augmentation=[]] The application programs 58 flows on each of the two nodes. One node gets all 58, and the other gets 57 out of 58. |
| Comments |
| Comment by Michal Polkorab [ 17/Sep/14 ] |
|
Adding dumped flow that Thomas sent over email: 2014-09-16 06:59:01.477 PDT [pool-22-thread-3] WARN o.o.g.r.ofoverlay.flow.FlowTable - FLOW: Uri [_value=intraallow|10] Flow [_hardTimeout=0, _id=Uri [_value=intraallow|10], _idleTimeout=0, _instructions=Instructions [_instruction=[Instruction [_instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_action=NxActionOutputRegNodesNodeTableFlowApplyActionsCase [_nxOutputReg=NxOutputReg [_maxLen=65535, _src=Src [_ofsNbits=31, _srcChoice=SrcNxRegCase [_nxReg=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg7, augmentation=[]], augmentation=[]], augmentation=[]], augmentation=[]], _key=ActionKey [_order=0], _order=0, augmentation=[]]], augmentation=[]], augmentation=[]], _key=InstructionKey [_order=0], _order=0, augmentation=[]]], augmentation=[]], _key=FlowKey [_id=Uri [_value=intraallow|10]], _match=Match [augmentation=[GeneralAugMatchNodesNodeTableFlow [_extensionList=[ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxReg=NxmNxReg [_reg=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg0, _value=10, augmentation=[]]]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg0Key, _key=ExtensionListKey [_extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg0Key], augmentation=[]], ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxReg=NxmNxReg [_reg=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg2, _value=10, augmentation=[]]]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg2Key, _key=ExtensionListKey [_extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg2Key], augmentation=[]]]]]], _priority=65000, _tableId=3, _barrier=false, augmentation=[]] This looks like the OutputReg action (NxActionOutputReg) is being serialized by wrong serializer (RegLoadCodec). There might be some translation bug in openflowplugin or controller. |
| Comment by Michal Rehak [ 17/Sep/14 ] |
|
Hi Thomas, I can not replicate. Could you attach the trouble maker flow? <action> and the only suspicious thing I noticed was failing action deserializing in stats. Thank you. |
| Comment by Thomas Bachman [ 18/Sep/14 ] |
|
I haven't seen this in the latest runs, and because of that thought that it had been fixed |
| Comment by Michal Rehak [ 18/Sep/14 ] |
|
Failed to replicate. |