==32438== Memcheck, a memory error detector for x86-linux.
==32438== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==32438== Using valgrind-2.4.0, a program supervision framework for x86-linux.
==32438== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==32438==
==32438== My PID = 32438, parent PID = 31410. Prog and args are:
==32438== ../../../bin/boost/libs/ptr_container/test/ptr_set.test/gcc/debug/ptr_set
==32438== For more details, rerun with: -v
==32438==
==32438== Invalid read of size 4
==32438== at 0x1B9B03F9: __dynamic_cast (in /usr/lib/libstdc++.so.5.0.7)
==32438== by 0x80629BC: Derived_class::less_than(Base const&) const (test_data.hpp:149)
==32438== by 0x804C2E4: operator<(Base const&, Base const&) (test_data.hpp:97)
==32438== by 0x8063DC5: std::less::operator()(Base const&, Base const&) const (stl_function.h:197)
==32438== by 0x8063DA8: boost::void_ptr_indirect_fun, Base, Base>::operator()(void const*, void const*) const (indirect_fun.hpp:121)
==32438== by 0x8063E95: std::_Rb_tree, boost::void_ptr_indirect_fun, Base, Base>, std::allocator >::find(void* const&) (stl_tree.h:1271)
==32438== by 0x8063D08: std::set, Base, Base>, std::allocator >::find(void* const&) (stl_set.h:187)
==32438== by 0x805C765: boost::ptr_container_detail::ptr_set_adapter_base, Base, Base>, std::allocator >, boost::heap_clone_allocator>::find(Base const&) (ptr_set_adapter.hpp:139)
==32438== by 0x805BA98: void ptr_set_test, boost::heap_clone_allocator, std::allocator >, Base, Derived_class>() (associative_test_data.hpp:108)
==32438== by 0x804C689: test_set() (ptr_set.cpp:18)
==32438== by 0x8065CB8: boost::unit_test::ut_detail::unused boost::unit_test::ut_detail::invoker::invoke(void (*)()&) (callback.hpp:56)
==32438== by 0x806233A: boost::unit_test::ut_detail::callback0_impl_t::invoke() (callback.hpp:89)
==32438== Address 0x1BB45770 is 0 bytes inside a block of size 24 free'd
==32438== at 0x1B904CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32438== by 0x806290A: Derived_class::~Derived_class() (result_iterator.hpp:57)
==32438== by 0x80638FF: void boost::checked_delete(Base const*) (checked_delete.hpp:34)
==32438== by 0x80638DE: void boost::delete_clone(Base const*) (clone_allocator.hpp:32)
==32438== by 0x80638CA: void boost::heap_clone_allocator::deallocate_clone(Base const*) (clone_allocator.hpp:50)
==32438== by 0x80638B6: boost::ptr_container_detail::reversible_ptr_container, Base, Base>, std::allocator > >, boost::heap_clone_allocator>::null_clone_allocator::deallocate_clone(Base const*) (reversible_ptr_container.hpp:112)
==32438== by 0x80638A2: boost::ptr_container_detail::reversible_ptr_container, Base, Base>, std::allocator > >, boost::heap_clone_allocator>::null_policy_deallocate_clone(Base const*) (reversible_ptr_container.hpp:276)
==32438== by 0x8063864: _ZN5boost20ptr_container_detail24reversible_ptr_containerINS0_10set_configI4BaseSt3setIPvNS_21void_ptr_indirect_funISt4lessIS3_ES3_S3_EESaIS5_EEEENS_20heap_clone_allocatorEE6removeINS_17void_ptr_iteratorISt17_Rb_tree_iteratorIS5_RKS5_PSI_ES3_EEEEvT_ (reversible_ptr_container.hpp:226)
==32438== by 0x806383C: _ZN5boost20ptr_container_detail24reversible_ptr_containerINS0_10set_configI4BaseSt3setIPvNS_21void_ptr_indirect_funISt4lessIS3_ES3_S3_EESaIS5_EEEENS_20heap_clone_allocatorEE6removeINS_17void_ptr_iteratorISt17_Rb_tree_iteratorIS5_RKS5_PSI_ES3_EEEEvT_SN_ (reversible_ptr_container.hpp:233)
==32438== by 0x8063312: boost::ptr_container_detail::reversible_ptr_container, Base, Base>, std::allocator > >, boost::heap_clone_allocator>::remove_all() (reversible_ptr_container.hpp:206)
==32438== by 0x805C99C: boost::ptr_container_detail::reversible_ptr_container, Base, Base>, std::allocator > >, boost::heap_clone_allocator>::clear() (reversible_ptr_container.hpp:463)
==32438== by 0x805A51D: void ptr_set_test, boost::heap_clone_allocator, std::allocator >, Base, Derived_class>() (associative_test_data.hpp:66)
==32438==
==32438== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 19 from 1)
==32438== malloc/free: in use at exit: 9960 bytes in 5 blocks.
==32438== malloc/free: 62 allocs, 57 frees, 47320 bytes allocated.
==32438== For counts of detected errors, rerun with: -v
==32438== searching for pointers to 5 not-freed blocks.
==32438== checked 251624 bytes.
==32438==
==32438== LEAK SUMMARY:
==32438== definitely lost: 0 bytes in 0 blocks.
==32438== possibly lost: 0 bytes in 0 blocks.
==32438== still reachable: 9960 bytes in 5 blocks.
==32438== suppressed: 0 bytes in 0 blocks.
==32438== Reachable blocks (those to which a pointer was found) are not shown.
==32438== To see them, rerun with: --show-reachable=yes