|
From: Michael P. <md...@tr...> - 2009-02-06 19:01:20
|
Ross Boylan writes: > ==27712== > Running 81 test cases... > ==27712== Invalid read of size 8 > ==27712== at 0x40904A: std::valarray<int>::size() const > (valarray:772) [snip] > ==27712== Address 0x5588760 is 0 bytes inside a block of size 104 > free'd > ==27712== at 0x4A1B17F: operator delete(void*) > (vg_replace_malloc.c:244) "Address [] inside a block of size [] free'd" indicates this is a read-after-free bug: The valarray<int> was delete'd before its size() method was called. Presumably the glibc error is because you also write to some of the released memory -- memory that became part of the heap's free-list structure. Michael Poole |