[Boost-bugs] [Boost C++ Libraries] #1072: assertion failed in dijkstra algorithm

Subject: [Boost-bugs] [Boost C++ Libraries] #1072: assertion failed in dijkstra algorithm
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2007-07-02 14:33:20


#1072: assertion failed in dijkstra algorithm
-------------------------------+--------------------------------------------
 Reporter: buola69_at_[hidden] | Type: Bugs
   Status: new | Milestone: To Be Determined
Component: graph | Version: release 1.34.0
 Severity: Showstopper | Keywords:
-------------------------------+--------------------------------------------
 a call to dijkstra_shortest_paths fails with the following assertion:

 /usr/include/boost/pending/relaxed_heap.hpp:175: IndexedType&
 boost::relaxed_heap<IndexedType, Compare, ID>::top() [with IndexedType =
 int, Compare = boost::indirect_cmp<boost::STempNodeMap<double>,
 std::less<double> >, ID = boost::SVertexIndexMap]: Assertion
 `smallest_value->value != 0' failed.

 It happens if a valid vertex_descriptor in my graph is 0, which shouldn't
 be a problem as I define null_vertex() in my graph_traits to return -1.

 I have checked the code in relaxed_heap, and though I don't really
 understand how it works, I don't see any reason why this assertion
 shouldn't be assert(smallest_value != 0) instead.

 Everything works fine if I increase all my vertex_descriptors by 1, but I
 don't see why I can't have a valid vertex_descriptor which is 0.

--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1072>
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:49:55 UTC