[Nfd-dev] How to send command interests from NFD to NLSR?

Nick Gordon nmgordon at memphis.edu
Tue Feb 21 20:41:03 PST 2017


Junxiao,

I can only post the top #13 calls, because if I ask for more, it loops infinitely for some reason in gdb. However, I have those, and the
problem is in this code:

void
ReadvertisedRoute::scheduleRetryEvent(RetryState state, time::milliseconds delay,
                                      std::function<void()> command)
{
  BOOST_ASSERT(state != RetryState::NONE);
  if (m_retryState == RetryState::NONE || m_retryState != state) {
    m_retryState = state;
    *m_retryEventId = scheduler::schedule(delay, command); <-- line 72
  }
}

The backtrace is attached.

-Nick

On 02/21/2017 06:57 PM, Junxiao Shi wrote:
> Hi Nick
> 
> Can you include gdb 'bt full' logs, for crashes?
> See http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-May/001748.html
> 
> On Feb 21, 2017 3:33 PM, "Nick Gordon" <nmgordon at memphis.edu <mailto:nmgordon at memphis.edu>> wrote:
> 
>     NFD on that router crashes.
> 
-------------- next part --------------

#0  ndn::util::scheduler::EventId::operator! (this=this at entry=0x0) at ../src/util/scheduler.cpp:55
No locals.
#1  0x00007ffff7ae6381 in ndn::util::scheduler::EventId::operator== (this=this at entry=0x0, other=...) at ../src/util/scheduler.cpp:61
No locals.
#2  0x00000000005c2eb7 in ndn::util::scheduler::EventId::operator!= (other=..., this=0x0) at /usr/local/include/ndn-cxx/util/scheduler.hpp:84
No locals.
#3  nfd::scheduler::ScopedEventId::operator= (this=0x0, event=...) at ../core/scheduler.cpp:82
No locals.
#4  0x0000000000588149 in nfd::rib::ReadvertisedRoute::scheduleRetryEvent(nfd::rib::ReadvertisedRoute::RetryState, boost::chrono::duration<long, boost::ratio<1l, 1000l> >, std::function<void ()>) (this=this at entry=0x7fffe404a360, state=state at entry=nfd::rib::ReadvertisedRoute::ADVERTISE, delay=..., command=...) at ../rib/readvertise/readvertised-route.cpp:72
        __PRETTY_FUNCTION__ = "void nfd::rib::ReadvertisedRoute::scheduleRetryEvent(nfd::rib::ReadvertisedRoute::RetryState, boost::chrono::milliseconds, std::function<void()>)"
#5  0x000000000058179f in nfd::rib::Readvertise::<lambda(const string&)>::<lambda(nfd::rib::ReadvertisedRoute&)>::operator() (readRoute=..., __closure=0x7ffff1640f20) at ../rib/readvertise/readvertise.cpp:151
        this = 0x7fffe4030150
        newTime = @0x7ffff1640ed0: {rep_ = 100005}
        route = @0x7ffff1640ee0: {<boost::bidirectional_iterator_helper<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&>> = {<boost::bidirectional_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> >> = {<boost::forward_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > >> = {<boost::input_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > >> = {<boost::equality_comparable1<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, boost::incrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > > > >> = {<boost::incrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > > >> = {<boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > >> = {<boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> >> = {<std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, node = 0x7fffe404a360}
        rr = @0x7fffe404a360: {m_prefix = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, static npos = 18446744073709551615, m_nameBlock = {m_buffer = std::shared_ptr (count 9, weak 0) 0x7fffe4032e80, m_type = 7, m_begin = 7 '\a', m_end = 105 'i', m_size = 16, m_value_begin = 8 '\b', m_value_end = 105 'i', m_subBlocks = std::vector of length 2, capacity 2 = {{m_buffer = std::shared_ptr (count 9, weak 0) 0x7fffe4032e80, m_type = 8, m_begin = 8 '\b', m_end = 8 '\b', m_size = 5, m_value_begin = 110 'n', m_value_end = 8 '\b', m_subBlocks = std::vector of length 0, capacity 0}, {m_buffer = std::shared_ptr (count 9, weak 0) 0x7fffe4032e80, m_type = 8, m_begin = 8 '\b', m_end = 105 'i', m_size = 9, m_value_begin = 101 'e', m_value_end = 105 'i', m_subBlocks = std::vector of length 0, capacity 0}}}}, m_signer = {m_type = ndn::security::SigningInfo::SIGNER_TYPE_NULL, m_name = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, static npos = 18446744073709551615, m_nameBlock = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 7, m_begin = <error reading variable>}, m_identity = {m_impl = std::weak_ptr (empty) 0x0}, m_key = {m_impl = std::weak_ptr (empty) 0x0}, m_digestAlgorithm = ndn::DigestAlgorithm::SHA256, m_info = {m_type = -1, m_hasKeyLocator = false, m_keyLocator = {m_type = ndn::KeyLocator::KeyLocator_None, m_name = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, static npos = 18446744073709551615, m_nameBlock = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 7, m_begin = <error reading variable>}, m_keyDigest = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>, m_wire = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>}, m_otherTlvs = {<std::__cxx11::_List_base<ndn::Block, std::allocator<ndn::Block> >> = {_M_impl = {<std::allocator<std::_List_node<ndn::Block> >> = {<__gnu_cxx::new_allocator<std::_List_node<ndn::Block> >> = {<No data fields>}, <No data fields>}, _M_node = {<std::__detail::_List_node_base> = {_M_next = 0x7fffe404a588, _M_prev = 0x7fffe404a588}, _M_data = 0}}}, <No data fields>}, m_wire = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>}}, m_ribRoutes = std::vector of length 1, capacity 1 = {{entry = std::shared_ptr (count 3, weak 1) 0x7fffe402a610, route = {faceId = 259, origin = 65, flags = 1, cost = 0, expires = {d_ = {rep_ = 9223372036854775807}}, m_expirationEvent = {m_info = std::weak_ptr (empty) 0x0}}}}, m_retryState = nfd::rib::ReadvertisedRoute::ADVERTISE, m_retryEventId = std::shared_ptr (empty) 0x0}
#6  boost::multi_index::multi_index_container<nfd::rib::ReadvertisedRoute, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::const_mem_fun<nfd::rib::ReadvertisedRoute, ndn::Name const&, &nfd::rib::ReadvertisedRoute::getPrefix>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<nfd::rib::ReadvertisedRoute> >::modify_<nfd::rib::Readvertise::advertise(const nfd::rib::ReadvertisedRoute&, boost::chrono::milliseconds)::<lambda(const string&)>::<lambda(nfd::rib::ReadvertisedRoute&)> > (x=0x7fffe404a360, mod=..., this=0x7fffe4030150) at /usr/include/boost/multi_index_container.hpp:813
No locals.
#7  boost::multi_index::detail::index_base<nfd::rib::ReadvertisedRoute, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::const_mem_fun<nfd::rib::ReadvertisedRoute, ndn::Name const&, &nfd::rib::ReadvertisedRoute::getPrefix>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<nfd::rib::ReadvertisedRoute> >::final_modify_<nfd::rib::Readvertise::advertise(const nfd::rib::ReadvertisedRoute&, boost::chrono::milliseconds)::<lambda(const string&)>::<lambda(nfd::rib::ReadvertisedRoute&)> > (x=<optimised out>, mod=..., this=0x7fffe4030160) at /usr/include/boost/multi_index/detail/index_base.hpp:276
No locals.
#8  boost::multi_index::detail::ordered_index<boost::multi_index::const_mem_fun<nfd::rib::ReadvertisedRoute, ndn::Name const&, &nfd::rib::ReadvertisedRoute::getPrefix>, std::less<ndn::Name const>, boost::multi_index::detail::nth_layer<1, nfd::rib::ReadvertisedRoute, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::const_mem_fun<nfd::rib::ReadvertisedRoute, ndn::Name const&, &nfd::rib::ReadvertisedRoute::getPrefix>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<nfd::rib::ReadvertisedRoute> >, boost::mpl::vector0<mpl_::na>, boost::multi_index::detail::ordered_unique_tag>::modify<nfd::rib::Readvertise::advertise(const nfd::rib::ReadvertisedRoute&, boost::chrono::milliseconds)::<lambda(const string&)>::<lambda(nfd::rib::ReadvertisedRoute&)> > (mod=..., position=..., this=0x7fffe4030160) at /usr/include/boost/multi_index/ordered_index.hpp:421
No locals.
#9  nfd::rib::Readvertise::<lambda(const string&)>::operator() (msg=..., __closure=0x7fffe4039280) at ../rib/readvertise/readvertise.cpp:153
        dist = {_M_param = {_M_a = 18446744073709551611, _M_b = 5}}
        newTime = {rep_ = 100005}
        route = {<boost::bidirectional_iterator_helper<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&>> = {<boost::bidirectional_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> >> = {<boost::forward_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > >> = {<boost::input_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > >> = {<boost::equality_comparable1<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, boost::incrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > > > >> = {<boost::incrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > > >> = {<boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, nfd::rib::ReadvertisedRoute const*, boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> > >> = {<boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<nfd::rib::ReadvertisedRoute, std::allocator<nfd::rib::ReadvertisedRoute> > > >, std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&> >> = {<std::iterator<std::bidirectional_iterator_tag, nfd::rib::ReadvertisedRoute, long, nfd::rib::ReadvertisedRoute const*, nfd::rib::ReadvertisedRoute const&>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, node = 0x7fffe404a360}
        this = 0x7fffe4030150
        rr = @0x7fffe404a360: {m_prefix = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, static npos = 18446744073709551615, m_nameBlock = {m_buffer = std::shared_ptr (count 9, weak 0) 0x7fffe4032e80, m_type = 7, m_begin = 7 '\a', m_end = 105 'i', m_size = 16, m_value_begin = 8 '\b', m_value_end = 105 'i', m_subBlocks = std::vector of length 2, capacity 2 = {{m_buffer = std::shared_ptr (count 9, weak 0) 0x7fffe4032e80, m_type = 8, m_begin = 8 '\b', m_end = 8 '\b', m_size = 5, m_value_begin = 110 'n', m_value_end = 8 '\b', m_subBlocks = std::vector of length 0, capacity 0}, {m_buffer = std::shared_ptr (count 9, weak 0) 0x7fffe4032e80, m_type = 8, m_begin = 8 '\b', m_end = 105 'i', m_size = 9, m_value_begin = 101 'e', m_value_end = 105 'i', m_subBlocks = std::vector of length 0, capacity 0}}}}, m_signer = {m_type = ndn::security::SigningInfo::SIGNER_TYPE_NULL, m_name = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, static npos = 18446744073709551615, m_nameBlock = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 7, m_begin = <error reading variable>}, m_identity = {m_impl = std::weak_ptr (empty) 0x0}, m_key = {m_impl = std::weak_ptr (empty) 0x0}, m_digestAlgorithm = ndn::DigestAlgorithm::SHA256, m_info = {m_type = -1, m_hasKeyLocator = false, m_keyLocator = {m_type = ndn::KeyLocator::KeyLocator_None, m_name = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, static npos = 18446744073709551615, m_nameBlock = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 7, m_begin = <error reading variable>}, m_keyDigest = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>, m_wire = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>}, m_otherTlvs = {<std::__cxx11::_List_base<ndn::Block, std::allocator<ndn::Block> >> = {_M_impl = {<std::allocator<std::_List_node<ndn::Block> >> = {<__gnu_cxx::new_allocator<std::_List_node<ndn::Block> >> = {<No data fields>}, <No data fields>}, _M_node = {<std::__detail::_List_node_base> = {_M_next = 0x7fffe404a588, _M_prev = 0x7fffe404a588}, _M_data = 0}}}, <No data fields>}, m_wire = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>}}, m_ribRoutes = std::vector of length 1, capacity 1 = {{entry = std::shared_ptr (count 3, weak 1) 0x7fffe402a610, route = {faceId = 259, origin = 65, flags = 1, cost = 0, expires = {d_ = {rep_ = 9223372036854775807}}, m_expirationEvent = {m_info = std::weak_ptr (empty) 0x0}}}}, m_retryState = nfd::rib::ReadvertisedRoute::ADVERTISE, m_retryEventId = std::shared_ptr (empty) 0x0}
        retryTime = @0x7ffff1640250: {rep_ = 50000}
#10 std::_Function_handler<void(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&), nfd::rib::Readvertise::advertise(const nfd::rib::ReadvertisedRoute&, boost::chrono::milliseconds)::<lambda(const string&)> >::_M_invoke(const std::_Any_data &, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &) (__functor=..., __args#0=...) at /usr/include/c++/5/functional:1871
No locals.
#11 0x00000000004e4f45 in std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (this=<optimised out>, __args#0=...) at /usr/include/c++/5/functional:2267
No locals.
#12 0x0000000000578c29 in nfd::rib::NfdRibReadvertiseDestination::<lambda(const ControlResponse&)>::operator() (cr=..., __closure=<optimised out>) at ../rib/readvertise/nfd-rib-readvertise-destination.cpp:59
        failureCb = <optimised out>
#13 std::_Function_handler<void(const ndn::mgmt::ControlResponse&), nfd::rib::NfdRibReadvertiseDestination::advertise(const nfd::rib::ReadvertisedRoute&, std::function<void()>, std::function<void(const std::__cxx11::basic_string<char>&)>)::<lambda(const ControlResponse&)> >::_M_invoke(const std::_Any_data &, const ndn::mgmt::ControlResponse &) (__functor=..., __args#0=...) at /usr/include/c++/5/functional:1871
No locals.
#14 0x00007ffff793930f in std::function<void (ndn::mgmt::ControlResponse const&)>::operator()(ndn::mgmt::ControlResponse const&) const (__args#0=..., this=0x7fffe402fda8) at /usr/include/c++/5/functional:2267
No locals.
(More stack frames follow...)


More information about the Nfd-dev mailing list