Boost logo

Boost Users :

Subject: [Boost-users] [Graph] Problem with large vertex ids
From: Stephen Woodbridge (woodbri_at_[hidden])
Date: 2013-05-15 11:54:10


Hi all,

I'm trying to understand/fix some bugs in pgRouting that use the boost
libraries. I know C not not C++, so I can understand most of the more
C-ish parts. We have an old bug that I believe is caused when we add an
edge and it has large vertex ids or when there is a large number between
the min and max vertex numbers.

We currently identify the min id number and down shift the ids by that,
but that does not help if I add an edge (1)->(100000000). I could
renumber all the nodes and then un-renumber them when done if I have to.

Questions:

1. is this a known limitiation in Boost graph?

2. is there a different type of adjacency list mechanism that does not
have this issue

3. currently the code crashes the database backend, ideally I would like
to catch any issues in the C++ wrapper, free memory and return an error
code to the C caller so we don't kill the server or leak lots of memory.

Here is a link to our boost wrapper code:

https://github.com/pgRouting/pgrouting/blob/sew-devel-2_0/src/dijkstra/src/boost_wrapper.cpp

We use that pattern for a lot of functions so if there is a better
pattern, I might be able to update most(all?) of the functions that use
this.

I could really use some help resolving this issue.

Meanwhile, I'm off to write a C main() to run this outside of the
database and in gdb to see whats happening.

Thanks,
   -Steve, trying to release pgRouting 2.0


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net