> There is indeed following with one stack trace, please see following
> error messages. It frees an object with std::map, but I failed to see
> why that could be a problem. I must miss something here, please
> enlighten me.
>
> ==9629==  Address 0xaebeea8 is 32 bytes inside a block of size 48 free'd
> ==9629==    at 0x4A05B9D: operator delete(void*) (vg_replace_malloc.c:342)
> ==9629==    by 0x43F9A0: ... (new_allocator.h:98)
> ==9629==    by 0x43F9C8: ...  (stl_tree.h:361)
> ==9629==    by 0x43FA15: ... (stl_tree.h:391)
> ==9629==    by 0x43FA75: ...  (stl_tree.h:1319)
> ==9629==    by 0x43FAA8: ...  (stl_map.h:523)

You are accessing an object that has been deleted. Look at the tracebacks 
where your code starts. If they are too short increase their depth 
with --num-callers=20000.  The part of the traceback you showed does not 
reveal where the object got deleted.

Look at the code between the deletion and the usage of the bad pointer. 
Normally they are not too wide apart. You could also show the code.

Christoph

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to