<div dir="ltr"><div><div>Greetings again ndnSIM friends,<br><br></div><div>As requested:<br><br>---------------------<br><b>(gdb) run<br>Starting program: /home/jpbaugh/ndnSIM/my-simulations/build/jpb-pop1 <br>[Thread debugging using libthread_db enabled]<br>Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".<br>Inside ctor for PStrat<br>Inside ctor for PStrat<br>Inside ctor for PStrat<br>Inside ctor for PStrat<br>In jpb-pop1 main: 0x7fffffffd6a0<br>About to get forwarder<br>Just got forwarder.  About to get strategy choice<br>Just got strategy choice, about to get effectiveStrategy<br>Just got effective strategy, about to set popularity manager for it.<br>About to set Popularity Manager inside PStrat<br>Before assignment line<br><br>Program received signal SIGSEGV, Segmentation fault.<br>std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x2710)<br>    at /usr/include/c++/5/bits/shared_ptr_base.h:147<br>147        if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)<br><span style="color:rgb(255,0,0)">(gdb) bt full</span><br>#0  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x2710)<br>    at /usr/include/c++/5/bits/shared_ptr_base.h:147<br>No locals.<br>#1  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (<br>    this=<optimized out>, __in_chrg=<optimized out>)<br>    at /usr/include/c++/5/bits/shared_ptr_base.h:659<br>No locals.<br>#2  std::__shared_ptr<PopularityManager, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, __in_chrg=<optimized out>)<br>    at /usr/include/c++/5/bits/shared_ptr_base.h:925<br>No locals.<br>#3  std::__shared_ptr<PopularityManager, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<PopularityManager, (__gnu_cxx::_Lock_policy)2>&&) (<br>    __r=<optimized out>, this=0x75fc50)<br>    at /usr/include/c++/5/bits/shared_ptr_base.h:1000<br>No locals.<br>#4  std::shared_ptr<PopularityManager>::operator=(std::shared_ptr<PopularityManager>&&) (__r=<optimized out>, this=0x75fc50)<br>    at /usr/include/c++/5/bits/shared_ptr.h:294<br>No locals.<br>#5  nfd::fw::PStrat::setPopularityManager (this=0x75fba0, pm=...)<br>    at ../extensions/PStrat.cpp:56<br>No locals.<br>---Type <return> to continue, or q <return> to quit---<br>#6  0x0000000000407fb9 in ns3::main (argc=<optimized out>, <br>    argv=<optimized out>) at ../scenarios/jpb-pop1.cpp:120<br>        cmd = {<br>          m_items = {<std::__cxx11::_List_base<ns3::CommandLine::Item*, std::allocator<ns3::CommandLine::Item*> >> = {<br>              _M_impl = {<std::allocator<std::_List_node<ns3::CommandLine::Item*> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::CommandLine::Item*> >> = {<No data fields>}, <No data fields>}, <br>                _M_node = {<std::__detail::_List_node_base> = {<br>                    _M_next = 0x7fffffffdc60, _M_prev = 0x7fffffffdc60}, <br>                  _M_data = 0}}}, <No data fields>}, m_usage = "", <br>          m_name = "jpb-pop1"}<br>        nodes = {m_nodes = std::vector of length 4, capacity 4 = {{<br>              m_ptr = 0x67f7f0}, {m_ptr = 0x67f730}, {m_ptr = 0x67fa30}, {<br>              m_ptr = 0x67fb30}}}<br>        p2p = {<ns3::PcapHelperForDevice> = {<br>            _vptr.PcapHelperForDevice = 0x61c618 <vtable for ns3::PointToPointHelper+16>}, <ns3::AsciiTraceHelperForDevice> = {<br>            _vptr.AsciiTraceHelperForDevice = 0x61c648 <vtable for ns3::PointToPointHelper+64>}, m_queueFactory = {m_tid = {m_tid = 56}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConst---Type <return> to continue, or q <return> to quit---<br>ructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, <br>                    _M_node = {<std::__detail::_List_node_base> = {<br>                        _M_next = 0x7fffffffd9d8, _M_prev = 0x7fffffffd9d8}, <br>                      _M_data = 0}}}, <No data fields>}}}, m_channelFactory = {<br>            m_tid = {m_tid = 198}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, <br>                    _M_node = {<std::__detail::_List_node_base> = {<br>                        _M_next = 0x7fffffffd9f8, _M_prev = 0x7fffffffd9f8}, <br>                      _M_data = 0}}}, <No data fields>}}}, <br>          m_remoteChannelFactory = {m_tid = {m_tid = 199}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, <br>                    _M_node = {<std::__detail::_List_node_base> = {<br>                        _M_next = 0x7fffffffda18, _M_prev = 0x7fffffffda18}, <br>                      _M_data = 0}}}, <No data fields>}}}, m_deviceFactory = {<br>            m_tid = {m_tid = 197}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, <br>                    _M_node = {<std::__detail::_List_node_base> = {<br>                        _M_next = 0x7fffffffda38, _M_prev = 0x7fffffffda38}, <br>                      _M_data = 0}}}, <No data fields>}}}}<br>        ndnHelper = {<boost::noncopyable_::noncopyable> = {<No data fields>}, <br>          _vptr.StackHelper = 0x7ffff5bed7b0 <vtable for ns3::ndn::StackHelper+16>, m_isRibManagerDisabled = false, <br>          m_isForwarderStatusManagerDisabled = false, <br>          m_isStrategyChoiceManagerDisabled = false, m_ndnFactory = {m_tid = {<br>              m_tid = 603}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, <br>                    _M_node = {<std::__detail::_List_node_base> = {<br>                        _M_next = 0x7fffffffdcd8, _M_prev = 0x7fffffffdcd8}, <br>                      _M_data = 0}}}, <No data fields>}}}, <br>          m_contentStoreFactory = {m_tid = {m_tid = 568}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, <br>                    _M_node = {<std::__detail::_List_node_base> = {<br>                        _M_next = 0x7fffffffdcf8, _M_prev = 0x7fffffffdcf8}, <br>                      _M_data = 0}}}, <No data fields>}}}, <br>          m_needSetDefaultRoutes = true, m_maxCsSize = 100, <br>---Type <return> to continue, or q <return> to quit---<br>          nc = {<std::_Maybe_unary_or_binary_function<std::unique_ptr<nfd::cs::Policy, std::default_delete<nfd::cs::Policy> > >> = {<No data fields>}, <std::_Function_base> = {<br>              static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, <br>                _M_pod_data = '\000' <repeats 15 times>}, <br>              _M_manager = 0x7ffff54f5000 <std::_Function_base::_Base_manager<ns3::ndn::StackHelper::StackHelper()::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, <br>            _M_invoker = 0x7ffff54f5040 <std::_Function_handler<std::unique_ptr<nfd::cs::Policy, std::default_delete<nfd::cs::Policy> >(), ns3::ndn::StackHelper::StackHelper()::<lambda()> >::_M_invoke(const std::_Any_data &)>}, m_csPolicies = std::map with 2 elements = {<br>            ["nfd::cs::lru"] = {<std::_Maybe_unary_or_binary_function<std::unique_ptr<nfd::cs::Policy, std::default_delete<nfd::cs::Policy> > >> = {<No data fields>}, <std::_Function_base> = {<br>                static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x6d20656874207361, _M_const_object = 0x6d20656874207361, <br>                    _M_function_pointer = 0x6d20656874207361, _M_member_pointer = &virtual table offset 7863396448688173920, this adjustment 8151635676654827617}, _M_pod_data = "as the maximum q"}, <br>                _M_manager = 0x7ffff54f5000 <std::_Function_base::_Base_manager<ns3::ndn::StackHelper::StackHelper()::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, <br>              _M_invoker = 0x7ffff54f5040 <std::_Function_handler<std::unique_ptr<nfd::cs::Policy, std::default_delete<nfd::cs::Policy> >(), ns3::ndn::StackHelper::StackHelper()::<lambda()> >::_M_invoke(const std::_Any_data &)>}, <br>            ["nfd::cs::priority_fifo"] = {<std::_Maybe_unary_or_binary_function<std::unique_ptr<nfd::cs::Policy, std::default_delete<nfd::cs::Policy> > >> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, <br>                  _M_pod_data = "\000\000\000\000\000\000\000\000\060\001\000\000\000\000\000"}, <br>                _M_manager = 0x7ffff54f5020 <std::_Function_base::_Base_manager<ns3::ndn::StackHelper::StackHelper()::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, <br>              _M_invoker = 0x7ffff54f50d0 <std::_Function_handler<std::unique_ptr<nfd::cs::Policy, std::default_delete<nfd::cs::Policy> >(), ns3::ndn::StackHelper::StackHelper()::<lambda()> >::_M_invoke(const std::_Any_data &)>}}, <br>          m_netDeviceCallbacks = {<std::__cxx11::_List_base<std::pair<ns3::TypeId, ns3::Callback<std::shared_ptr<nfd::face::Face>, ns3::Ptr<ns3::Node>, ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> >, std::allocator<std::pair<ns3::TypeId, ns3::Callback<std::shared_ptr<nfd::face::Face>, ns3::Ptr<ns3::Node>, ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> > > >> = {<br>              _M_impl = {<std::allocator<std::_List_node<std::pair<ns3::TypeId, ns3::Callback<std::shared_ptr<nfd::face::Face>, ns3::Ptr<ns3::Node>, ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> > > >> = {<__gnu_cxx::new_allocator<std::_List_node<std::pair<ns3::TypeId, ns3::Callback<std::shared_ptr<nfd::face::Face>, ns3::Ptr<ns3::Node>, ns3::Ptr<ns3::ndn::L3Protocol>, ns3::Ptr<ns3::NetDevice>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> > > >> = {<No data fields>}, <No data fields>}, <br>                _M_node = {<std::__detail::_List_node_base> = {_M_next = 0x682740, _M_prev = 0x682740}, _M_data = 1}}}, <No data fields>}}<br>        ndnGlobalRoutingHelper = {<No data fields>}<br>        l3 = {m_ptr = 0x760140}<br>        popularityManager = std::shared_ptr (count 2, weak 0) 0x7b0820<br>        forwarder = std::shared_ptr (count 2, weak 0) 0x75f860<br>        effectiveStrategy = @0x75fba0: {<nfd::fw::Strategy> = {<std::enable_shared_from_this<nfd::fw::Strategy>> = {<br>              _M_weak_this = std::weak_ptr (empty) 0x0}, <boost::noncopyable_::noncopyable> = {<No data fields>}, _vptr.Strategy = 0x7ffff5c06c48 <vtable for nfd::fw::BestRouteStrategy2+16>, <br>            afterAddFace = @0x75f8e8, beforeRemoveFace = @0x75f910, m_name = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, <br>              static npos = 18446744073709551615, m_nameBlock = {m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>}, m_forwarder = @0x75f860, <br>            m_measurements = {<boost::noncopyable_::noncopyable> = {<No data fields>}, m_measurements = @0x75fa30, m_strategyChoice = @0x75fa40, m_strategy = 0x75fba0}}, <br>          static STRATEGY_NAME = {<std::enable_shared_from_this<ndn::Name>> = {_M_weak_this = std::weak_ptr (empty) 0x0}, static npos = 18446744073709551615, m_nameBlock = {<br>              m_buffer = std::shared_ptr (empty) 0x0, m_type = 4294967295, m_begin = <error reading variable>}, popularityManager = std::shared_ptr (count 1, weak 0) 0x7b54c0}<br>        policy = std::unique_ptr<PopularityPolicy> containing 0x7fffffffd6b0<br>        consumerHelper = {m_factory = {m_tid = {m_tid = 55264}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, _M_node = {<std::__detail::_List_node_base> = {<br>                        _M_next = 0x7fffee7cb87d <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long)+125>, _M_prev = 0x7fffeea2c1c0}, <br>                      _M_data = 140737194490703}}}, <No data fields>}}}}<br>        consumerHelper2 = {m_factory = {m_tid = {m_tid = 55704}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, _M_node = {<std::__detail::_List_node_base> = {_M_next = 0x7fffffffd998, _M_prev = 0x70}, _M_data = 140737194491224}}}, <No data fields>}}}}<br>        producerHelper = {m_factory = {m_tid = {m_tid = 55280}, m_parameters = {<br>              m_list = {<std::__cxx11::_List_base<ns3::AttributeConstructionList::Item, std::allocator<ns3::AttributeConstructionList::Item> >> = {<br>                  _M_impl = {<std::allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<__gnu_cxx::new_allocator<std::_List_node<ns3::AttributeConstructionList::Item> >> = {<No data fields>}, <No data fields>}, _M_node = {<std::__detail::_List_node_base> = {_M_next = 0x0, _M_prev = 0x7fff00000002}, _M_data = 20}}}, <No data fields>}}}}<br>#7  0x00007fffedde4830 in __libc_start_main (main=0x408cb0 <main(int, char**)>, argc=1, argv=0x7fffffffde98, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, <br>    stack_end=0x7fffffffde88) at ../csu/libc-start.c:291<br>---Type <return> to continue, or q <return> to quit---<br>        result = <optimized out><br>        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -3029923319900902443, 4231824, 140737488346768, 0, 0, 3029923876187565013, 3029893360785714133}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, <br>              0x1, 0x408cb0 <main(int, char**)>}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}<br>        not_first_call = <optimized out><br>#8  0x00000000004092b9 in _start ()<br>No symbol table info available.</b><br><br><br><br>---------------------<br></div><div><br></div>Thanks,<br><br></div>John<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 11, 2017 at 8:43 AM, Junxiao Shi <span dir="ltr"><<a href="mailto:shijunxiao@email.arizona.edu" target="_blank">shijunxiao@email.arizona.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>`bt full` is better than `bt` as it shows local variables. See <a href="http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-May/001748.html" target="_blank">http://www.lists.cs.ucla.<wbr>edu/pipermail/nfd-dev/2016-<wbr>May/001748.html</a><span class=""><br><div class="gmail_extra"><br><div class="gmail_quote">On Apr 11, 2017 05:27, "Ashlesh Gawande (agawande)" <<a href="mailto:agawande@memphis.edu" target="_blank">agawande@memphis.edu</a>> wrote:<br type="attribution"><blockquote class="m_-6992279633347392766quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>

<div id="m_-6992279633347392766m_4568186287660411609divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif" dir="ltr">
<p>So after gdb is done you need to put bt to get the backtrace:</p>
<p></p><div class="m_-6992279633347392766quoted-text"><br style="color:rgb(33,33,33);font-size:15px">
<b style="color:rgb(33,33,33);font-size:15px">Program received signal SIGSEGV, Segmentation fault.</b><b style="color:rgb(33,33,33);font-size:15px"><br>
std::_Sp_counted_base<(__gnu_c<wbr>xx::_Lock_policy)2>::_M_releas<wbr>e (this=0x2710)</b><b style="color:rgb(33,33,33);font-size:15px"><br>
    at /usr/include/c++/5/bits/shared<wbr>_ptr_base.h:147</b><b style="color:rgb(33,33,33);font-size:15px"><br>
147        if (__gnu_cxx::__exchange_and_add<wbr>_dispatch(&_M_use_count, -1) == 1)</b></div><b style="color:rgb(33,33,33);font-size:15px"><br>
(gdb) bt</b><br style="color:rgb(33,33,33);font-size:15px">
<br>
<p></p>
<p>Ashlesh</p></div></div></blockquote></div></div></span></div></div>
</blockquote></div><br></div>