|
Boost : |
Subject: Re: [boost] [Graph] floyd_warshall crashes using optimzation
From: Tim Keitt (tkeitt_at_[hidden])
Date: 2013-09-06 16:20:52
Never mind. As usual, had nothing to do with optimization...
The issue with bundled properties does seem real however.
THK
On Fri, Sep 6, 2013 at 3:15 PM, Tim Keitt <tkeitt_at_[hidden]> wrote:
> I'm getting seg faults when I use optimization with
> floyd_warshall_shortest_paths. Without optimization it works fine.
>
> d here is defined as
>
> struct dmat_t
> {
> typedef std::vector<edge_weight_t> storage_t;
> dmat_t(vertex_t n) : ncol(n), storage(n * n) {}
> storage_t::iterator operator[](vertex_t row)
> {
> assert(row < ncol);
> storage.begin() + row * ncol;
> }
> vertex_t ncol;
> storage_t storage;
> };
>
> Is this from 'inf' getting optimized out or how I defined dmat_t?
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x000000000040162a in
> floyd_warshall_all_pairs_shortest_paths<boost::adjacency_list<boost::vecS,
> boost::vecS, boost::undirectedS, boost::no_property,
> boost::property<boost::edge_weight_t, double> >,
> edge_thinning_diameter_t::dmat_t,
> boost::adj_list_edge_property_map<boost::undirected_tag, double, double
> const&, unsigned long, boost::property<boost::edge_weight_t, double> const,
> boost::edge_weight_t>, std::less<double>, boost::closed_plus<double>,
> double, double> (
> zero=<optimized out>, inf=<optimized out>, combine=..., compare=...,
> d=<synthetic pointer>, g=..., w=...)
> at /usr/include/boost/graph/floyd_warshall_shortest.hpp:115
> 115 d[*firstv][*firstv2] = inf;
>
> Also, it does not seem that floyd_warshall_shortest_paths is compatible
> with bundled properties.
>
> THK
>
>
>
> --
> Timothy H. Keitt
> http://www.keittlab.org/
>
-- Timothy H. Keitt http://www.keittlab.org/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk