Project

General

Profile

Bug #1790

Updated by Syed Amin almost 10 years ago

I am running NLSR on 10 emulab nodes. There is a script that runs nfd first and then nlsr. If I run this script manually at each node with 2 to 3 seconds delay of going from node to another, the nlsr works fine. However, when I execute the script simultaneously at each node (using a scheduler or by broadcasting the command to all terminals) then nlsr quits giving following error: 
 <pre> 
 terminate called after throwing an instance of 'ndn::SecPublicInfoSqlite3::Error' 
   what():    Key does not exist:/ndn/caida/%C1.Router/router1/NLSR/ksk-1406145072693 
 </pre> 

 At one point I also got this error: 
 <pre> 
 nlsr: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: boost::shared_ptr<T>::reference boost::shared_ptr<T>::operator*() const [with T = ndn::IdentityCertificate, boost::shared_ptr<T>::reference = ndn::IdentityCertificate&]: Assertion `px != 0' failed. 
 </pre> 

 The home folder in emulab is shared among all nodes, where I guess the keys are stored. Not sure but do you think that the concurrent access to that folder may be causing this error. 
 My guess is the keys are stored in the home folder, which is shared between all nodes in emulab. So when all nodes try to access the same location, we get error.   

Back