[ndnSIM] SIGSEGV when simply assigning one smart pointer to another?

John Baugh jpbaugh at umich.edu
Sat Apr 15 22:49:37 PDT 2017


Greetings all,

I *think* I may have solved the problem (I will need more testing.)

I noticed that my PStrat ctor is called multiple times, so obviously any of
the instance variables used by PStrat objects will be at different memory
locations.  I think Junxiao's suggestion that the program was trying to
destroy the object multiple times might have been accurate.

I made the shared_ptr to the PopularityManager object *static *so that all
instances will share the same object.  The program does not appear to crash
now.

I will do further testing, but I think this may have solved the issue.  It
is still quite bizarre.

Thanks,

John

On Sun, Apr 16, 2017 at 1:07 AM, John Baugh <jpbaugh at umich.edu> wrote:

> Hello all,
>
> ---------------
> I'm still new to some of these tools, so I appreciate your patience with
> me.  Here is what I obtained from Valgrind:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *jpbaugh at Janeway:~/ndnSIM/my-simulations$ valgrind --leak-check=yes
> ./build/jpb-pop1==7556== Memcheck, a memory error detector==7556==
> Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.==7556==
> Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info==7556==
> Command: ./build/jpb-pop1==7556== Inside ctor for PStratvex amd64->IR:
> unhandled instruction bytes: 0xF 0xC7 0xF0 0x89 0x6 0xF 0x42 0xC1vex
> amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0vex amd64->IR:   VEX=0
> VEX.L=0 VEX.nVVVV=0x0 ESC=0Fvex amd64->IR:   PFX.66=0 PFX.F2=0
> PFX.F3=0==7556== valgrind: Unrecognised instruction at address
> 0xe29ab15.==7556==    at 0xE29AB15: ??? (in
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)==7556==    by 0xE29ACB1:
> std::random_device::_M_getval() (in
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)==7556==    by 0x7596E7E:
> operator() (random.h:1612)==7556==    by 0x7596E7E:
> ndn::random::getRandomGenerator() (random.cpp:58)==7556==    by 0x75970DD:
> ndn::random::generateWord64() (random.cpp:73)==7556==    by 0x74A72DC:
> ndn::security::KeyChain::signPacketWrapper(ndn::Interest&, ndn::Signature
> const&, ndn::Name const&, ndn::DigestAlgorithm)
> (key-chain.cpp:744)==7556==    by 0x74AE792: void
> ndn::security::KeyChain::signImpl<ndn::Interest>(ndn::Interest&,
> ndn::security::SigningInfo const&) (key-chain.hpp:899)==7556==    by
> 0x72FADC9: ns3::ndn::FibHelper::AddNextHop(ndn::nfd::ControlParameters
> const&, ns3::Ptr<ns3::Node>) (ndn-fib-helper.cpp:61)==7556==    by
> 0x72FCE81: ns3::ndn::FibHelper::AddRoute(ns3::Ptr<ns3::Node>, ndn::Name
> const&, std::shared_ptr<nfd::face::Face>, int)
> (ndn-fib-helper.cpp:100)==7556==    by 0x73155E8:
> ns3::ndn::StackHelper::createAndRegisterFace(ns3::Ptr<ns3::Node>,
> ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>) const
> (ndn-stack-helper.cpp:400)==7556==    by 0x731669E:
> ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:220)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556== Your program just tried to execute an
> instruction that Valgrind==7556== did not recognise.  There are two
> possible reasons for this.==7556== 1. Your program has a bug and
> erroneously jumped to a non-code==7556==    location.  If you are running
> Memcheck and you just saw a==7556==    warning about a bad jump, it's
> probably your program's fault.==7556== 2. The instruction is legitimate but
> Valgrind doesn't handle it,==7556==    i.e. it's Valgrind's fault.  If you
> think this is the case or==7556==    you are not sure, please let us know
> and we'll try to fix it.==7556== Either way, Valgrind will now raise a
> SIGILL signal which will==7556== probably kill your program.==7556==
> ==7556== Process terminating with default action of signal 4
> (SIGILL)==7556==  Illegal opcode at address 0xE29AB15==7556==    at
> 0xE29AB15: ??? (in
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)==7556==    by 0xE29ACB1:
> std::random_device::_M_getval() (in
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)==7556==    by 0x7596E7E:
> operator() (random.h:1612)==7556==    by 0x7596E7E:
> ndn::random::getRandomGenerator() (random.cpp:58)==7556==    by 0x75970DD:
> ndn::random::generateWord64() (random.cpp:73)==7556==    by 0x74A72DC:
> ndn::security::KeyChain::signPacketWrapper(ndn::Interest&, ndn::Signature
> const&, ndn::Name const&, ndn::DigestAlgorithm)
> (key-chain.cpp:744)==7556==    by 0x74AE792: void
> ndn::security::KeyChain::signImpl<ndn::Interest>(ndn::Interest&,
> ndn::security::SigningInfo const&) (key-chain.hpp:899)==7556==    by
> 0x72FADC9: ns3::ndn::FibHelper::AddNextHop(ndn::nfd::ControlParameters
> const&, ns3::Ptr<ns3::Node>) (ndn-fib-helper.cpp:61)==7556==    by
> 0x72FCE81: ns3::ndn::FibHelper::AddRoute(ns3::Ptr<ns3::Node>, ndn::Name
> const&, std::shared_ptr<nfd::face::Face>, int)
> (ndn-fib-helper.cpp:100)==7556==    by 0x73155E8:
> ns3::ndn::StackHelper::createAndRegisterFace(ns3::Ptr<ns3::Node>,
> ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>) const
> (ndn-stack-helper.cpp:400)==7556==    by 0x731669E:
> ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:220)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556== ==7556== HEAP SUMMARY:==7556==     in
> use at exit: 1,155,581 bytes in 13,225 blocks==7556==   total heap usage:
> 32,790 allocs, 19,565 frees, 2,735,032 bytes allocated==7556== ==7556== 19
> bytes in 1 blocks are possibly lost in loss record 797 of 10,257==7556==
> at 0x4C2E0EF: operator new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x738EC1C: void std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >::_M_construct<char*>(char*, char*,
> std::forward_iterator_tag) [clone .isra.213]
> (basic_string.tcc:223)==7556==    by 0x739D20F: _M_construct_aux<char*>
> (basic_string.h:195)==7556==    by 0x739D20F: _M_construct<char*>
> (basic_string.h:214)==7556==    by 0x739D20F: basic_string
> (basic_string.h:400)==7556==    by 0x739D20F: pair
> (stl_pair.h:127)==7556==    by 0x739D20F: construct<std::pair<const
> std::__cxx11::basic_string<char>,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> > > >
> (allocator_utilities.hpp:153)==7556==    by 0x739D20F: insert_
> (index_base.hpp:105)==7556==    by 0x739D20F:
> insert_<boost::multi_index::detail::lvalue_tag>
> (ordered_index.hpp:711)==7556==    by 0x739D20F:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x739D20F:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x739D20F: insert_
> (multi_index_container.hpp:570)==7556==    by 0x739D20F: final_insert_
> (index_base.hpp:219)==7556==    by 0x739D20F: insert
> (sequenced_index.hpp:308)==7556==    by 0x739D20F: push_back
> (sequenced_index.hpp:295)==7556==    by 0x739D20F: push_back
> (ptree_implementation.hpp:364)==7556==    by 0x739D20F: void
> boost::property_tree::info_parser::read_info_internal<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >,
> char>(std::basic_istream<char, std::char_traits<char> >&,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, int) (info_parser_read.hpp:302)==7556==
> by 0x739EC40:
> read_info<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> >, char> (info_parser.hpp:33)==7556==
> by 0x739EC40: ns3::ndn::L3Protocol::Impl::Impl()
> (ndn-l3-protocol.cpp:165)==7556==    by 0x739374E:
> ns3::ndn::L3Protocol::L3Protocol() (ndn-l3-protocol.cpp:194)==7556==    by
> 0x739EF6A: ns3::TypeId
> ns3::TypeId::AddConstructor<ns3::ndn::L3Protocol>()::Maker::Create()
> (type-id.h:596)==7556==    by 0x4ED5172: operator()
> (callback.h:1092)==7556==    by 0x4ED5172: ns3::ObjectFactory::Create()
> const (object-factory.cc:99)==7556==    by 0x73163C2:
> Create<ns3::ndn::L3Protocol> (object-factory.h:200)==7556==    by
> 0x73163C2: ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:181)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556==    by 0x407C36: ns3::main(int, char**)
> (jpb-pop1.cpp:70)==7556==    by 0xEAA482F: (below main)
> (libc-start.c:291)==7556== ==7556== 32 bytes in 1 blocks are possibly lost
> in loss record 4,862 of 10,257==7556==    at 0x4C2E0EF: operator
> new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x758D718: allocate (new_allocator.h:104)==7556==    by 0x758D718:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x758D718:
> insert_ (index_base.hpp:103)==7556==    by 0x758D718:
> insert_<boost::multi_index::detail::lvalue_tag>
> (ordered_index.hpp:711)==7556==    by 0x758D718:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x758D718: insert_
> (multi_index_container.hpp:570)==7556==    by 0x758D718: final_insert_
> (index_base.hpp:219)==7556==    by 0x758D718: insert
> (ordered_index.hpp:297)==7556==    by 0x758D718:
> ndn::util::InMemoryStorage::insert(ndn::Data const&,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> > const&)
> (in-memory-storage.cpp:200)==7556==    by 0x7446F23:
> ndn::mgmt::Dispatcher::sendData(ndn::Name const&, ndn::Block const&,
> ndn::MetaInfo const&, ndn::mgmt::Dispatcher::SendDestination,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> >)
> (dispatcher.cpp:183)==7556==    by 0x7447609:
> ndn::mgmt::Dispatcher::postNotification(ndn::Block const&, ndn::Name
> const&) (dispatcher.cpp:368)==7556==    by 0x760A973: operator()
> (functional:2267)==7556==    by 0x760A973:
> nfd::FaceManager::notifyFaceEvent(nfd::face::Face const&,
> ndn::nfd::FaceEventKind) (face-manager.cpp:537)==7556==    by 0x75F348B:
> operator() (functional:2267)==7556==    by 0x75F348B:
> ndn::util::signal::Signal<nfd::FaceTable,
> nfd::face::Face&>::operator()(nfd::face::Face&)
> (signal-signal.hpp:237)==7556==    by 0x75F2E4B:
> nfd::FaceTable::addImpl(std::shared_ptr<nfd::face::Face>, unsigned long)
> (face-table.cpp:89)==7556==    by 0x75F3275:
> nfd::FaceTable::addReserved(std::shared_ptr<nfd::face::Face>, unsigned
> long) (face-table.cpp:76)==7556==    by 0x7392FDB:
> ns3::ndn::L3Protocol::initialize() (ndn-l3-protocol.cpp:212)==7556==    by
> 0x7393936: ns3::ndn::L3Protocol::NotifyNewAggregate()
> (ndn-l3-protocol.cpp:393)==7556==    by 0x4EA7CB3:
> ns3::Object::AggregateObject(ns3::Ptr<ns3::Object>)
> (object.cc:306)==7556==    by 0x7316591:
> ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:211)==7556== ==7556== 32 bytes in 1 blocks are
> possibly lost in loss record 4,863 of 10,257==7556==    at 0x4C2E0EF:
> operator new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x758D4E7: allocate (new_allocator.h:104)==7556==    by 0x758D4E7:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x758D4E7:
> insert_ (index_base.hpp:103)==7556==    by 0x758D4E7:
> insert_<boost::multi_index::detail::lvalue_tag>
> (ordered_index.hpp:711)==7556==    by 0x758D4E7:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x758D4E7: insert_
> (multi_index_container.hpp:570)==7556==    by 0x758D4E7: final_insert_
> (index_base.hpp:219)==7556==    by 0x758D4E7: insert
> (ordered_index.hpp:297)==7556==    by 0x758D4E7:
> ndn::util::InMemoryStorage::insert(ndn::Data const&,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> > const&)
> (in-memory-storage.cpp:200)==7556==    by 0x7446F23:
> ndn::mgmt::Dispatcher::sendData(ndn::Name const&, ndn::Block const&,
> ndn::MetaInfo const&, ndn::mgmt::Dispatcher::SendDestination,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> >)
> (dispatcher.cpp:183)==7556==    by 0x7447609:
> ndn::mgmt::Dispatcher::postNotification(ndn::Block const&, ndn::Name
> const&) (dispatcher.cpp:368)==7556==    by 0x760A973: operator()
> (functional:2267)==7556==    by 0x760A973:
> nfd::FaceManager::notifyFaceEvent(nfd::face::Face const&,
> ndn::nfd::FaceEventKind) (face-manager.cpp:537)==7556==    by 0x75F348B:
> operator() (functional:2267)==7556==    by 0x75F348B:
> ndn::util::signal::Signal<nfd::FaceTable,
> nfd::face::Face&>::operator()(nfd::face::Face&)
> (signal-signal.hpp:237)==7556==    by 0x75F2E4B:
> nfd::FaceTable::addImpl(std::shared_ptr<nfd::face::Face>, unsigned long)
> (face-table.cpp:89)==7556==    by 0x75F3275:
> nfd::FaceTable::addReserved(std::shared_ptr<nfd::face::Face>, unsigned
> long) (face-table.cpp:76)==7556==    by 0x739306C:
> ns3::ndn::L3Protocol::initialize() (ndn-l3-protocol.cpp:213)==7556==    by
> 0x7393936: ns3::ndn::L3Protocol::NotifyNewAggregate()
> (ndn-l3-protocol.cpp:393)==7556==    by 0x4EA7CB3:
> ns3::Object::AggregateObject(ns3::Ptr<ns3::Object>)
> (object.cc:306)==7556==    by 0x7316591:
> ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:211)==7556== ==7556== 32 bytes in 1 blocks are
> possibly lost in loss record 4,864 of 10,257==7556==    at 0x4C2E0EF:
> operator new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x758D4E7: allocate (new_allocator.h:104)==7556==    by 0x758D4E7:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x758D4E7:
> insert_ (index_base.hpp:103)==7556==    by 0x758D4E7:
> insert_<boost::multi_index::detail::lvalue_tag>
> (ordered_index.hpp:711)==7556==    by 0x758D4E7:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x758D4E7: insert_
> (multi_index_container.hpp:570)==7556==    by 0x758D4E7: final_insert_
> (index_base.hpp:219)==7556==    by 0x758D4E7: insert
> (ordered_index.hpp:297)==7556==    by 0x758D4E7:
> ndn::util::InMemoryStorage::insert(ndn::Data const&,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> > const&)
> (in-memory-storage.cpp:200)==7556==    by 0x7446F23:
> ndn::mgmt::Dispatcher::sendData(ndn::Name const&, ndn::Block const&,
> ndn::MetaInfo const&, ndn::mgmt::Dispatcher::SendDestination,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> >)
> (dispatcher.cpp:183)==7556==    by 0x7447609:
> ndn::mgmt::Dispatcher::postNotification(ndn::Block const&, ndn::Name
> const&) (dispatcher.cpp:368)==7556==    by 0x760A973: operator()
> (functional:2267)==7556==    by 0x760A973:
> nfd::FaceManager::notifyFaceEvent(nfd::face::Face const&,
> ndn::nfd::FaceEventKind) (face-manager.cpp:537)==7556==    by 0x75F348B:
> operator() (functional:2267)==7556==    by 0x75F348B:
> ndn::util::signal::Signal<nfd::FaceTable,
> nfd::face::Face&>::operator()(nfd::face::Face&)
> (signal-signal.hpp:237)==7556==    by 0x75F2E4B:
> nfd::FaceTable::addImpl(std::shared_ptr<nfd::face::Face>, unsigned long)
> (face-table.cpp:89)==7556==    by 0x75F30FF:
> nfd::FaceTable::add(std::shared_ptr<nfd::face::Face>)
> (face-table.cpp:67)==7556==    by 0x7390185: addFace
> (forwarder.hpp:92)==7556==    by 0x7390185:
> ns3::ndn::L3Protocol::addFace(std::shared_ptr<nfd::face::Face>)
> (ndn-l3-protocol.cpp:426)==7556==    by 0x7315E0D:
> ns3::ndn::StackHelper::PointToPointNetDeviceCallback(ns3::Ptr<ns3::Node>,
> ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>) const
> (ndn-stack-helper.cpp:325)==7556==    by 0x7315137: operator()
> (callback.h:431)==7556==    by 0x7315137: operator()
> (callback.h:1116)==7556==    by 0x7315137:
> ns3::ndn::StackHelper::createAndRegisterFace(ns3::Ptr<ns3::Node>,
> ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>) const
> (ndn-stack-helper.cpp:388)==7556==    by 0x731669E:
> ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:220)==7556== ==7556== 40 bytes in 1 blocks are
> possibly lost in loss record 6,434 of 10,257==7556==    at 0x4C2E0EF:
> operator new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x7581FDD: allocate (new_allocator.h:104)==7556==    by 0x7581FDD:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x7581FDD:
> insert_ (index_base.hpp:103)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (hashed_index.hpp:789)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x7581FDD: insert_
> (multi_index_container.hpp:570)==7556==    by 0x7581FDD: final_insert_
> (index_base.hpp:219)==7556==    by 0x7581FDD: insert
> (hashed_index.hpp:260)==7556==    by 0x7581FDD:
> ndn::util::InMemoryStorageFifo::afterInsert(ndn::util::InMemoryStorageEntry*)
> (in-memory-storage-fifo.cpp:41)==7556==    by 0x758D4A5:
> ndn::util::InMemoryStorage::insert(ndn::Data const&,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> > const&)
> (in-memory-storage.cpp:203)==7556==    by 0x7446F23:
> ndn::mgmt::Dispatcher::sendData(ndn::Name const&, ndn::Block const&,
> ndn::MetaInfo const&, ndn::mgmt::Dispatcher::SendDestination,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> >)
> (dispatcher.cpp:183)==7556==    by 0x7447609:
> ndn::mgmt::Dispatcher::postNotification(ndn::Block const&, ndn::Name
> const&) (dispatcher.cpp:368)==7556==    by 0x760A973: operator()
> (functional:2267)==7556==    by 0x760A973:
> nfd::FaceManager::notifyFaceEvent(nfd::face::Face const&,
> ndn::nfd::FaceEventKind) (face-manager.cpp:537)==7556==    by 0x75F348B:
> operator() (functional:2267)==7556==    by 0x75F348B:
> ndn::util::signal::Signal<nfd::FaceTable,
> nfd::face::Face&>::operator()(nfd::face::Face&)
> (signal-signal.hpp:237)==7556==    by 0x75F2E4B:
> nfd::FaceTable::addImpl(std::shared_ptr<nfd::face::Face>, unsigned long)
> (face-table.cpp:89)==7556==    by 0x75F3275:
> nfd::FaceTable::addReserved(std::shared_ptr<nfd::face::Face>, unsigned
> long) (face-table.cpp:76)==7556==    by 0x7392FDB:
> ns3::ndn::L3Protocol::initialize() (ndn-l3-protocol.cpp:212)==7556==    by
> 0x7393936: ns3::ndn::L3Protocol::NotifyNewAggregate()
> (ndn-l3-protocol.cpp:393)==7556==    by 0x4EA7CB3:
> ns3::Object::AggregateObject(ns3::Ptr<ns3::Object>) (object.cc:306)==7556==
> ==7556== 40 bytes in 1 blocks are possibly lost in loss record 6,435 of
> 10,257==7556==    at 0x4C2E0EF: operator new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x7581FDD: allocate (new_allocator.h:104)==7556==    by 0x7581FDD:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x7581FDD:
> insert_ (index_base.hpp:103)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (hashed_index.hpp:789)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x7581FDD: insert_
> (multi_index_container.hpp:570)==7556==    by 0x7581FDD: final_insert_
> (index_base.hpp:219)==7556==    by 0x7581FDD: insert
> (hashed_index.hpp:260)==7556==    by 0x7581FDD:
> ndn::util::InMemoryStorageFifo::afterInsert(ndn::util::InMemoryStorageEntry*)
> (in-memory-storage-fifo.cpp:41)==7556==    by 0x758D4A5:
> ndn::util::InMemoryStorage::insert(ndn::Data const&,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> > const&)
> (in-memory-storage.cpp:203)==7556==    by 0x7446F23:
> ndn::mgmt::Dispatcher::sendData(ndn::Name const&, ndn::Block const&,
> ndn::MetaInfo const&, ndn::mgmt::Dispatcher::SendDestination,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> >)
> (dispatcher.cpp:183)==7556==    by 0x7447609:
> ndn::mgmt::Dispatcher::postNotification(ndn::Block const&, ndn::Name
> const&) (dispatcher.cpp:368)==7556==    by 0x760A973: operator()
> (functional:2267)==7556==    by 0x760A973:
> nfd::FaceManager::notifyFaceEvent(nfd::face::Face const&,
> ndn::nfd::FaceEventKind) (face-manager.cpp:537)==7556==    by 0x75F348B:
> operator() (functional:2267)==7556==    by 0x75F348B:
> ndn::util::signal::Signal<nfd::FaceTable,
> nfd::face::Face&>::operator()(nfd::face::Face&)
> (signal-signal.hpp:237)==7556==    by 0x75F2E4B:
> nfd::FaceTable::addImpl(std::shared_ptr<nfd::face::Face>, unsigned long)
> (face-table.cpp:89)==7556==    by 0x75F3275:
> nfd::FaceTable::addReserved(std::shared_ptr<nfd::face::Face>, unsigned
> long) (face-table.cpp:76)==7556==    by 0x739306C:
> ns3::ndn::L3Protocol::initialize() (ndn-l3-protocol.cpp:213)==7556==    by
> 0x7393936: ns3::ndn::L3Protocol::NotifyNewAggregate()
> (ndn-l3-protocol.cpp:393)==7556==    by 0x4EA7CB3:
> ns3::Object::AggregateObject(ns3::Ptr<ns3::Object>) (object.cc:306)==7556==
> ==7556== 40 bytes in 1 blocks are possibly lost in loss record 6,436 of
> 10,257==7556==    at 0x4C2E0EF: operator new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x7581FDD: allocate (new_allocator.h:104)==7556==    by 0x7581FDD:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x7581FDD:
> insert_ (index_base.hpp:103)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (hashed_index.hpp:789)==7556==    by 0x7581FDD:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x7581FDD: insert_
> (multi_index_container.hpp:570)==7556==    by 0x7581FDD: final_insert_
> (index_base.hpp:219)==7556==    by 0x7581FDD: insert
> (hashed_index.hpp:260)==7556==    by 0x7581FDD:
> ndn::util::InMemoryStorageFifo::afterInsert(ndn::util::InMemoryStorageEntry*)
> (in-memory-storage-fifo.cpp:41)==7556==    by 0x758D4A5:
> ndn::util::InMemoryStorage::insert(ndn::Data const&,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> > const&)
> (in-memory-storage.cpp:203)==7556==    by 0x7446F23:
> ndn::mgmt::Dispatcher::sendData(ndn::Name const&, ndn::Block const&,
> ndn::MetaInfo const&, ndn::mgmt::Dispatcher::SendDestination,
> boost::chrono::duration<long, boost::ratio<1l, 1000l> >)
> (dispatcher.cpp:183)==7556==    by 0x7447609:
> ndn::mgmt::Dispatcher::postNotification(ndn::Block const&, ndn::Name
> const&) (dispatcher.cpp:368)==7556==    by 0x760A973: operator()
> (functional:2267)==7556==    by 0x760A973:
> nfd::FaceManager::notifyFaceEvent(nfd::face::Face const&,
> ndn::nfd::FaceEventKind) (face-manager.cpp:537)==7556==    by 0x75F348B:
> operator() (functional:2267)==7556==    by 0x75F348B:
> ndn::util::signal::Signal<nfd::FaceTable,
> nfd::face::Face&>::operator()(nfd::face::Face&)
> (signal-signal.hpp:237)==7556==    by 0x75F2E4B:
> nfd::FaceTable::addImpl(std::shared_ptr<nfd::face::Face>, unsigned long)
> (face-table.cpp:89)==7556==    by 0x75F30FF:
> nfd::FaceTable::add(std::shared_ptr<nfd::face::Face>)
> (face-table.cpp:67)==7556==    by 0x7390185: addFace
> (forwarder.hpp:92)==7556==    by 0x7390185:
> ns3::ndn::L3Protocol::addFace(std::shared_ptr<nfd::face::Face>)
> (ndn-l3-protocol.cpp:426)==7556==    by 0x7315E0D:
> ns3::ndn::StackHelper::PointToPointNetDeviceCallback(ns3::Ptr<ns3::Node>,
> ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>) const
> (ndn-stack-helper.cpp:325)==7556==    by 0x7315137: operator()
> (callback.h:431)==7556==    by 0x7315137: operator()
> (callback.h:1116)==7556==    by 0x7315137:
> ns3::ndn::StackHelper::createAndRegisterFace(ns3::Ptr<ns3::Node>,
> ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>) const
> (ndn-stack-helper.cpp:388)==7556== ==7556== 138 bytes in 4 blocks are
> possibly lost in loss record 9,857 of 10,257==7556==    at 0x4C2E0EF:
> operator new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0xE3023DE: std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) (in
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)==7556==    by 0x739D3D7:
> assign (basic_string.h:1095)==7556==    by 0x739D3D7: operator=
> (basic_string.h:551)==7556==    by 0x739D3D7: void
> boost::property_tree::info_parser::read_info_internal<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >,
> char>(std::basic_istream<char, std::char_traits<char> >&,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, int) (info_parser_read.hpp:336)==7556==
> by 0x739EC40:
> read_info<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> >, char> (info_parser.hpp:33)==7556==
> by 0x739EC40: ns3::ndn::L3Protocol::Impl::Impl()
> (ndn-l3-protocol.cpp:165)==7556==    by 0x739374E:
> ns3::ndn::L3Protocol::L3Protocol() (ndn-l3-protocol.cpp:194)==7556==    by
> 0x739EF6A: ns3::TypeId
> ns3::TypeId::AddConstructor<ns3::ndn::L3Protocol>()::Maker::Create()
> (type-id.h:596)==7556==    by 0x4ED5172: operator()
> (callback.h:1092)==7556==    by 0x4ED5172: ns3::ObjectFactory::Create()
> const (object-factory.cc:99)==7556==    by 0x73163C2:
> Create<ns3::ndn::L3Protocol> (object-factory.h:200)==7556==    by
> 0x73163C2: ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:181)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556==    by 0x407C36: ns3::main(int, char**)
> (jpb-pop1.cpp:70)==7556==    by 0xEAA482F: (below main)
> (libc-start.c:291)==7556== ==7556== 200 bytes in 5 blocks are possibly lost
> in loss record 9,947 of 10,257==7556==    at 0x4C2E0EF: operator
> new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x76403B8: allocate (new_allocator.h:104)==7556==    by 0x76403B8:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x76403B8:
> insert_ (index_base.hpp:103)==7556==    by 0x76403B8:
> insert_<boost::multi_index::detail::lvalue_tag>
> (hashed_index.hpp:789)==7556==    by 0x76403B8:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x76403B8:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x76403B8: insert_
> (multi_index_container.hpp:570)==7556==    by 0x76403B8: final_insert_
> (index_base.hpp:219)==7556==    by 0x76403B8: insert
> (sequenced_index.hpp:308)==7556==    by 0x76403B8: push_back
> (sequenced_index.hpp:295)==7556==    by 0x76403B8:
> nfd::DeadNonceList::DeadNonceList(boost::chrono::duration<long,
> boost::ratio<1l, 1000000000l> > const&) (dead-nonce-list.cpp:58)==7556==
> by 0x75F4B75: nfd::Forwarder::Forwarder() (forwarder.cpp:45)==7556==    by
> 0x7392F68: construct<nfd::Forwarder> (shared_ptr_base.h:518)==7556==    by
> 0x7392F68: construct<nfd::Forwarder> (alloc_traits.h:530)==7556==    by
> 0x7392F68: _Sp_counted_ptr_inplace<> (shared_ptr_base.h:522)==7556==    by
> 0x7392F68: __shared_count<nfd::Forwarder, std::allocator<nfd::Forwarder> >
> (shared_ptr_base.h:617)==7556==    by 0x7392F68:
> __shared_ptr<std::allocator<nfd::Forwarder> >
> (shared_ptr_base.h:1097)==7556==    by 0x7392F68:
> shared_ptr<std::allocator<nfd::Forwarder> > (shared_ptr.h:319)==7556==
> by 0x7392F68: allocate_shared<nfd::Forwarder,
> std::allocator<nfd::Forwarder> > (shared_ptr.h:620)==7556==    by
> 0x7392F68: make_shared<nfd::Forwarder> (shared_ptr.h:636)==7556==    by
> 0x7392F68: ns3::ndn::L3Protocol::initialize()
> (ndn-l3-protocol.cpp:207)==7556==    by 0x7393936:
> ns3::ndn::L3Protocol::NotifyNewAggregate()
> (ndn-l3-protocol.cpp:393)==7556==    by 0x4EA7CB3:
> ns3::Object::AggregateObject(ns3::Ptr<ns3::Object>)
> (object.cc:306)==7556==    by 0x7316591:
> ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:211)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556==    by 0x407C36: ns3::main(int, char**)
> (jpb-pop1.cpp:70)==7556==    by 0xEAA482F: (below main)
> (libc-start.c:291)==7556== ==7556== 608 bytes in 19 blocks are possibly
> lost in loss record 10,096 of 10,257==7556==    at 0x4C2E0EF: operator
> new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x731C992:
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > >
> >::basic_ptree(boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&)
> (ptree_implementation.hpp:193)==7556==    by 0x739D226: pair
> (stl_pair.h:127)==7556==    by 0x739D226: construct<std::pair<const
> std::__cxx11::basic_string<char>,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> > > >
> (allocator_utilities.hpp:153)==7556==    by 0x739D226: insert_
> (index_base.hpp:105)==7556==    by 0x739D226:
> insert_<boost::multi_index::detail::lvalue_tag>
> (ordered_index.hpp:711)==7556==    by 0x739D226:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x739D226:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x739D226: insert_
> (multi_index_container.hpp:570)==7556==    by 0x739D226: final_insert_
> (index_base.hpp:219)==7556==    by 0x739D226: insert
> (sequenced_index.hpp:308)==7556==    by 0x739D226: push_back
> (sequenced_index.hpp:295)==7556==    by 0x739D226: push_back
> (ptree_implementation.hpp:364)==7556==    by 0x739D226: void
> boost::property_tree::info_parser::read_info_internal<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >,
> char>(std::basic_istream<char, std::char_traits<char> >&,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, int) (info_parser_read.hpp:302)==7556==
> by 0x739EC40:
> read_info<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> >, char> (info_parser.hpp:33)==7556==
> by 0x739EC40: ns3::ndn::L3Protocol::Impl::Impl()
> (ndn-l3-protocol.cpp:165)==7556==    by 0x739374E:
> ns3::ndn::L3Protocol::L3Protocol() (ndn-l3-protocol.cpp:194)==7556==    by
> 0x739EF6A: ns3::TypeId
> ns3::TypeId::AddConstructor<ns3::ndn::L3Protocol>()::Maker::Create()
> (type-id.h:596)==7556==    by 0x4ED5172: operator()
> (callback.h:1092)==7556==    by 0x4ED5172: ns3::ObjectFactory::Create()
> const (object-factory.cc:99)==7556==    by 0x73163C2:
> Create<ns3::ndn::L3Protocol> (object-factory.h:200)==7556==    by
> 0x73163C2: ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:181)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556==    by 0x407C36: ns3::main(int, char**)
> (jpb-pop1.cpp:70)==7556==    by 0xEAA482F: (below main)
> (libc-start.c:291)==7556== ==7556== 2,128 bytes in 19 blocks are possibly
> lost in loss record 10,229 of 10,257==7556==    at 0x4C2E0EF: operator
> new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x739D1E4: allocate (new_allocator.h:104)==7556==    by 0x739D1E4:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x739D1E4:
> insert_ (index_base.hpp:103)==7556==    by 0x739D1E4:
> insert_<boost::multi_index::detail::lvalue_tag>
> (ordered_index.hpp:711)==7556==    by 0x739D1E4:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x739D1E4:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x739D1E4: insert_
> (multi_index_container.hpp:570)==7556==    by 0x739D1E4: final_insert_
> (index_base.hpp:219)==7556==    by 0x739D1E4: insert
> (sequenced_index.hpp:308)==7556==    by 0x739D1E4: push_back
> (sequenced_index.hpp:295)==7556==    by 0x739D1E4: push_back
> (ptree_implementation.hpp:364)==7556==    by 0x739D1E4: void
> boost::property_tree::info_parser::read_info_internal<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >,
> char>(std::basic_istream<char, std::char_traits<char> >&,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, int) (info_parser_read.hpp:302)==7556==
> by 0x739EC40:
> read_info<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> >, char> (info_parser.hpp:33)==7556==
> by 0x739EC40: ns3::ndn::L3Protocol::Impl::Impl()
> (ndn-l3-protocol.cpp:165)==7556==    by 0x739374E:
> ns3::ndn::L3Protocol::L3Protocol() (ndn-l3-protocol.cpp:194)==7556==    by
> 0x739EF6A: ns3::TypeId
> ns3::TypeId::AddConstructor<ns3::ndn::L3Protocol>()::Maker::Create()
> (type-id.h:596)==7556==    by 0x4ED5172: operator()
> (callback.h:1092)==7556==    by 0x4ED5172: ns3::ObjectFactory::Create()
> const (object-factory.cc:99)==7556==    by 0x73163C2:
> Create<ns3::ndn::L3Protocol> (object-factory.h:200)==7556==    by
> 0x73163C2: ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:181)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556==    by 0x407C36: ns3::main(int, char**)
> (jpb-pop1.cpp:70)==7556==    by 0xEAA482F: (below main)
> (libc-start.c:291)==7556== ==7556== 2,128 bytes in 19 blocks are possibly
> lost in loss record 10,230 of 10,257==7556==    at 0x4C2E0EF: operator
> new(unsigned long) (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)==7556==    by
> 0x731C9A4: allocate (new_allocator.h:104)==7556==    by 0x731C9A4:
> allocate_node (multi_index_container.hpp:530)==7556==    by 0x731C9A4:
> header_holder (header_holder.hpp:35)==7556==    by 0x731C9A4:
> multi_index_container (multi_index_container.hpp:266)==7556==    by
> 0x731C9A4:
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > >
> >::basic_ptree(boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&)
> (ptree_implementation.hpp:193)==7556==    by 0x739D226: pair
> (stl_pair.h:127)==7556==    by 0x739D226: construct<std::pair<const
> std::__cxx11::basic_string<char>,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> > > >
> (allocator_utilities.hpp:153)==7556==    by 0x739D226: insert_
> (index_base.hpp:105)==7556==    by 0x739D226:
> insert_<boost::multi_index::detail::lvalue_tag>
> (ordered_index.hpp:711)==7556==    by 0x739D226:
> insert_<boost::multi_index::detail::lvalue_tag>
> (sequenced_index.hpp:674)==7556==    by 0x739D226:
> insert_<boost::multi_index::detail::lvalue_tag>
> (multi_index_container.hpp:558)==7556==    by 0x739D226: insert_
> (multi_index_container.hpp:570)==7556==    by 0x739D226: final_insert_
> (index_base.hpp:219)==7556==    by 0x739D226: insert
> (sequenced_index.hpp:308)==7556==    by 0x739D226: push_back
> (sequenced_index.hpp:295)==7556==    by 0x739D226: push_back
> (ptree_implementation.hpp:364)==7556==    by 0x739D226: void
> boost::property_tree::info_parser::read_info_internal<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >,
> char>(std::basic_istream<char, std::char_traits<char> >&,
> boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, int) (info_parser_read.hpp:302)==7556==
> by 0x739EC40:
> read_info<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<char> >, char> (info_parser.hpp:33)==7556==
> by 0x739EC40: ns3::ndn::L3Protocol::Impl::Impl()
> (ndn-l3-protocol.cpp:165)==7556==    by 0x739374E:
> ns3::ndn::L3Protocol::L3Protocol() (ndn-l3-protocol.cpp:194)==7556==    by
> 0x739EF6A: ns3::TypeId
> ns3::TypeId::AddConstructor<ns3::ndn::L3Protocol>()::Maker::Create()
> (type-id.h:596)==7556==    by 0x4ED5172: operator()
> (callback.h:1092)==7556==    by 0x4ED5172: ns3::ObjectFactory::Create()
> const (object-factory.cc:99)==7556==    by 0x73163C2:
> Create<ns3::ndn::L3Protocol> (object-factory.h:200)==7556==    by
> 0x73163C2: ns3::ndn::StackHelper::Install(ns3::Ptr<ns3::Node>) const
> (ndn-stack-helper.cpp:181)==7556==    by 0x73173E4:
> ns3::ndn::StackHelper::Install(ns3::NodeContainer const&) const
> (ndn-stack-helper.cpp:159)==7556==    by 0x73175D6:
> ns3::ndn::StackHelper::InstallAll() const
> (ndn-stack-helper.cpp:167)==7556==    by 0x407C36: ns3::main(int, char**)
> (jpb-pop1.cpp:70)==7556==    by 0xEAA482F: (below main)
> (libc-start.c:291)==7556== ==7556== LEAK SUMMARY:==7556==    definitely
> lost: 0 bytes in 0 blocks==7556==    indirectly lost: 0 bytes in 0
> blocks==7556==      possibly lost: 5,437 bytes in 73 blocks==7556==
> still reachable: 1,150,144 bytes in 13,152 blocks==7556==
> suppressed: 0 bytes in 0 blocks==7556== Reachable blocks (those to which a
> pointer was found) are not shown.==7556== To see them, rerun with:
> --leak-check=full --show-leak-kinds=all==7556== ==7556== For counts of
> detected and suppressed errors, rerun with: -v==7556== ERROR SUMMARY: 12
> errors from 12 contexts (suppressed: 0 from 0)Illegal instruction*
>
> ---------------
>
> Any assistance would be appreciated in interpreting this rather large tome
> of output.
>
> Thanks,
>
> John
>
> On Thu, Apr 13, 2017 at 12:41 PM, Junxiao Shi <
> shijunxiao at email.arizona.edu> wrote:
>
>> Hi John
>>
>> It seems that some object is being destructed twice.
>> Valgrind may be able to confirm this hypothesis.
>>
>> Yours, Junxiao
>>
>> On Apr 12, 2017, at 9:18 PM, John Baugh <jpbaugh at umich.EDU> wrote:
>>
>> *(gdb) bt full*
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *#0  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release
>> (this=0x2710)    at /usr/include/c++/5/bits/shared_ptr_base.h:147No
>> locals.#1  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count
>> (    this=<optimized out>, __in_chrg=<optimized out>)    at
>> /usr/include/c++/5/bits/shared_ptr_base.h:659No locals.#2
>> std::__shared_ptr<PopularityManager,
>> (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>,
>> __in_chrg=<optimized out>)    at
>> /usr/include/c++/5/bits/shared_ptr_base.h:925No locals.#3
>> std::__shared_ptr<PopularityManager,
>> (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<PopularityManager,
>> (__gnu_cxx::_Lock_policy)2>&&) (    __r=<optimized out>, this=0x75fc50)
>> at /usr/include/c++/5/bits/shared_ptr_base.h:1000No locals.*
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170416/e8664f80/attachment-0001.html>


More information about the ndnSIM mailing list