Agent crash due to DB route add being processed after VRF delete

Bug #1542681 reported by Hari Prasad Killi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
Hari Prasad Killi
R2.21.x
Fix Committed
High
Hari Prasad Killi
R2.22.x
Fix Committed
High
Hari Prasad Killi
Trunk
Fix Committed
High
Hari Prasad Killi

Bug Description

#0 0x0000000000000040 in ?? ()
#1 0x0000000000edf7d6 in DBPartition::QueueRunner::Run (this=0x7f222c0873e0) at controller/src/db/db_partition.cc:187
#2 0x0000000000fde3e0 in TaskImpl::execute (this=0x7f22b0cbda40) at controller/src/base/task.cc:238

(gdb) fr 1
#1 0x0000000000edf7d6 in DBPartition::QueueRunner::Run (this=0x7f222c0873e0) at controller/src/db/db_partition.cc:187
187 controller/src/db/db_partition.cc: No such file or directory.
(gdb) p *req_entry
$1 = {tpart = 0x7f229009cec0, client = 0x0, request = {oper = DBRequest::DB_ENTRY_ADD_CHANGE, key = {_M_ptr = 0x7f222405c7f0}, data = {_M_ptr = 0x0}}}

(gdb) p /x *(BridgeRouteKey *)0x7f222405c7f0
$7 = (BridgeRouteKey) {
  <AgentRouteKey> = {
    <AgentKey> = {
      <DBRequestKey> = {
        _vptr.DBRequestKey = 0x1009010 <vtable for BridgeRouteKey+16>
      },
      members of AgentKey:
      sub_op_ = 0x1
    },
    members of AgentRouteKey:
    peer_ = 0x7f22a0000c70,
    vrf_name_ = {
      static npos = <optimized out>,
      _M_dataplus = {
        <std::allocator<char>> = {
          <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
        members of std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider:
        _M_p = 0x7f229005be28
      }
    }
  },
  members of BridgeRouteKey:
  dmac_ = {
    static kZeroMac = {
      static kZeroMac = <same as static member of an already seen type>,
      static kBroadcastMac = {
        static kZeroMac = <same as static member of an already seen type>,
        static kBroadcastMac = <same as static member of an already seen type>,
        addr_ = {
          ether_addr_octet = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
        }
      },
      addr_ = {
        ether_addr_octet = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
      }
    },
    static kBroadcastMac = <same as static member of an already seen type>,
    addr_ = {
      ether_addr_octet = {0x0, 0x0, 0x5e, 0x0, 0x1, 0x0}
    }
  },
  ethernet_tag_ = 0x0
}

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

Review in progress for https://review.opencontrail.org/16951
Submitter: Hari Prasad Killi (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/16952
Submitter: Hari Prasad Killi (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/16953
Submitter: Hari Prasad Killi (<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/16954
Submitter: Hari Prasad Killi (<email address hidden>)

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

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

commit e9a64b7eac55287bb8e2dba62f347a3adea1869b
Author: Hari <email address hidden>
Date: Sat Feb 6 23:08:44 2016 +0530

Always enqueue route DB table operations on fabric route table.

As fabric tables will never be deleted, table deletion before the
enqueued entry is processes cannot happen.

Change-Id: I4af9dea67725e41381f6cfde93d5c5f2d0a8e0ab
closes-bug: 1542681

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

Reviewed: https://review.opencontrail.org/16952
Committed: http://github.org/Juniper/contrail-controller/commit/72cf2ae83dcaac044a0be4014d5647e5287a7c98
Submitter: Zuul
Branch: R2.22.x

commit 72cf2ae83dcaac044a0be4014d5647e5287a7c98
Author: Hari <email address hidden>
Date: Sat Feb 6 23:02:51 2016 +0530

Always enqueue route DB table operations on fabric route table.

As fabric tables will never be deleted, table deletion before the
enqueued entry is processes cannot happen.

Change-Id: I9a01b3b864fdc73c8b8295a000eec2dceb9949b5
closes-bug: 1542681

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

Reviewed: https://review.opencontrail.org/16951
Committed: http://github.org/Juniper/contrail-controller/commit/3830775b60598b10da91cabdd149fafc4fe2aa22
Submitter: Zuul
Branch: R2.21.x

commit 3830775b60598b10da91cabdd149fafc4fe2aa22
Author: Hari <email address hidden>
Date: Sat Feb 6 22:51:44 2016 +0530

Always enqueue route DB table operations on fabric route table.

As fabric tables will never be deleted, table deletion before the
enqueued entry is processes cannot happen.

Change-Id: Ib86422c153148ee4d441785969bae43c66830f36
closes-bug: 1542681

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

Reviewed: https://review.opencontrail.org/16953
Committed: http://github.org/Juniper/contrail-controller/commit/99a334d4a0483bb90ab6b1e338e933cfc3e7969f
Submitter: Zuul
Branch: R2.20

commit 99a334d4a0483bb90ab6b1e338e933cfc3e7969f
Author: Hari <email address hidden>
Date: Sat Feb 6 23:04:32 2016 +0530

Always enqueue route DB table operations on fabric route table.

As fabric tables will never be deleted, table deletion before the
enqueued entry is processes cannot happen.

Change-Id: I2348d8aaeb8e4caa277b69864f0a4516739e2f47
closes-bug: 1542681

information type: Proprietary → Public
summary: - Agent crash due to DB route add being processes after VRF delete
+ Agent crash due to DB route add being processed after VRF delete
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.