control-node crashes if invalid label-range is given for multicast route

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

Bug Description

When invalid range such as "0-0" is advertised for a multicast route, control-node some times crashes. We should instead drop such invalid routes.

(gdb) bt #0 0x00007f1f02f3cc37 in __GI_raise (sig=sig@entry=6) at +../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f1f02f40028 in __GI_abort () at abort.c:89 #2 0x00007f1f02f35bf6 in __assert_fail_base (fmt=0x7f1f030863b8 "%s%s%s:%u: +%s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0xd74bc6 +"used_bitset_.empty()", file=file@entry=0xd74b68 "controller/src/base/label_block.cc", line=line@entry=72, f+unction=function@entry=0xd74c30 <LabelBlock::~LabelBlock()::__PRETTY_FUNCTION__> +"LabelBlock::~LabelBlock()") at assert.c:92 #3 0x00007f1f02f35ca2 in __GI___assert_fail (assertion=0xd74bc6 "used_bitset_.empty()",+file=0xd74b68 "controller/src/base/label_block.cc", line=72, function=0xd74c30 <LabelBlock::~LabelBlock()::__PRETTY_FUNCTION__> "LabelBlock::~Lab+elBlock()") at assert.c:101 #4 0x000000000069bf30 in LabelBlock::~LabelBlock (this=0x7f1eec032870, +__in_chrg=<optimized out>) at controller/src/base/label_block.cc:72 #5 0x00000000004664c8 in intrusive_ptr_release (block=0x7f1eec032870) at +controller/src/base/label_block.h:120 #6 0x0000000000855e9e in ~intrusive_ptr (this=0x7f1eec028908, __in_chrg=<optimized +out>) at /usr/include/boost/smart_ptr/intrusive_ptr.hpp:97 #7 McastForwarder::~McastForwarder (this=0x7f1eec0288e0, __in_chrg=<optimized out>) at +controller/src/bgp/bgp_multicast.cc:84 #8 0x0000000000855ef9 in McastForwarder::~McastForwarder (this=0x7f1eec0288e0, +__in_chrg=<optimized out>) at controller/src/bgp/bgp_multicast.cc:88 #9 0x0000000000859534 in McastTreeManager::TreeNodeListener (this=0x7f1eec016c40, +partition=<optimized out>, route=0x7f1eec037240) at +controller/src/bgp/bgp_multicast.cc:925 #10 0x0000000000cd599a in operator() (a1=0x7f1eec037240, a0=0x7f1eec00d2a0, +this=0x7f1efbfb4aa0) at /usr/include/boost/function/function_template.hpp:767 #11 RunNotify (entry=0x7f1eec037240, tpart=0x7f1eec00d2a0, this=0x7f1eec00d220) at +controller/src/db/db_table.cc:115 #12 DBTableBase::RunNotify (this=<optimized out>, tpart=tpart@entry=0x7f1eec00d2a0, +entry=entry@entry=0x7f1eec037240) at controller/src/db/db_table.cc:207 #13 0x0000000000cd7ff8 in DBTablePartBase::RunNotify (this=this@entry=0x7f1eec00d2a0) at+controller/src/db/db_table_partition.cc:47 #14 0x0000000000cd3e2e in DBPartition::QueueRunner::Run (this=0x7f1ef40dd4d0) at +controller/src/db/db_partition.cc:220 #15 0x00000000006b1d8f in TaskImpl::execute (this=0x7f1efc793a40) at +controller/src/base/task.cc:262 #16 0x00007f1f03d13b3a in ?? () from /usr/lib/libtbb.so.2 #17 0x00007f1f03d0f816 in ?? () from /usr/lib/libtbb.so.2 #18 0x00007f1f03d0ef4b in ?? () from /usr/lib/libtbb.so.2 #19 0x00007f1f03d0b0ff in ?? () from /usr/lib/libtbb.so.2 #20 0x00007f1f03d0b2f9 in ?? () from /usr/lib/libtbb.so.2 #21 0x00007f1f03f2f184 in start_thread (arg=0x7f1efbfb5700) at pthread_create.c:312 #22 0x00007f1f0300037d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

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

Review in progress for https://review.opencontrail.org/23432
Submitter: Ananth Suryanarayana (<email address hidden>)

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

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

commit ee328e731d14e6de370f29bd747e80d1596e533b
Author: Ananth Suryanarayana <email address hidden>
Date: Thu Aug 18 15:54:12 2016 -0700

Drop multicast routes associated with invalid label range

Labels have to be non-zero numbers

Change-Id: I634f46610eca3240fc7d184b6ebf6529ac92088a
Closes-Bug: #1614770

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

Review in progress for https://review.opencontrail.org/23474
Submitter: Ananth Suryanarayana (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/23475
Submitter: Ananth Suryanarayana (<email address hidden>)

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

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

commit 141dcc3fb2542060f48de73c0019d50368acb08d
Author: Ananth Suryanarayana <email address hidden>
Date: Thu Aug 18 15:54:12 2016 -0700

Drop multicast routes associated with invalid label range

Labels have to be non-zero numbers

Change-Id: I634f46610eca3240fc7d184b6ebf6529ac92088a
Closes-Bug: #1614770

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

Reviewed: https://review.opencontrail.org/23475
Committed: http://github.org/Juniper/contrail-controller/commit/59d1ae5dbfb05977d461f21a7c2a756f52bd48f0
Submitter: Zuul
Branch: R3.1

commit 59d1ae5dbfb05977d461f21a7c2a756f52bd48f0
Author: Ananth Suryanarayana <email address hidden>
Date: Thu Aug 18 15:54:12 2016 -0700

Drop multicast routes associated with invalid label range

Labels have to be non-zero numbers

Change-Id: I634f46610eca3240fc7d184b6ebf6529ac92088a
Closes-Bug: #1614770

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.