Opened 10 years ago
Last modified 9 years ago
#8250 new Bugs
Bug deleting self loop edges in parallel code
Reported by: | Owned by: | ngedmond | |
---|---|---|---|
Milestone: | To Be Determined | Component: | graph |
Version: | Boost 1.53.0 | Severity: | Problem |
Keywords: | pbgl, self-loop, parallel, in_edges | Cc: |
Description
Hello,
I think I found a bug in the graph parallel library. I have a bidirectional adjacency list which has some self loop edges. When I try to delete them with remove_edge_if (or remove_out_edge_if or remove_in_edge_if) the edges are deleted, but it seems that some reference gets broken in the graph. If I iterate over the in_edges a reference to a self loop is found. But it does not happen if I iterate over the out_edges. If the graph is written in a graphviz file the self loop edges does not appear.
I think there is some broken reference into the adjacency list that keeps the in_edges.
I have two different pieces of code (one with pbgl and the other with bgl). They do the same, create a graph, delete the self-edges and print the in_edges.
Could someone have a look at this problem?
Thank you
Attachments (3)
Change History (5)
by , 10 years ago
Attachment: | pbgl_in_edges.cpp added |
---|
comment:1 by , 10 years ago
Owner: | changed from | to
---|
comment:2 by , 9 years ago
I propose a patch for this bug. The problem was in remove_in_edge from the distributed adjacency list. The "while" condition had a problem that deleted always the first in_edge in some cases.
Parallel bgl in_egdes code