I am receiving a segmentation fault in boost::iterator_property_map for
the following code.
// Prepare Data
infrastructure::Graph_Base::Data_Map_t m_data_map;
// Process Graph
visitor::Graph_Visitor graph_visitor_ref ( *graph_ptr,
&m_data_map );
// Segmentation fault starts here
boost::breadth_first_search
( graph_ptr->get_Graph(), // Grabs the adjacency list
reference
graph_ptr->get_Vertex ( 1 ), // Grabs the first vertex
descriptor
boost::visitor ( graph_visitor_ref ) ); // Call visitor
(line 218)
Here is the backtrace:
#0 0x00d343ff in boost::iterator_property_map<__gnu_cxx::__normal_iteratorboost::default_color_type > >, boost::adj_list_vertex_property_maplibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, unsigned int const&, boost::vertex_index_t>, boost::default_color_type, boost::default_color_type&>::operator[] (this=0xbff21818, v=0x4) at /usr/include/boost/property_map.hpp:349
#1 0x00d3445a in boost::putboost::default_color_type > >, boost::adj_list_vertex_property_maplibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, unsigned int const&, boost::vertex_index_t>, boost::default_color_type, boost::default_color_type&>, boost::default_color_type&, void*, boost::default_color_type> (pa=@0xbff21818, k=0x4, v=@0xbff217ec)
at /usr/include/boost/property_map.hpp:319
#2 0x00d3b4d0 in boost::breadth_first_searchlibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, boost::queue > >, libreverse::visitor::Graph_Visitor, boost::iterator_property_map<__gnu_cxx::__normal_iteratorboost::default_color_type > >, boost::adj_list_vertex_property_maplibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, unsigned int const&, boost::vertex_index_t>, boost::default_color_type, boost::default_color_type&> > (g=@0x81e70c8, s=0x81e6c10, Q=@0xbff21830, vis=
{boost::null_visitor> = {m_vis = {<> = {<No data fields>}, <No data fields>}}, m_graph_ref = @0x81e70c8, m_data_map = 0xbff21970}, color=
{boost::default_color_type > >, boost::adj_list_vertex_property_maplibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, const unsigned int&, boost::vertex_index_t>, boost::default_color_type, boost::default_color_type&> >> = {<No data fields>}, iter = {_M_current = 0x81ec4b0}, index = {libreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, const unsigned int&, boost::vertex_index_t> >> = {<No data fields>}, <No data fields>}})
at /usr/include/boost/graph/breadth_first_search.hpp:97
#3 0x00d3b5f0 in boost::detail::bfs_helperlibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, boost::iterator_property_map<__gnu_cxx::__normal_iterator > >, boost::adj_list_vertex_property_maplibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, unsigned int const&, boost::vertex_index_t>, boost::default_color_type, boost::default_color_type&>, libreverse::visitor::Graph_Visitor, libreverse::visitor::Graph_Visitor, boost::graph_visitor_t, boost::no_property> (g=@0x81e70c8, s=0x81e6c10, color=
{boost::default_color_type > >, boost::adj_list_vertex_property_maplibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, const unsigned int&, boost::vertex_index_t>, boost::default_color_type, boost::default_color_type&> >> = {<No data fields>}, iter = {_M_current = 0x81ec4b0}, index = {libreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, unsigned int, const unsigned int&, boost::vertex_index_t> >> = {<No data fields>}, <No data fields>}}, vis=
{boost::null_visitor> = {m_vis = {<> = {<No data fields>}, <No data fields>}}, m_graph_ref = @0x81e70c8, m_data_map = 0xbff21970}, params=@0xbff219ac) at /usr/include/boost/graph/breadth_first_search.hpp:185
#4 0x00d3b7c0 in boost::detail::bfs_dispatchboost::detail::error_property_not_found::applylibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, libreverse::visitor::Graph_Visitor, boost::graph_visitor_t, boost::no_property> (g=@0x81e70c8, s=0x81e6c10,
params=@0xbff219ac) at /usr/include/boost/graph/breadth_first_search.hpp:226
#5 0x00d3b84a in boost::breadth_first_searchlibreverse::infrastructure::Component, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, libreverse::visitor::Graph_Visitor, boost::graph_visitor_t, boost::no_property> (g=@0x81e70c8, s=0x81e6c10, params=@0xbff219ac)
at /usr/include/boost/graph/breadth_first_search.hpp:255
#6 0x00d2fa8c in libreverse::api::Reverse_Impl::process_Graph (this=0xbff21aeb, graph_ptr=@0xbff21a30, val=@0xbff21a28)
at Reverse_Impl.cpp:218
I checked the graph_ptr and it appears to be initialized correctly. At
frame #0, the value of 'v' is 0x4. Is there a way to print out more
information to figure out why I am getting a segfault?
Am I asking my questions in the right place? I say that because I have
posted quite a few messages recently with no one responding.
Stephen