I took the code from boost-trunk/libs/graph/example/components_on_edgelist.cpp
compiled with
g++ components_on_edgelist.cpp -I/work2/arm2arm/SOFTWARE/BOOST-SVN/include/ -o components_on_edgelist.x
and
valgrind components_on_edgelist.x

i did not change the components_on_edgelist.cpp file from svn.


On Thu, May 6, 2010 at 7:00 PM, Jeremiah Willcock <jewillco@osl.iu.edu> wrote:
On Thu, 6 May 2010, Arman Khalatyan wrote:

Thanks for pointing it.
The incremental_components is still broken. The bug is not fixed yet.
Using valgrind I see it:

An undirected graph (edge list):
(0,1) (1,4) (4,0) (2,5)

==8635== Invalid read of size 8
==8635==    at 0x40201F: unsigned long boost::detail::find_representative_with_full_compression<unsigned long*, unsigned long>(unsigned
long*, unsigned long) (disjoint_sets.hpp:33)
==8635==    by 0x401A7E: unsigned long boost::find_with_full_path_compression::operator()<unsigned long*, unsigned long>(unsigned long*,
unsigned long) (disjoint_sets.hpp:30)
==8635==    by 0x401444: int boost::disjoint_sets_with_storage<boost::typed_identity_property_map<unsigned long>,
boost::typed_identity_property_map<unsigned long>, boost::find_with_full_path_compression>::find_set<int>(int) (disjoint_sets.hpp:167)
==8635==    by 0x401A2A: void boost::disjoint_sets_with_storage<boost::typed_identity_property_map<unsigned long>,
boost::typed_identity_property_map<unsigned long>, boost::find_with_full_path_compression>::union_set<int>(int, int)
(disjoint_sets.hpp:161)
==8635==    by 0x40139D: void boost::incremental_components<boost::edge_list<std::pair<int, int>*, std::pair<int, int>, long,
std::random_access_iterator_tag>, boost::disjoint_sets_with_storage<boost::typed_identity_property_map<unsigned long>,
boost::typed_identity_property_map<unsigned long>, boost::find_with_full_path_compression> >(boost::edge_list<std::pair<int, int>*,
std::pair<int, int>, long, std::random_access_iterator_tag>&, boost::disjoint_sets_with_storage<boost::typed_identity_property_map<unsigned
long>, boost::typed_identity_property_map<unsigned long>, boost::find_with_full_path_compression>&) (incremental_components.hpp:59)
==8635==    by 0x400DD2: main (components_on_edgelist.cpp:72)
==

Do you have a complete source file I can try out to reproduce this?

-- Jeremiah Willcock

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users



--
------------------------------------------
Dr Arman Khalatyan,
Observatoire Astronomique de Marseille-Provence
Laboratoire d'Astrophysique de Marseille
-----------------------------------------