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
Review in progress for https:/ /review. opencontrail. org/23432
Submitter: Ananth Suryanarayana (<email address hidden>)