COIN-OR::LEMON - Graph Library

Opened 14 years ago

Last modified 14 years ago

#420 closed defect

Memory corruption when using IterableValueMap on Class derived from lemon Graph — at Initial Version

Reported by: Alpar Juttner Owned by: Balazs Dezso
Priority: critical Milestone: LEMON 1.3 release
Component: core Version: hg main
Keywords: Cc: ernhard.kausler@…
Revision id:

Description

A post from Bernhard Kausler on lemon-devel@…:

The following code causes a memory access error.

  • Tested for lemon 1.2.1 and the latest lemon-main sources
  • Doesn't happen for other graph maps like IdMap?

#include <lemon/list_graph.h> #include <lemon/maps.h>

using namespace lemon;

class MyGraph? : public ListDigraph? { };

int main() {

MyGraph? derived; IterableValueMap?<MyGraph?, MyGraph::Node, int> derived_m2(derived);

derived.addNode();

return 0;

}


gdb backtrace: #0 0x00000000004059a3 in lemon::IterableValueMap?<MyGraph?, lemon::ListDigraphBase::Node, int>::unlace (this=0x7fffffffdcf0, key=...) at lemon-main/lemon/maps.h:3098 #1 0x0000000000405050 in lemon::IterableValueMap?<MyGraph?, lemon::ListDigraphBase::Node, int>::add (this=0x7fffffffdcf0, key=...) at lemon-main/lemon/maps.h:3255 #2 0x00000000004026ab in lemon::AlterationNotifier?<lemon::DigraphExtender<lemon::ListDigraphBase>, lemon::ListDigraphBase::Node>::add (this=0x7fffffffdcc0, item=...) at /home/bkausler/loca/include/lemon/bits/alteration_notifier.h:356 #3 0x00000000004018a7 in lemon::DigraphExtender?<lemon::ListDigraphBase>::addNode (this=0x7fffffffdc80) at /home/bkausler/local/include/lemon/bits/graph_extender.h:269 #4 0x00000000004012c8 in lemon::ListDigraph::addNode (this=0x7fffffffdc80) at lemon-main/lemon/list_graph.h:352 #5 0x0000000000400f54 in main () at inheritance-bug.cpp:15

Change History (1)

Changed 14 years ago by Alpar Juttner

Note: See TracTickets for help on using tickets.