Opened 16 years ago

Closed 15 years ago

#901 closed Bugs (Invalid)

Abort signal received using boost topological_sort

Reported by: storri Owned by: jsiek
Milestone: Component: graph
Version: None Severity:
Keywords: Cc:

Description

BOOST: 1.33.1
GCC: 4.1.1
OS: Fedora Core 6

I am receiving a abort signal from glibc when I am running the test program that is attached. You will find that the program is suppose to create a directed graph of five vertexes. I have printed out how the edges are structured so you will have a picture of the graph. I hope someone is able to help me figure out what is going wrong with this test program. So far I am stumped as to what is wrong. Figuring out the problem and its solution will help me figure out a much larger problem.

Attached is the file which shows this error. I printed out the of what is happening:

PRESENT RESULTS:
-------------------

Added edge: 1 -> 20
Number of edges is 1
Added edge: 1 -> 30
Number of edges is 2
Added edge: 1 -> 40
Number of edges is 3
Added edge: 1 -> 5
Number of edges is 4
Added edge: 20 -> 5
Number of edges is 5
Added edge: 30 -> 5
Number of edges is 6
Added edge: 40 -> 5
Number of edges is 7
1 is the parent of 20, 30, 5, 40
20 is the parent of 5
30 is the parent of 5
5 has no children
40 is the parent of 5

EXPECTED RESULTS:
---------------------
Added edge: 1 -> 20
Number of edges is 1
Added edge: 1 -> 30
Number of edges is 2
Added edge: 1 -> 40
Number of edges is 3
Added edge: 1 -> 5
Number of edges is 4
Added edge: 20 -> 5
Number of edges is 5
Added edge: 30 -> 5
Number of edges is 6
Added edge: 40 -> 5
Number of edges is 7
1 is the parent of 20, 30, 5, 40
20 is the parent of 5
30 is the parent of 5
5 has no children
40 is the parent of 5
A topological ordering 1 20 30 40 5

Change History (2)

comment:1 by storri, 16 years ago

Logged In: YES 
user_id=17558
Originator: YES

I compiled the test program with the following flags to be incredibly picky and to turn on STL debugging:

g++ -O0 -g3 -Winit-self -Wall -Werror -Wextra -ansi -pedantic -D_GLIBCXX_DEBUG -o test_dag test_dag.cpp

Attached is the backtrace of running this in gdb.
File Added: gdb.txt

comment:2 by Douglas Gregor, 15 years ago

Status: assignedclosed
Logged In: YES 
user_id=249098
Originator: NO

The test program creates vertex_index values outside the right [0, num_vertices(g)). There is no bug in the BGL itself (although it would be nice if we could protect against this error in the future).
Note: See TracTickets for help on using tickets.