[Boost-bugs] [Boost C++ Libraries] #3078: Assert failure caused by property_map with BGL bundled properties if compiled in Debug mode in VS2008 SP1

Subject: [Boost-bugs] [Boost C++ Libraries] #3078: Assert failure caused by property_map with BGL bundled properties if compiled in Debug mode in VS2008 SP1
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-05-25 11:33:40


#3078: Assert failure caused by property_map with BGL bundled properties if
compiled in Debug mode in VS2008 SP1
------------------------------------------------------+---------------------
 Reporter: Artyom Arabadji <sneg.vx_at_[hidden]> | Owner: dgregor
     Type: Bugs | Status: new
Milestone: | Component: property_map
  Version: Boost 1.38.0 | Severity: Problem
 Keywords: bgl, property_map, vs2008 |
------------------------------------------------------+---------------------
 The program attached compiles in Debug but causes an assertion failure if
 the graph contains bundled properties. The same code was tested with no
 properties attached to vertices/edges and no errors were observed.

 Here is the error:

 vector, line 160.
 Assertion Failed: Expression("this->_Has_container()", 0)

 This corresponds to the earlier call to a function on line 351 in
 property_map.hpp:

 inline R operator[](key_type v) const { return *(iter + get(index, v)) ; }

 Full stack frame from this call is:

 ////////////////////////

 std::_Vector_const_iterator<unsigned int,std::allocator<unsigned int>
>::operator+=(int _Off=47) Line 160

 std::_Vector_iterator<unsigned int,std::allocator<unsigned int>
>::operator+=(int _Off=47) Line 376

 std::_Vector_iterator<unsigned int,std::allocator<unsigned int>
>::operator+(int _Off=47) Line 382
>

 boost::iterator_property_map<std::_Vector_iterator<unsigned
 int,std::allocator<unsigned int>
>,boost::vec_adj_list_vertex_id_map<boost::property<enum
 boost::vertex_bundle_t,Clip_t,boost::no_property>,unsigned int>,unsigned
 int,unsigned int &>::operator[](unsigned int v=47) Line 351

 boost::put<boost::iterator_property_map<std::_Vector_iterator<unsigned
 int,std::allocator<unsigned int>
>,boost::vec_adj_list_vertex_id_map<boost::property<enum
 boost::vertex_bundle_t,Clip_t,boost::no_property>,unsigned int>,unsigned
 int,unsigned int &>,unsigned int &,unsigned int,unsigned int>(const
 boost::put_get_helper<unsigned int
 &,boost::iterator_property_map<std::_Vector_iterator<unsigned
 int,std::allocator<unsigned int>
>,boost::vec_adj_list_vertex_id_map<boost::property<enum
 boost::vertex_bundle_t,Clip_t,boost::no_property>,unsigned int>,unsigned
 int,unsigned int &> > & pa={...}, unsigned int k=47, const unsigned int &
 v=27) Line 321

 ////////////////////////


 This happens if program is compiled on VS2008 SP1 in DEBUG mode. If
 compiled in Release mode, program works as expected with no errors
 (atleast none that I can see). The program uses boost 1.38.0.

 Arty

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3078>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC