Opened 16 years ago

Closed 13 years ago

#815 closed Bugs (worksforme)

remove_edge core dumps on self-circle

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

Description

This is uncovered while using in bioconductor's RBGL.

This is tested on boost_1_33_1 with modified test codes, adjacency_list.cpp:

bash-3.00$ cd download/boost_1_33_1/libs/graph/example/
bash-3.00$ diff adjacency_list.cpp bug_remove_vertex.cpp
78a79,81
>   // test removal of self-circle
>   add_edge(vertex(3, g), vertex(3, g), EdgeProperties("test"), g);
>
88a92,94
>   cout << endl << "removing edge (3,3): " << endl;
>   remove_edge(vertex(3, g), vertex(3, g), g);
>
bash-3.00$ g++ bug_remove_vertex.cpp -I../../../ -lm
bash-3.00$ ./a.out
0  --joe--> 1
1  --joe--> 0   --curly--> 2   --dick--> 3
2  --curly--> 1   --tom--> 4
3  --dick--> 1   --harry--> 4   --LL--> 3   --LL--> 3
4  --tom--> 2   --harry--> 3
(0,1) (1,2) (1,3) (2,4) (3,4) (3,3)

removing edge (3,3):
*** glibc detected *** double free or corruption (out): 0x0889f288 ***
Aborted (core dumped)

Seems like it needs an additional test for edges like A -- A.

Thanks

lilong@isb-sib.ch



Change History (1)

comment:1 by Jeremiah Willcock, 13 years ago

Resolution: Noneworksforme
Severity: Showstopper
Status: assignedclosed

I had no problems, even running under valgrind or glibc++'s debug mode.

Note: See TracTickets for help on using tickets.