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 , 13 years ago
| Resolution: | None → worksforme |
|---|---|
| Severity: | → Showstopper |
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.

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