Hi, I am currently profiling a XORP routing process with Valgrind to eliminate memory leaks.
Testing is being done on FreeBSD 6.3-RELEASE. I tracked a false positive down to the C library stdio buffers (setvbuf() etc) and added it to my suppressions file. I see the following two Valgrind warnings: ==51163== 80 bytes in 4 blocks are definitely lost in loss record 1 of 14 ==51163== at 0x3C0382F3: operator new(unsigned) (in /usr/local/lib/valgrind/vgpreload_memcheck.so) ==51163== by 0x815B2B5: TimerList::find_heap(int) (timer.cc:304) ==51163== by 0x815C003: TimerList::schedule_node(TimerNode*) (timer.hh:483) ==51163== by 0x815AD32: TimerNode::schedule_after(TimeVal const&, int) (timer.cc:143) ==51163== ==51163== ==51163== 96 bytes in 8 blocks are definitely lost in loss record 4 of 14 ==51163== at 0x3C0382F3: operator new(unsigned) (in /usr/local/lib/valgrind/vgpreload_memcheck.so) ==51163== by 0x8159D9D: TaskList::find_round_robin(int) (task.cc:225) ==51163== by 0x8159E05: TaskList::schedule_node(TaskNode*) (task.hh:48) ==51163== by 0x8159880: TaskNode::schedule(int, int) (task.cc:64) Are these leaks in the heap code, or am I seeing false positives? Briefly looking at the code it looks like there is the opportunity for TaskNodes to be leaked as TaskList has no destructor. Cheers BMS P.S. If anyone can suggest a way of tricking the Router Manager into running my routing process under Valgrind, I would like to know. %modinfo: path in the template file doesn't cut it, I suspect I need to hack the Router Manager to do this. _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
