contrail-control crash in BgpServer::RemoveStaticRouteMgr
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.0 |
Fix Committed
|
Critical
|
Prakash Bailkeri | |||
Trunk |
Fix Committed
|
Critical
|
Prakash Bailkeri |
Bug Description
contrail-control crash with following backtrace in solution test run.
mainline 3.0 , 2713 kilo.
core is in 10.84.5.
#1 0x000000000084d971 in _M_erase_aux (__position=..., this=0x1a47238)
at /usr/include/
#2 erase (__position=..., this=0x1a47238) at /usr/include/
#3 _M_erase_aux (__last=..., __first=..., this=0x1a47238)
at /usr/include/
#4 erase (__last=..., __first=..., this=0x1a47238) at /usr/include/
#5 erase (__x=<synthetic pointer>, this=0x1a47238) at /usr/include/
#6 erase (__x=<synthetic pointer>, this=0x1a47238) at /usr/include/
#7 BgpServer:
at controller/
#8 0x0000000000636c93 in StaticRouteMgr<
this=
at controller/
#9 0x000000000063a7af in operator() (a0=0x7f8b082e56f0, this=0x7f8b295e
at /usr/include/
#10 RunQueue (this=0x7f8b083
#11 QueueTaskRunner
at controller/
#12 0x0000000000c3b68c in TaskImpl::execute (this=0x7f8b2ac
#13 0x00007f8b32346b3a in ?? () from /usr/lib/
#14 0x00007f8b32342816 in ?? () from /usr/lib/
#15 0x00007f8b32341f4b in ?? () from /usr/lib/
#16 0x00007f8b3233e0ff in ?? () from /usr/lib/
#17 0x00007f8b3233e2f9 in ?? () from /usr/lib/
---Type <return> to continue, or q <return> to quit---q
information type: | Proprietary → Public |
Fix is committed to master and R3.0 /review. opencontrail. org/17750 github. org/Juniper/ contrail- controller/ commit/ 29a78345b9e40dd be480a528fbbb16 c5f1f29ea2
Reviewed: https:/
Committed: http://
Submitter: Zuul
Branch: master
commit 29a78345b9e40dd be480a528fbbb16 c5f1f29ea2
Author: Prakash Bailkeri <email address hidden>
Date: Wed Feb 24 22:47:27 2016 +0530
Concurrency issue in unregister of static route
There are two issues in delete of static route config from routing instance teMgr called on BgpServer object corrupts the srt_manager_list_
1. bgp:StaticRoute task run with instance id of routing instance index. So it
is possible to have multiple bgp:StaticRoute task concurrently. Due to this
RemoveStaticRou
2. UnregisterMatch Condition is called from bgp:StaticRoute task. Due to multiple tener:: UnregisterMatch Condition (TableMap map_).
bgp:StaticRoute task running in parallel, BgpConditionLis
corrupts the condition listener datastructure.
Fix is to handle unregister of static route from bgp:Config task using task trigger
Added UT to verify static route config with multiple routing instance
Change-Id: I44446dc558b3d7 a8440c7e9802d97 a8ea61b8caf
Closes-bug: #1547184,1547181
Reviewed: https:/ /review. opencontrail. org/17758 github. org/Juniper/ contrail- controller/ commit/ 3a748abd2fd7eb2 5470ccd9915a304 22c2a18368
Committed: http://
Submitter: Zuul
Branch: R3.0
commit 3a748abd2fd7eb2 5470ccd9915a304 22c2a18368
Author: Prakash Bailkeri <email address hidden>
Date: Wed Feb 24 22:47:27 2016 +0530
Concurrency issue in unregister of static route
There are two issues in delete of static route config from routing instance teMgr called on BgpServer object corrupts the srt_manager_list_
1. bgp:StaticRoute task run with instance id of routing instance index. So it
is possible to have multiple bgp:StaticRoute task concurrently. Due to this
RemoveStaticRou
2. UnregisterMatch Condition is called from bgp:StaticRoute task. Due to multiple tener:: UnregisterMatch Condition (TableMap map_).
bgp:StaticRoute task running in parallel, BgpConditionLis
corrupts the condition listener datastructure.
Fix is to handle unregister of static route from bgp:Config task using task trigger
Added UT to verify static route config with multiple routing instance
Change-Id: I44446dc558b3d7 a8440c7e9802d97 a8ea61b8caf be480a528fbbb16 c5f1f29ea2)
Closes-bug: #1547184,1547181
(cherry picked from commit 29a78345b9e40dd