|
From: Nicholas N. <nj...@cs...> - 2006-05-28 07:13:11
|
On Sat, 27 May 2006, Nicholas Nethercote wrote: >> Here is the assertion: >> >> Memcheck: mc_leakcheck.c:707 (vgMemCheck_do_detect_memory_leaks): >> Assertion 'lc_shadows[i]->data + lc_shadows[i]->size <= >> lc_shadows[i+1]->data' failed. > > What we really need is another client request that tells Valgrind that an > allocated heap block should not be considered a heap block, eg. > VALGRIND_IGNORE_HEAP_BLOCK(addr). You could then call this on the superblock > as soon as it is created. I think that would solve the problem. It might be > useful for other purposes, too, eg. as an alternative to a leak suppression > for a leak you don't care about. I've implemented this, a patch is attached. It would be great if you can try it out and see if it works. (Ashley, if it's suitable for you, it would be great if you can try it too.) Try just running your code as-is, you should get an error message that is informative enough to work out how to fix things. Thanks. Nick |