[Boost-bugs] [Boost C++ Libraries] #3920: Boost unit test - incorrect memory read

Subject: [Boost-bugs] [Boost C++ Libraries] #3920: Boost unit test - incorrect memory read
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-02-11 13:05:58


#3920: Boost unit test - incorrect memory read
-------------------------------+--------------------------------------------
 Reporter: habdank@… | Owner: rogeeff
     Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: test
  Version: Boost 1.40.0 | Severity: Problem
 Keywords: |
-------------------------------+--------------------------------------------
 Dears,

 During my work with Boost unit test.
 I was faced with little problem where some memory was incorrect read.

 Details below:

 ==5432== Invalid read of size 4
 ==5432== at 0x4104236: boost::unit_test::framework_impl::clear()
 (framework.ipp:133)
 ==5432== by 0x4104392:
 boost::unit_test::framework_impl::~framework_impl() (framework.ipp:122)
 ==5432== by 0x434ABB8: exit (exit.c:75)
 ==5432== by 0x433277C: (below main) (libc-start.c:252)
 ==5432== Address 0x44a4f04 is 20 bytes inside a block of size 24 free'd
 ==5432== at 0x402599A: operator delete(void*) (vg_replace_malloc.c:342)
 ==5432== by 0x4102166:
 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >
>::deallocate(std::_Rb_tree_node<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >*, unsigned int) (new_allocator.h:98)
 ==5432== by 0x410219B: std::_Rb_tree<unsigned long, std::pair<unsigned
 long const, boost::unit_test::test_unit*>,
 std::_Select1st<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >, std::less<unsigned long>,
 std::allocator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >
>::_M_put_node(std::_Rb_tree_node<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >*) (stl_tree.h:361)
 ==5432== by 0x41021FB: std::_Rb_tree<unsigned long, std::pair<unsigned
 long const, boost::unit_test::test_unit*>,
 std::_Select1st<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >, std::less<unsigned long>,
 std::allocator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >
>::_M_destroy_node(std::_Rb_tree_node<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >*) (stl_tree.h:391)
 ==5432== by 0x41046DF: std::_Rb_tree<unsigned long, std::pair<unsigned
 long const, boost::unit_test::test_unit*>,
 std::_Select1st<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >, std::less<unsigned long>,
 std::allocator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >
>::erase(std::_Rb_tree_iterator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >) (stl_tree.h:1319)
 ==5432== by 0x41047B1: std::_Rb_tree<unsigned long, std::pair<unsigned
 long const, boost::unit_test::test_unit*>,
 std::_Select1st<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >, std::less<unsigned long>,
 std::allocator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >
>::erase(std::_Rb_tree_iterator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >, std::_Rb_tree_iterator<std::pair<unsigned
 long const, boost::unit_test::test_unit*> >) (stl_tree.h:1359)
 ==5432== by 0x4104822: std::_Rb_tree<unsigned long, std::pair<unsigned
 long const, boost::unit_test::test_unit*>,
 std::_Select1st<std::pair<unsigned long const,
 boost::unit_test::test_unit*> >, std::less<unsigned long>,
 std::allocator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> > >::erase(unsigned long const&)
 (stl_tree.h:1345)
 ==5432== by 0x410485D: std::map<unsigned long,
 boost::unit_test::test_unit*, std::less<unsigned long>,
 std::allocator<std::pair<unsigned long const,
 boost::unit_test::test_unit*> > >::erase(unsigned long const&)
 (stl_map.h:538)
 ==5432== by 0x40FF753:
 boost::unit_test::framework::deregister_test_unit(boost::unit_test::test_unit*)
 (framework.ipp:326)
 ==5432== by 0x415D958: boost::unit_test::test_unit::~test_unit()
 (unit_test_suite.ipp:65)
 ==5432== by 0x4104134: boost::unit_test::test_case::~test_case()
 (unit_test_suite_impl.hpp:115)
 ==5432== by 0x4104232: boost::unit_test::framework_impl::clear()
 (framework.ipp:133)
 ==5432==
 ==5432== ERROR SUMMARY: 15 errors from 1 contexts (suppressed: 29 from 1)
 ==5432== malloc/free: in use at exit: 104 bytes in 2 blocks.
 ==5432== malloc/free: 670 allocs, 668 frees, 57,564 bytes allocated.
 ==5432== For counts of detected errors, rerun with: -v
 ==5432== searching for pointers to 2 not-freed blocks.
 ==5432== checked 150,708 bytes.
 ==5432==
 ==5432== LEAK SUMMARY:
 ==5432== definitely lost: 0 bytes in 0 blocks.
 ==5432== possibly lost: 0 bytes in 0 blocks.
 ==5432== still reachable: 104 bytes in 2 blocks.
 ==5432== suppressed: 0 bytes in 0 blocks.
 ==5432== Rerun with --leak-check=full to see details of leaked memory.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3920>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC