agent crash at KSyncFlowIndexManager::UpdateFlowHandle

Bug #1569935 reported by Vedamurthy Joshi
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Fix Committed
High
Prabhjot Singh Sethi
Trunk
Fix Committed
High
Prabhjot Singh Sethi

Bug Description

R3.0.2.0 26 Ubuntu 14.04 Kilo

Seen on a setup with continuous tcp/udp flows getting aged/evicted

Core will be in http://10.204.216.50/Docs/bugs/#

(gdb) bt
#0 0x00007f666773bcc9 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f666773f0d8 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007f6667734b86 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007f6667734c32 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x0000000000cbfae6 in KSyncFlowIndexManager::UpdateFlowHandle(FlowTableKSyncEntry*, unsigned int, unsigned char) ()
#5 0x0000000000c11e2d in FlowTable::ProcessFlowEventInternal(FlowEvent const*, FlowEntry*, FlowEntry*) ()
#6 0x0000000000c11fdd in FlowTable::ProcessFlowEvent(FlowEvent const*) ()
#7 0x0000000000c26793 in FlowProto::FlowEventHandler(FlowEvent*, FlowTable*) ()
#8 0x0000000000c2c2df in QueueTaskRunner<FlowEvent*, WorkQueue<FlowEvent*> >::Run() ()
#9 0x0000000001186b3c in TaskImpl::execute() ()
#10 0x00007f666830ab3a in ?? () from /usr/lib/libtbb.so.2
#11 0x00007f6668306816 in ?? () from /usr/lib/libtbb.so.2
#12 0x00007f6668305f4b in ?? () from /usr/lib/libtbb.so.2
#13 0x00007f66683020ff in ?? () from /usr/lib/libtbb.so.2
#14 0x00007f66683022f9 in ?? () from /usr/lib/libtbb.so.2
#15 0x00007f6668526182 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#16 0x00007f66677ff47d in clone () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) quit

Tags: vrouter
Changed in juniperopenstack:
milestone: none → r3.0.1.0
Revision history for this message
Prabhjot Singh Sethi (prabhjot) wrote :

issue happens due to incorrect comparison on flow index and gen id to identify a flow index allocation path

due to which it fall through and results in assertion

Changed in juniperopenstack:
assignee: Hari Prasad Killi (haripk) → Prabhjot Singh Sethi (prabhjot)
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/19283
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/19284
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/19283
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/19283
Committed: http://github.org/Juniper/contrail-controller/commit/3a8df0c1c9ec5a56a46ad421b1a628d6fab7dc9d
Submitter: Zuul
Branch: master

commit 3a8df0c1c9ec5a56a46ad421b1a628d6fab7dc9d
Author: Prabhjot Singh Sethi <email address hidden>
Date: Thu Apr 14 11:58:28 2016 +0530

Fix Vrouter-Agent crash for FlowHandleUpdate

Issue:
------
While having TCP flow eviction, if the response of the
netlink message with previous gen id is process after
the flow the evicted and re-added with new gen-id, it
triggered flow update handle state machine, which should
have happend only for index allocation where existing
flow handle should be -1.

Fix:
----
Since flow can get updated with new gen id before ksync
response is processed, so vrouter response needs to be
matched against the values sent from ksync entry rather
than from the flow

Closes-Bug: 1569935
Change-Id: I126de089eb16ae8da6494a8ab35642323626b469

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/19284
Committed: http://github.org/Juniper/contrail-controller/commit/d1884d9a9fcd87e47ef0e4518804fdb340d5bba6
Submitter: Zuul
Branch: R3.0

commit d1884d9a9fcd87e47ef0e4518804fdb340d5bba6
Author: Prabhjot Singh Sethi <email address hidden>
Date: Thu Apr 14 11:58:28 2016 +0530

Fix Vrouter-Agent crash for FlowHandleUpdate

Issue:
------
While having TCP flow eviction, if the response of the
netlink message with previous gen id is process after
the flow the evicted and re-added with new gen-id, it
triggered flow update handle state machine, which should
have happend only for index allocation where existing
flow handle should be -1.

Fix:
----
Since flow can get updated with new gen id before ksync
response is processed, so vrouter response needs to be
matched against the values sent from ksync entry rather
than from the flow

Closes-Bug: 1569935
Change-Id: I126de089eb16ae8da6494a8ab35642323626b469
(cherry picked from commit b48a05fc852f6dee3bbc00198a64282b0313058a)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.