[ndnSIM] Question about updating name prefix list of the routers

Anil Jangam anilj.mailing at gmail.com
Sun Jun 11 10:35:07 PDT 2017


Hi All,

Mahsa, Sabet, How have you solved this issue of SIGABRT?

I converted the "nlsrc" into a a ndn::Application instance and installed it
on each of the nodes. In my simulation example, I am scheduling a new
prefix injection (at 100.0 sec) from a node.

I see that experiment is running and at time 100 secs  into simulation, its
crashing. I am attaching the stack trace for more details. Can you help me
know what wrong here?

Let me know if you need additional info.

/anil.


On Thu, Mar 23, 2017 at 8:52 AM, Junxiao Shi <shijunxiao at email.arizona.edu>
wrote:

> Hi Sabet
>
> Yes, the Interest is now signed.
> Run the scenario within GDB, and type bt full upon crash, so that you can
> see where the crash happens.
>
> Yours, Junxiao
>
> On Mar 22, 2017, at 1:01 PM, Muhammad Hosain Abdollahi Sabet <
> mhasabet at gmail.com> wrote:
>
>
> I did as you said:
>
>     auto advertiseCommand = make_shared<Interest>();
>>     Name command = Name("/localhost/nlsr/prefix-update/advertise");
>>     ndn::nfd::ControlParameters parameters;
>>     parameters.setName(Name("/updated-prefix"));
>>     advertiseCommand->setName(command.append(parameters.wireEncode()));
>>     m_keyChain.sign(*advertiseCommand);
>>     m_transmittedInterests(advertiseCommand,this,m_face);
>>     m_appLink->onReceiveInterest(*advertiseCommand);
>
>
> And you can see that the interest is signed:
>
> 6s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest
> face=261 interest=/localhost/nlsr/prefix-update/advertise/h%12%07%10%
> 08%0Eupdated-prefix/%17p/n%29%05B%EE%F41g/%164%1B%01%01%1C%
> 2F%07-%08%0Ctmp-identity%08%04Z%21%0A%16%08%03KEY%08%
> 09ksk-16106%08%07ID-CERT/%17%FD%01%00%A0%9A%8CS%7CQU%24%E9%
> A7%5B%AE%84%5B%C0%9D%19W%5B%F6%FA%15%BC%8B%F8%FD%D4B%F7%
> F4%A7%03%C5SDY%A1%98%B3%A9%17%7B%DDE%D1JF%5E%F1%0A%7BY%13qA%
> 24HP%DEV%D4%F0%F6Qr%27y%EA-L%82%A1u%01%2A%F2%FB%16%B4%82%
> 02%18%8D%B7Z%C4%22%7C%E8SU%98%E5%C1%CF%D2%1FE%21%D0A%FD%40%
> 85%C3D%94D%B6%95%FA%10%1AS%19%1E13%7C6%BC%21%86%D7q%9A%CC%
> 1D%C3%13d%90%C9%C3%14%AB%3D%BA%AA%E4%A3%3C%98U%CF%7F%BC.j%
> 9B%0C0ui%40%CBnMa%B8%19%2FWR%06%90D%EF%92%EEM%F6%0Am%25%FF%
> 95%97%CF%F6%84W+%FCA%3D%FB%8B%8A%CA-1%98%8A%5B%1F%14%D3%CB%
> 25%16%B5%95%8AB%D66%13%B5%A8m%F5%8F%1E1o%ADx%0EX%D1LFrS%BF%
> 81%B5%92m%A2%26%91%D71o%FA%CCA%AC%BB7%FFI%210%8DW%E5%F6ctO%2C%3A%CF
>
> But then again:
>
> terminate called after throwing an instance of
>> 'boost::exception_detail::clone_impl<boost::exception_detail
>> ::error_info_injector<ndn::name::Component::Error> >'
>>   what():  Name component does not have the requested marker or the value
>> is not a nonNegativeInteger
>
>
> I don't think it is a bug. I guess there is something I should've done but
> didn't and I'm looking for it. But if it is, I will post a complete report
> of the environment, steps to reproduce, expected/actual result and so on.
>
> Thanks,
> Sabet​
>
>
>
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170611/8c63391e/attachment-0001.html>
-------------- next part --------------
71.1067s HelloProtocol:onContentValidated(): Neighbor : /n/e/%C1r1
71.1067s HelloProtocol:onContentValidated(): Old Status: 1 New Status: 1
100s NdnNlsrSimple:advertise(): Registering a prefix /n/e/N1/p3 into the network from node 1
100s PrefixUpdateProcessor:onInterest(): Received Interest: /localhost/nlsr/prefix-update/advertise/h%10%07%0E%08%01n%08%01e%08%02N1%08%02p3/%00%01%86%A0/%2A%C4%BD%80%17%3BKw/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2?ndn.MustBeFresh=1&ndn.Nonce=1067955776
100s PrefixUpdateProcessor:advertise(): Advertising name: /n/e/N1/p3
100s Lsdb:installNameLsa(): Updated Name LSA. Updating LSDB
100s Lsdb:installNameLsa(): Deleting Name Lsa
100s Lsa:writeLog(): Name Lsa: 
100s Lsa:writeLog():   Origination Router: /n/e/%C1r1
100s Lsa:writeLog():   Ls Type: name
100s Lsa:writeLog():   Ls Seq No: 2795
100s Lsa:writeLog():   Ls Lifetime: 481000000000 nanoseconds since start of simulation
100s Lsa:writeLog():   Names: 
100s Lsa:writeLog():     Name 1: /n/e/N1/p1
100s Lsa:writeLog():     Name 1: /n/e/N1/p2
100s Lsa:writeLog(): name_lsa_end
100s Lsdb:installNameLsa(): Adding Name Lsa
100s Lsa:writeLog(): Name Lsa: 
100s Lsa:writeLog():   Origination Router: /n/e/%C1r1
100s Lsa:writeLog():   Ls Type: name
100s Lsa:writeLog():   Ls Seq No: 2796
100s Lsa:writeLog():   Ls Lifetime: 580000000000 nanoseconds since start of simulation
100s Lsa:writeLog():   Names: 
100s Lsa:writeLog():     Name 1: /n/e/N1/p1
100s Lsa:writeLog():     Name 1: /n/e/N1/p2
100s Lsa:writeLog():     Name 1: /n/e/N1/p3
100s Lsa:writeLog(): name_lsa_end
100s SyncLogicHandler:publishSyncUpdate(): Publishing Sync Update. Prefix: /n/NLSR/LSA/e/%C1r1 Seq No: 3074234594102134
assert failed. cond="n < m_nodes.size ()", msg="Node index 4294967295 is out of range (only have 5 nodes).", file=../src/network/model/node-list.cc, line=209
terminate called without an active exception

Program received signal SIGABRT, Aborted.
0x00007fffe9db6c37 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) wherewhere
Undefined command: "wherewhere".  Try "help".
(gdb) where
#0  0x00007fffe9db6c37 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fffe9dba028 in __GI_abort () at abort.c:89
#2  0x00007fffea6c1535 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007fffea6bf6d6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007fffea6bf703 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007fffee6a5645 in ns3::NodeListPriv::GetNode (this=0x754a10, n=4294967295) at ../src/network/model/node-list.cc:208
#6  0x00007fffee6a5cee in ns3::NodeList::GetNode (n=4294967295) at ../src/network/model/node-list.cc:244
#7  0x00007ffff518f280 in ns3::ndn::NlsrTracer::NsyncTrace (this=0x755240, arg1="/n/NLSR/sync/65375ad45d6549799fcc590a7440d0af63e5f585da684a846ee797f789be1089", arg2="outSyncData", arg3="49", arg4="449", arg5="-", arg6="-")
    at ../src/ndnSIM/utils/tracers/ndn-nlsr-tracer.cpp:230
#8  0x00007ffff542d759 in Sync::SyncLogic::sendSyncData (this=0x89aec8, name=..., digest=std::shared_ptr (count 3, weak 0) 0x22624a8, ssm=...) at ../src/ndnSIM/NLSR/nsync/sync-logic.cc:755
#9  0x00007ffff542d118 in Sync::SyncLogic::sendSyncData (this=0x89aec8, name=..., digest=std::shared_ptr (count 3, weak 0) 0x22624a8, state=std::shared_ptr (count 5, weak 0) 0x22687d8)
    at ../src/ndnSIM/NLSR/nsync/sync-logic.cc:728
#10 0x00007ffff542b74c in Sync::SyncLogic::satisfyPendingSyncInterests (this=0x89aec8, diffLog=std::shared_ptr (count 5, weak 0) 0x22687d8) at ../src/ndnSIM/NLSR/nsync/sync-logic.cc:569
#11 0x00007ffff542bc70 in Sync::SyncLogic::addLocalNames (this=0x89aec8, prefix=..., session=0, seq=3074234594102134) at ../src/ndnSIM/NLSR/nsync/sync-logic.cc:621
#12 0x00007ffff543bea2 in Sync::SyncSocket::publishDataInternal (this=0x89ae48, data=std::shared_ptr (count 3, weak 1) 0x2267618, prefix=..., session=0, seq=3074234594102134) at ../src/ndnSIM/NLSR/nsync/sync-socket.cc:100
#13 0x00007ffff543bc2d in Sync::SyncSocket::publishData (this=0x89ae48, prefix=..., session=0, buf=0x22647b8 "NoData", len=6, freshness=1000, seq=3074234594102134) at ../src/ndnSIM/NLSR/nsync/sync-socket.cc:75
#14 0x00007ffff544f922 in nlsr::SyncLogicHandler::publishSyncUpdate (this=0x894b90, updatePrefix=..., seqNo=3074234594102134) at ../src/ndnSIM/NLSR/src/communication/sync-logic-handler.cpp:298
#15 0x00007ffff544f561 in nlsr::SyncLogicHandler::publishRoutingUpdate (this=0x894b90) at ../src/ndnSIM/NLSR/src/communication/sync-logic-handler.cpp:279
#16 0x00007ffff54cfb19 in nlsr::update::PrefixUpdateProcessor::advertise (this=0x895290, request=std::shared_ptr (count 6, weak 1) 0x2264198, parameters=...) at ../src/ndnSIM/NLSR/src/update/prefix-update-processor.cpp:156
#17 0x00007ffff54cf55f in nlsr::update::PrefixUpdateProcessor::onCommandValidated (this=0x895290, request=std::shared_ptr (count 6, weak 1) 0x2264198) at ../src/ndnSIM/NLSR/src/update/prefix-update-processor.cpp:105
#18 0x00007ffff54d24c7 in std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(std::shared_ptr<ndn::Interest const> const&)>::operator()<std::shared_ptr<ndn::Interest const> const&, void> (this=0x2257f90, 
    __object=0x895290) at /usr/include/c++/4.8/functional:601
#19 0x00007ffff54d2249 in std::_Bind<std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(std::shared_ptr<ndn::Interest const> const&)> (nlsr::update::PrefixUpdateProcessor*, std::_Placeholder<1>)>::__call<void, std::shared_ptr<ndn::Interest const> const&, 0ul, 1ul>(std::tuple<std::shared_ptr<ndn::Interest const> const&>&&, std::_Index_tuple<0ul, 1ul>) (this=0x2257f90, 
    __args=<unknown type in /home/anjangam/sandbox/nlsrSIM/ns-3/build/libns3-dev-ndnSIM-debug.so, CU 0x41efe09, DIE 0x4287cd6>) at /usr/include/c++/4.8/functional:1296
#20 0x00007ffff54d1e63 in std::_Bind<std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(std::shared_ptr<ndn::Interest const> const&)> (nlsr::update::PrefixUpdateProcessor*, std::_Placeholder<1>)>::operator()<std::shared_ptr<ndn::Interest const> const&, void>(std::shared_ptr<ndn::Interest const> const&) (this=0x2257f90) at /usr/include/c++/4.8/functional:1355
#21 0x00007ffff54d1933 in std::_Function_handler<void (std::shared_ptr<ndn::Interest const> const&), std::_Bind<std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(std::shared_ptr<ndn::Interest const> const&)> (nlsr::update::PrefixUpdateProcessor*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, std::shared_ptr<ndn::Interest const> const&) (__functor=..., __args#0=std::shared_ptr (count 6, weak 1) 0x2264198)
    at /usr/include/c++/4.8/functional:2071
#22 0x00000000004233a1 in std::function<void (std::shared_ptr<ndn::Interest const> const&)>::operator()(std::shared_ptr<ndn::Interest const> const&) const (this=0x7fffffffc8e0, 
    __args#0=std::shared_ptr (count 6, weak 1) 0x2264198) at /usr/include/c++/4.8/functional:2471
#23 0x00007ffff526a294 in ndn::ValidatorConfig::checkPolicy(ndn::Interest const&, int, std::function<void (std::shared_ptr<ndn::Interest const> const&)> const&, std::function<void (std::shared_ptr<ndn::Interest const> const&, std::string const&)> const&, std::vector<std::shared_ptr<ndn::ValidationRequest>, std::allocator<std::shared_ptr<ndn::ValidationRequest> > >&) (this=0x8952b8, interest=..., nSteps=0, onValidated=..., 
    onValidationFailed=..., nextSteps=std::vector of length 0, capacity 0) at ../src/ndnSIM/ndn-cxx/src/security/validator-config.cpp:530
#24 0x00007ffff52966a7 in ndn::Validator::validate(ndn::Interest const&, std::function<void (std::shared_ptr<ndn::Interest const> const&)> const&, std::function<void (std::shared_ptr<ndn::Interest const> const&, std::string const&)> const&, int) (this=0x8952b8, interest=..., onValidated=..., onValidationFailed=..., nSteps=0) at ../src/ndnSIM/ndn-cxx/src/security/validator.cpp:54
#25 0x00007ffff53714a8 in ndn::Validator::validate(ndn::Interest const&, std::function<void (std::shared_ptr<ndn::Interest const> const&)> const&, std::function<void (std::shared_ptr<ndn::Interest const> const&, std::string const&)> const&) (this=0x8952b8, interest=..., onValidated=..., onValidationFailed=...) at ns3/ndnSIM/ndn-cxx/util/../security/validator.hpp:101
#26 0x00007ffff54cf2d4 in nlsr::update::PrefixUpdateProcessor::onInterest (this=0x895290, request=...) at ../src/ndnSIM/NLSR/src/update/prefix-update-processor.cpp:79
#27 0x00007ffff54d2425 in std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(ndn::Interest const&)>::operator()<ndn::Interest const&, void> (this=0x9d5010, __object=0x895290) at /usr/include/c++/4.8/functional:601
#28 0x00007ffff54d2165 in std::_Bind<std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(ndn::Interest const&)> (nlsr::update::PrefixUpdateProcessor*, std::_Placeholder<2>)>::__call<void, ndn::InterestFilter const&, ndn::Interest const&, 0ul, 1ul>(std::tuple<ndn::InterestFilter const&, ndn::Interest const&>&&, std::_Index_tuple<0ul, 1ul>) (this=0x9d5010, 
    __args=<unknown type in /home/anjangam/sandbox/nlsrSIM/ns-3/build/libns3-dev-ndnSIM-debug.so, CU 0x41efe09, DIE 0x4287962>) at /usr/include/c++/4.8/functional:1296
#29 0x00007ffff54d1c52 in std::_Bind<std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(ndn::Interest const&)> (nlsr::update::PrefixUpdateProcessor*, std::_Placeholder<2>)>::operator()<ndn::InterestFilter const&, ndn::Interest const&, void>(ndn::InterestFilter const&, ndn::Interest const&) (this=0x9d5010) at /usr/include/c++/4.8/functional:1355
#30 0x00007ffff54d1518 in std::_Function_handler<void (ndn::InterestFilter const&, ndn::Interest const&), std::_Bind<std::_Mem_fn<void (nlsr::update::PrefixUpdateProcessor::*)(ndn::Interest const&)> (nlsr::update::PrefixUpdateProcessor*, std::_Placeholder<2>)> >::_M_invoke(std::_Any_data const&, ndn::InterestFilter const&, ndn::Interest const&) (__functor=..., __args#0=..., __args#1=...) at /usr/include/c++/4.8/functional:2071
#31 0x00007ffff51acc31 in std::function<void (ndn::InterestFilter const&, ndn::Interest const&)>::operator()(ndn::InterestFilter const&, ndn::Interest const&) const (this=0xb30a40, __args#0=..., __args#1=...)
    at /usr/include/c++/4.8/functional:2471
#32 0x00007ffff51a9f4b in ndn::InterestFilterRecord::invokeInterestCallback (this=0xb309c8, interest=...) at ../src/ndnSIM/ndn-cxx/src/detail/interest-filter-record.hpp:59
#33 0x00007ffff51ab82e in ndn::Face::Impl::processInterestFilters (this=0x888f70, interest=...) at ../src/ndnSIM/ndn-cxx/src/detail/face-impl.hpp:152
#34 0x00007ffff51aa766 in ndn::Face::Impl::NfdFace::sendInterest(ndn::Interest const&)::{lambda()#1}::operator()() const (__closure=0x1bf8550) at ../src/ndnSIM/ndn-cxx/src/detail/face-impl.hpp:78
---Type <return> to continue, or q <return> to quit---
#35 0x00007ffff51afe94 in std::_Function_handler<void (), ndn::Face::Impl::NfdFace::sendInterest(ndn::Interest const&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/4.8/functional:2071
#36 0x00007ffff51ad10a in std::function<void ()>::operator()() const (this=0x2263a10) at /usr/include/c++/4.8/functional:2471
#37 0x00007ffff52fe08f in ns3::EventImpl* ns3::MakeEvent<void (std::function<void ()>::*)() const, std::function<void ()> >(void (std::function<void ()>::*)() const, std::function<void ()>)::EventMemberImpl0::Notify() (
    this=0x2263a00) at ./ns3/make-event.h:323
#38 0x00007fffedf80861 in ns3::EventImpl::Invoke (this=0x2263a00) at ../src/core/model/event-impl.cc:51
#39 0x00007fffedf85228 in ns3::DefaultSimulatorImpl::ProcessOneEvent (this=0x75a510) at ../src/core/model/default-simulator-impl.cc:149
#40 0x00007fffedf855a2 in ns3::DefaultSimulatorImpl::Run (this=0x75a510) at ../src/core/model/default-simulator-impl.cc:202
#41 0x00007fffedf81598 in ns3::Simulator::Run () at ../src/core/model/simulator.cc:204
#42 0x000000000041e7dc in ns3::main (argc=1, argv=0x7fffffffd278) at ../src/ndnSIM/examples/ndn-nlsr-simple.cpp:120
#43 0x000000000041ea86 in main (argc=1, argv=0x7fffffffd278) at ../src/ndnSIM/examples/ndn-nlsr-simple.cpp:133
(gdb) 


More information about the ndnSIM mailing list