Agent crash at KSyncFlowIndexEntry::InitSm()

Bug #1549228 reported by Praveen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Fix Committed
High
Praveen
Trunk
Fix Committed
High
Praveen

Bug Description

#0 0x00007f6ecda4bcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f6ecda4f0d8 in __GI_abort () at abort.c:89
#2 0x00007f6ecda44b86 in __assert_fail_base (fmt=0x7f6ecdb95830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=assertion@entry=0x2169650 "event == ADD", file=file@entry=0x2169428 "controller/src/vnsw/agent/vrouter/ksync/ksync_flow_index_manager.cc",
    line=line@entry=216,
    function=function@entry=0x2169b20 <KSyncFlowIndexEntry::InitSm(KSyncFlowIndexManager*, FlowEntry*, KSyncFlowIndexEntry::Event, unsigned int)::__PRETTY_FUNCTION__> "void KSyncFlowIndexEntry::InitSm(KSyncFlowIndexManager*, FlowEntry*, KSyncFlowIndexEntry::Event, uint32_t)") at assert.c:92
#3 0x00007f6ecda44c32 in __GI___assert_fail (assertion=0x2169650 "event == ADD",
    file=0x2169428 "controller/src/vnsw/agent/vrouter/ksync/ksync_flow_index_manager.cc", line=216,
    function=0x2169b20 <KSyncFlowIndexEntry::InitSm(KSyncFlowIndexManager*, FlowEntry*, KSyncFlowIndexEntry::Event, unsigned int)::__PRETTY_FUNCTION__> "void KSyncFlowIndexEntry::InitSm(KSyncFlowIndexManager*, FlowEntry*, KSyncFlowIndexEntry::Event, uint32_t)") at assert.c:101
#4 0x0000000001a14827 in KSyncFlowIndexEntry::InitSm (this=0x7f6ebc268b00, manager=0x7f6ea8014670, flow=0x7f6eaaadbe90, event=KSyncFlowIndexEntry::CHANGE,
    index=4294967295) at controller/src/vnsw/agent/vrouter/ksync/ksync_flow_index_manager.cc:216
#5 0x0000000001a14647 in KSyncFlowIndexEntry::HandleEvent (this=0x7f6ebc268b00, manager=0x7f6ea8014670, flow=0x7f6eaaadbe90, event=KSyncFlowIndexEntry::CHANGE,
    index=4294967295) at controller/src/vnsw/agent/vrouter/ksync/ksync_flow_index_manager.cc:144
#6 0x0000000001a15172 in KSyncFlowIndexManager::HandleEvent (this=0x7f6ea8014670, flow=0x7f6eaaadbe90, event=KSyncFlowIndexEntry::CHANGE)
    at controller/src/vnsw/agent/vrouter/ksync/ksync_flow_index_manager.cc:657
#7 0x0000000001a151c6 in KSyncFlowIndexManager::Change (this=0x7f6ea8014670, flow=0x7f6eaaadbe90)
    at controller/src/vnsw/agent/vrouter/ksync/ksync_flow_index_manager.cc:665
#8 0x000000000192cd64 in FlowTable::UpdateKSync (this=0x7f6ea8e9afd0, flow=0x7f6eaaadbe90, update=true) at controller/src/vnsw/agent/pkt/flow_table.cc:832
#9 0x000000000191ac8c in FlowEntry::set_ecmp_rpf_nh (this=0x7f6eaaadbe90, id=1220) at controller/src/vnsw/agent/pkt/flow_entry.cc:1741
#10 0x000000000191a21f in FlowEntry::SetComponentIndex (this=0x7f6eaaadc360, nh_key=0x7f6ebcd1d4e0, label=24, mpls_path_select=false)
    at controller/src/vnsw/agent/pkt/flow_entry.cc:1614
#11 0x000000000191a65e in FlowEntry::SetLocalFlowEcmpIndex (this=0x7f6eaaadc360) at controller/src/vnsw/agent/pkt/flow_entry.cc:1669
#12 0x000000000191aab3 in FlowEntry::UpdateEcmpInfo (this=0x7f6eaaadc360) at controller/src/vnsw/agent/pkt/flow_entry.cc:1713
#13 0x0000000001919cd6 in FlowEntry::ResyncFlow (this=0x7f6eaaadc360) at controller/src/vnsw/agent/pkt/flow_entry.cc:1530
#14 0x000000000196ae25 in PktFlowInfo::Add (this=0x7f6ec64ce700, pkt=0x47ae6a0, in=0x7f6ec64ce680, out=0x7f6ec64ce6c0)
    at controller/src/vnsw/agent/pkt/pkt_flow_info.cc:1684
#15 0x000000000197a7dd in FlowHandler::Run (this=0x7f6ebc3d24c0) at controller/src/vnsw/agent/pkt/flow_handler.cc:131
#16 0x000000000197505b in Proto::RunProtoHandler (this=0x7f6ea8eb6b30, handler=0x7f6ebc3d24c0) at controller/src/vnsw/agent/pkt/proto.cc:51
#17 0x0000000001975174 in Proto::ProcessProto (this=0x7f6ea8eb6b30, msg_info=...) at controller/src/vnsw/agent/pkt/proto.cc:67
#18 0x0000000001956039 in FlowProto::FlowEventHandler (this=0x7f6ea8eb6b30, req=0x4756040, table=0x7f6ea8e9afd0)
    at controller/src/vnsw/agent/pkt/flow_proto.cc:267
#19 0x000000000195c9c2 in boost::_mfi::mf2<bool, FlowProto, FlowEvent*, FlowTable*>::operator() (this=0x7f6ebc88ec60, p=0x7f6ea8eb6b30, a1=0x4756040,
    a2=0x7f6ea8e9afd0) at /usr/include/boost/bind/mem_fn_template.hpp:280
#20 0x000000000195c12f in boost::_bi::list3<boost::_bi::value<FlowProto*>, boost::arg<1>, boost::_bi::value<FlowTable*> >::operator()<bool, boost::_mfi::mf2<bool, FlowProto, FlowEvent*, FlowTable*>, boost::_bi::list1<FlowEvent*&> > (this=0x7f6ebc88ec70, f=..., a=...) at /usr/include/boost/bind/bind.hpp:382
#21 0x000000000195b6d4 in boost::_bi::bind_t<bool, boost::_mfi::mf2<bool, FlowProto, FlowEvent*, FlowTable*>, boost::_bi::list3<boost::_bi::value<FlowProto*>, boost::arg<1>, boost::_bi::value<FlowTable*> > >::operator()<FlowEvent*> (this=0x7f6ebc88ec60, a1=@0x7f6ec64cea80: 0x4756040)
    at /usr/include/boost/bind/bind_template.hpp:32
#22 0x000000000195af57 in boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<bool, boost::_mfi::mf2<bool, FlowProto, FlowEvent*, FlowTable*>, boost::_bi::list3<boost::_bi::value<FlowProto*>, boost::arg<1>, boost::_bi::value<FlowTable*> > >, bool, FlowEvent*>::invoke (function_obj_ptr=..., a0=0x4756040)
    at /usr/include/boost/function/function_template.hpp:132
#23 0x000000000195d739 in boost::function1<bool, FlowEvent*>::operator() (this=0x7f6ec64ceb10, a0=0x4756040)

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

Review in progress for https://review.opencontrail.org/17740
Submitter: Praveen K V (<email address hidden>)

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

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

commit 5f2505413b2247983f0933e9b360a099dbb8e23f
Author: Praveen K V <email address hidden>
Date: Wed Feb 24 16:18:13 2016 +0530

Skip calling KSyncUpdate if ksync-entry not set

FlowEntry::set_ecmp_rpf_nh invokes KSync update to sync change in
ecmp-index. The KSync operation should be one only if KSyncEntry is
allocated. If KSync entry is not allocated (during add), it will be
updated as part of Add for flow

Change-Id: I04fbdc76ab481d555fe5b9136e6d38c8417487db
Partial-Bug: #1549228

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

Review in progress for https://review.opencontrail.org/18106
Submitter: Praveen K V (<email address hidden>)

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

Reviewed: https://review.opencontrail.org/18106
Committed: http://github.org/Juniper/contrail-controller/commit/9cd0404c0b64e9882423299023e9b5ddc2986eae
Submitter: Zuul
Branch: master

commit 9cd0404c0b64e9882423299023e9b5ddc2986eae
Author: Praveen K V <email address hidden>
Date: Wed Feb 24 16:18:13 2016 +0530

Skip calling KSyncUpdate if ksync-entry not set

FlowEntry::set_ecmp_rpf_nh invokes KSync update to sync change in
ecmp-index. The KSync operation should be one only if KSyncEntry is
allocated. If KSync entry is not allocated (during add), it will be
updated as part of Add for flow

(cherry picked from commit 569745aaec0cee9c03a860ee08a722d21c99c55c)
Change-Id: I04fbdc76ab481d555fe5b9136e6d38c8417487db
Partial-Bug: #1549228

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

Other bug subscribers

Remote bug watches

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