Activity log for bug #1462550

Date Who What changed Old value New value Message
2015-06-05 23:07:43 Nischal Sheth bug added bug
2015-06-05 23:07:56 Nischal Sheth nominated for series juniperopenstack/r2.20
2015-06-05 23:07:56 Nischal Sheth bug task added juniperopenstack/r2.20
2015-06-05 23:08:03 Nischal Sheth juniperopenstack/r2.20: status New In Progress
2015-06-05 23:08:06 Nischal Sheth juniperopenstack/r2.20: importance Undecided Medium
2015-06-05 23:08:09 Nischal Sheth juniperopenstack/r2.20: assignee Nischal Sheth (nsheth)
2015-06-05 23:08:16 Nischal Sheth juniperopenstack/r2.20: milestone r2.20-fcs
2015-06-05 23:08:21 Nischal Sheth nominated for series juniperopenstack/trunk
2015-06-05 23:08:21 Nischal Sheth bug task added juniperopenstack/trunk
2015-06-05 23:20:34 Nischal Sheth summary BgpSession::WriteReady can access freed memory Concurrency issue in BgpSession::WriteReady
2015-06-05 23:21:31 Nischal Sheth description BgpSession::WriteReady is called from the io thread. There are 2 problems in current implementation: 1. The peer_ in the BgpSession is not cleared when the BgpPeer clears it's reference to the BgpSession. As a result, WriteReady can access freed memory if the peer has been deleted. 2. Even if BgpPeer::clear_session is modified to clear the back pointer to the peer in the BgpSession, there's a concurrency problem since BgpSession::WriteReady can be called from the io thread while the back pointer is being cleared. Fix is to enqueue the BgpSession to a work queue when it gets a WriteReady notification and do the actual processing in the context of bgp::Config task. BgpSession::WriteReady is called from the io thread. There are 2 problems in current implementation: 1. The peer_ in the BgpSession is not cleared when the BgpPeer clears it's reference to the BgpSession. As a result, WriteReady can access freed memory if the peer has been deleted. 2. Even if BgpPeer::clear_session is modified to clear the back pointer to the peer in the session, there's a concurrency issue since BgpSession::WriteReady could be called from the io thread while the back pointer is being cleared. Fix is to enqueue the BgpSession to a work queue when it gets a WriteReady notification and do the actual processing in the context of bgp::Config task.
2015-06-07 01:26:27 OpenContrail Admin juniperopenstack/trunk: status In Progress Fix Committed
2015-06-09 06:39:30 OpenContrail Admin juniperopenstack/r2.20: status In Progress Fix Committed