<div dir="ltr">Hi,<br><br>The issue I believe pertains to the point #6 and #7 in this article. <br><a href="http://ndnsim.net/2.1/guide-to-simulate-real-apps.html">http://ndnsim.net/2.1/guide-to-simulate-real-apps.html</a><br><br>Can you please elaborate how this  code should be modified it to work? The related code which uses the io_service is here:<br><a href="https://github.com/named-data/NLSR/blob/master/nsync/sync-socket.cc#L74">https://github.com/named-data/NLSR/blob/master/nsync/sync-socket.cc#L74</a><br><br>Note that the reference to io_service is taken from the ndn::face object as recommended in point #6. <br><ul><li><p class=""><a class="" href="http://ndnsim.net/2.1/doxygen/classndn_1_1Face.html#a517205cc925595c1a194fed7a98ebfb5">ndn::Face::getIoService()</a> should be used only to obtain a reference to
<code class=""><span class="">boost::asio::io_service</span></code>.  <strong>Application MUST NOT use any methods of</strong>
<code class=""><span class="">boost::asio::io_service</span></code>, <strong>otherwise the simulation will crash.</strong></p>
<div class=""><div class=""><pre><span class="">ndn</span><span class="">::</span><span class="">Face</span> <span class="">face</span><span class="">;</span>
<span class="">...</span>
<span class="">// Supported (the rewired Scheduler implementation does not access io_service methods)</span>
<span class="">Scheduler</span> <span class="">scheduler</span><span class="">(</span><span class="">face</span><span class="">.</span><span class="">getIoService</span><span class="">());</span>

<span class="">// Not supported in ndnSIM and will result in crash</span>
<span class="">face</span><span class="">.</span><span class="">getIoService</span><span class="">().</span><span class="">stop</span><span class="">();</span>
</pre></div></div></li></ul><br><br>Program received signal SIGSEGV, Segmentation fault.<br>0x00007ffff543ee86
 in boost::asio::io_service::post<std::_Bind<std::_Mem_fn<void 
(Sync::SyncSocket::*)(std::shared_ptr<ndn::Data>, ndn::Name 
const&, unsigned long, unsigned long)> (Sync::SyncSocket*, 
std::shared_ptr<ndn::Data>, ndn::Name, unsigned long, unsigned 
long)> >(std::_Bind<std::_Mem_fn<void 
(Sync::SyncSocket::*)(std::shared_ptr<ndn::Data>, ndn::Name 
const&, unsigned long, unsigned long)> (Sync::SyncSocket*, 
std::shared_ptr<ndn::Data>, ndn::Name, unsigned long, unsigned 
long)>&&) (this=0x0, <br>    handler=<unknown type in 
/home/anilj1/sandbox/ndnSIM/ns-3/build/libns3-dev-ndnSIM-debug.so, CU 
0x3714149, DIE 0x377548c>) at 
/usr/include/boost/asio/impl/io_service.hpp:108<br>108      impl_.post(init.handler);<br>(gdb) bt<br>#0 
 0x00007ffff543ee86 in 
boost::asio::io_service::post<std::_Bind<std::_Mem_fn<void 
(Sync::SyncSocket::*)(std::shared_ptr<ndn::Data>, ndn::Name 
const&, unsigned long, unsigned long)> (Sync::SyncSocket*, 
std::shared_ptr<ndn::Data>, ndn::Name, unsigned long, unsigned 
long)> >(std::_Bind<std::_Mem_fn<void 
(Sync::SyncSocket::*)(std::shared_ptr<ndn::Data>, ndn::Name 
const&, unsigned long, unsigned long)> (Sync::SyncSocket*, 
std::shared_ptr<ndn::Data>, ndn::Name, unsigned long, unsigned 
long)>&&) (this=0x0, <br>    handler=<unknown type in 
/home/anilj1/sandbox/ndnSIM/ns-3/build/libns3-dev-ndnSIM-debug.so, CU 
0x3714149, DIE 0x377548c>) at 
/usr/include/boost/asio/impl/io_service.hpp:108<br>#1  
0x00007ffff543d846 in Sync::SyncSocket::publishData (this=0x858fe8, 
prefix=..., session=0, buf=0xb4ab48 "NoData", len=6, freshness=1000, 
seq=122045907075183)<br>    at ../src/ndnSIM/NLSR/nsync/sync-socket.cc:75<br>#2 
 0x00007ffff5452a4a in nlsr::SyncLogicHandler::publishSyncUpdate 
(this=0x855980, updatePrefix=..., seqNo=122045907075183) at 
../src/ndnSIM/NLSR/src/communication/sync-logic-handler.cpp:298<br>#3  
0x00007ffff5452689 in nlsr::SyncLogicHandler::publishRoutingUpdate 
(this=0x855980) at 
../src/ndnSIM/NLSR/src/communication/sync-logic-handler.cpp:279<br>#4  0x00007ffff547910d in nlsr::Lsdb::buildAndInstallOwnAdjLsa (this=0x855830) at ../src/ndnSIM/NLSR/src/lsdb.cpp:604<br>#5  0x00007ffff5477b2b in nlsr::Lsdb::buildAdjLsa (this=0x855830) at ../src/ndnSIM/NLSR/src/lsdb.cpp:472<br>#6 
 0x00007ffff548a6b5 in std::_Mem_fn<void 
(nlsr::Lsdb::*)()>::operator()<, void>(nlsr::Lsdb*) const 
(this=0x939680, __object=0x855830) at 
/usr/include/c++/4.8/functional:601<br>#7  0x00007ffff548925a in 
std::_Bind<std::_Mem_fn<void (nlsr::Lsdb::*)()> 
(nlsr::Lsdb*)>::__call<void, , 
0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) 
(this=0x939680, <br>    __args=<unknown type in 
/home/anilj1/sandbox/ndnSIM/ns-3/build/libns3-dev-ndnSIM-debug.so, CU 
0x3aa9a90, DIE 0x3b43cb4>) at /usr/include/c++/4.8/functional:1296<br>#8 
 0x00007ffff54874f4 in std::_Bind<std::_Mem_fn<void 
(nlsr::Lsdb::*)()> (nlsr::Lsdb*)>::operator()<, void>() 
(this=0x939680) at /usr/include/c++/4.8/functional:1355<br>#9  
0x00007ffff5484f71 in std::_Function_handler<void (), 
std::_Bind<std::_Mem_fn<void (nlsr::Lsdb::*)()> 
(nlsr::Lsdb*)> >::_M_invoke(std::_Any_data const&) 
(__functor=...)<br>    at /usr/include/c++/4.8/functional:2071<br>#10 
0x00007ffff51b09cc in std::function<void ()>::operator()() const 
(this=0x84c430) at /usr/include/c++/4.8/functional:2471<br>#11 
0x00007ffff5301a8f in ns3::EventImpl* ns3::MakeEvent<void 
(std::function<void ()>::*)() const, std::function<void ()> 
>(void (std::function<void ()>::*)() const, 
std::function<void ()>)::EventMemberImpl0::Notify() 
(this=0x84c420) at ./ns3/make-event.h:323<br>#12 0x00007fffedf8b861 in ns3::EventImpl::Invoke (this=0x84c420) at ../src/core/model/event-impl.cc:51<br>#13
 0x00007fffedf90228 in ns3::DefaultSimulatorImpl::ProcessOneEvent 
(this=0x750210) at ../src/core/model/default-simulator-impl.cc:149<br>#14 0x00007fffedf905a2 in ns3::DefaultSimulatorImpl::Run (this=0x750210) at ../src/core/model/default-simulator-impl.cc:202<br>#15 0x00007fffedf8c598 in ns3::Simulator::Run () at ../src/core/model/simulator.cc:204<br>#16 0x000000000041cbaf in ns3::main (argc=1, argv=0x7fffffffccf8) at ../src/ndnSIM/examples/ndn-nlsr-simple.cpp:86<br>#17 0x000000000041cd6e in main (argc=1, argv=0x7fffffffccf8) at ../src/ndnSIM/examples/ndn-nlsr-simple.cpp:97<br></div>