
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_iterator<boost::default_color_type*, std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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::put<boost::iterator_property_map<__gnu_cxx::__normal_iterator<boost::default_color_type*, std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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_search<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::infrastructure::Component>, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, boost::queue<void*, std::deque<void*, std::allocator<void*> > >, libreverse::visitor::Graph_Visitor, boost::iterator_property_map<__gnu_cxx::__normal_iterator<boost::default_color_type*, std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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::bfs_visitor<boost::null_visitor>> = {m_vis = {<> = {<No data fields>}, <No data fields>}}, m_graph_ref = @0x81e70c8, m_data_map = 0xbff21970}, color= {<boost::put_get_helper<boost::default_color_type&,boost::iterator_property_map<__gnu_cxx::__normal_iterator<boost::default_color_type*, std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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 = {<boost::put_get_helper<const unsigned int&,boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<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_helper<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::infrastructure::Component>, boost::no_property> >, boost::no_property, boost::no_property, boost::listS>, boost::iterator_property_map<__gnu_cxx::__normal_iterator<boost::default_color_type*, std::vector<boost::default_color_type, std::allocator<boost::default_color_ty---Type <return> to continue, or q <return> to quit--- pe> > >, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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::put_get_helper<boost::default_color_type&,boost::iterator_property_map<__gnu_cxx::__normal_iterator<boost::default_color_type*, std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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 = {<boost::put_get_helper<const unsigned int&,boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<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::bfs_visitor<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_dispatch<boost::detail::error_property_not_found>::apply<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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_search<boost::adjacency_list<boost::setS, boost::setS, boost::directedS, boost::property<boost::vertex_index_t, unsigned int, boost::property<boost::vertex_name_t, boost::shared_ptr<libreverse::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