| 1 | $ g++ -O0 -ggdb -o test test.cpp
|
|---|
| 2 | $ valgrind -- ./test
|
|---|
| 3 | ==20889== Memcheck, a memory error detector
|
|---|
| 4 | ==20889== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
|
|---|
| 5 | ==20889== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
|
|---|
| 6 | ==20889== Command: ./test
|
|---|
| 7 | ==20889==
|
|---|
| 8 | ==20889== Invalid write of size 8
|
|---|
| 9 | ==20889== at 0x1160AE: void boost::movelib::detail_adaptive::initialize_keys<unsigned long*, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, unsigned long*, boost::movelib::detail_adaptive::less, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_sort_merge.hpp:871)
|
|---|
| 10 | ==20889== by 0x112CAF: void boost::movelib::detail_adaptive::combine_params<unsigned long*, boost::movelib::detail_adaptive::less, unsigned long, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::detail_adaptive::less, unsigned long, unsigned long, unsigned long, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&, unsigned long&, unsigned long&, unsigned long&, unsigned long&, bool) (adaptive_sort_merge.hpp:922)
|
|---|
| 11 | ==20889== by 0x10FE68: void boost::movelib::detail_adaptive::adaptive_merge_combine_blocks<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, bool, bool, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:83)
|
|---|
| 12 | ==20889== by 0x10E954: void boost::movelib::detail_adaptive::adaptive_merge_impl<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:264)
|
|---|
| 13 | ==20889== by 0x10D176: void boost::movelib::adaptive_merge<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(unsigned long*, unsigned long*, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::iterator_traits<unsigned long*>::value_type*, unsigned long) (adaptive_merge.hpp:312)
|
|---|
| 14 | ==20889== by 0x10AB40: void boost::container::dtl::flat_tree_container_inplace_merge<boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>&, boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::iterator, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::move_detail::bool_<true>) (flat_tree.hpp:133)
|
|---|
| 15 | ==20889== by 0x1097EE: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:887)
|
|---|
| 16 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 17 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 18 | ==20889== Address 0x5b3d4a8 is 0 bytes after a block of size 280 alloc'd
|
|---|
| 19 | ==20889== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
|
|---|
| 20 | ==20889== by 0x113D3A: boost::container::new_allocator<unsigned long>::allocate(unsigned long) (new_allocator.hpp:145)
|
|---|
| 21 | ==20889== by 0x10D42B: allocate (allocator_traits.hpp:293)
|
|---|
| 22 | ==20889== by 0x10D42B: allocate (vector.hpp:413)
|
|---|
| 23 | ==20889== by 0x10D42B: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert_no_capacity<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>, boost::move_detail::integral_constant<unsigned int, 1u>) (vector.hpp:2717)
|
|---|
| 24 | ==20889== by 0x10AD09: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>) (vector.hpp:2783)
|
|---|
| 25 | ==20889== by 0x109DED: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::insert<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, true>, boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>, boost::move_detail::disable_if_or<void, boost::move_detail::is_convertible<boost::container::vec_iterator<unsigned long*, false>, unsigned long>, boost::container::dtl::is_input_iterator<boost::container::vec_iterator<unsigned long*, false>, boost::container::dtl::has_iterator_category<boost::container::vec_iterator<unsigned long*, false> >::value>, boost::move_detail::bool_<false>, boost::move_detail::bool_<false> >::type*) (vector.hpp:1953)
|
|---|
| 26 | ==20889== by 0x1095C6: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:876)
|
|---|
| 27 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 28 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 29 | ==20889==
|
|---|
| 30 | ==20889== Invalid read of size 8
|
|---|
| 31 | ==20889== at 0x116216: bool boost::movelib::detail_adaptive::less::operator()<unsigned long>(unsigned long const&, unsigned long const&) (adaptive_sort_merge.hpp:721)
|
|---|
| 32 | ==20889== by 0x1161CF: boost::movelib::iterator_traits<unsigned long*>::size_type boost::movelib::detail_adaptive::find_next_block<unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >) (adaptive_sort_merge.hpp:480)
|
|---|
| 33 | ==20889== by 0x112EA3: void boost::movelib::detail_adaptive::op_merge_blocks_with_buf<unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::move_op, unsigned long*>(unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::move_op, unsigned long*) (adaptive_sort_merge.hpp:1469)
|
|---|
| 34 | ==20889== by 0x10FEDF: void boost::movelib::detail_adaptive::adaptive_merge_combine_blocks<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, bool, bool, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:89)
|
|---|
| 35 | ==20889== by 0x10E954: void boost::movelib::detail_adaptive::adaptive_merge_impl<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:264)
|
|---|
| 36 | ==20889== by 0x10D176: void boost::movelib::adaptive_merge<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(unsigned long*, unsigned long*, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::iterator_traits<unsigned long*>::value_type*, unsigned long) (adaptive_merge.hpp:312)
|
|---|
| 37 | ==20889== by 0x10AB40: void boost::container::dtl::flat_tree_container_inplace_merge<boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>&, boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::iterator, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::move_detail::bool_<true>) (flat_tree.hpp:133)
|
|---|
| 38 | ==20889== by 0x1097EE: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:887)
|
|---|
| 39 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 40 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 41 | ==20889== Address 0x5b3d4a8 is 0 bytes after a block of size 280 alloc'd
|
|---|
| 42 | ==20889== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
|
|---|
| 43 | ==20889== by 0x113D3A: boost::container::new_allocator<unsigned long>::allocate(unsigned long) (new_allocator.hpp:145)
|
|---|
| 44 | ==20889== by 0x10D42B: allocate (allocator_traits.hpp:293)
|
|---|
| 45 | ==20889== by 0x10D42B: allocate (vector.hpp:413)
|
|---|
| 46 | ==20889== by 0x10D42B: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert_no_capacity<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>, boost::move_detail::integral_constant<unsigned int, 1u>) (vector.hpp:2717)
|
|---|
| 47 | ==20889== by 0x10AD09: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>) (vector.hpp:2783)
|
|---|
| 48 | ==20889== by 0x109DED: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::insert<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, true>, boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>, boost::move_detail::disable_if_or<void, boost::move_detail::is_convertible<boost::container::vec_iterator<unsigned long*, false>, unsigned long>, boost::container::dtl::is_input_iterator<boost::container::vec_iterator<unsigned long*, false>, boost::container::dtl::has_iterator_category<boost::container::vec_iterator<unsigned long*, false> >::value>, boost::move_detail::bool_<false>, boost::move_detail::bool_<false> >::type*) (vector.hpp:1953)
|
|---|
| 49 | ==20889== by 0x1095C6: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:876)
|
|---|
| 50 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 51 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 52 | ==20889==
|
|---|
| 53 | ==20889== Invalid read of size 8
|
|---|
| 54 | ==20889== at 0x11621D: bool boost::movelib::detail_adaptive::less::operator()<unsigned long>(unsigned long const&, unsigned long const&) (adaptive_sort_merge.hpp:721)
|
|---|
| 55 | ==20889== by 0x1161CF: boost::movelib::iterator_traits<unsigned long*>::size_type boost::movelib::detail_adaptive::find_next_block<unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >) (adaptive_sort_merge.hpp:480)
|
|---|
| 56 | ==20889== by 0x112EA3: void boost::movelib::detail_adaptive::op_merge_blocks_with_buf<unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::move_op, unsigned long*>(unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::move_op, unsigned long*) (adaptive_sort_merge.hpp:1469)
|
|---|
| 57 | ==20889== by 0x10FEDF: void boost::movelib::detail_adaptive::adaptive_merge_combine_blocks<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, bool, bool, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:89)
|
|---|
| 58 | ==20889== by 0x10E954: void boost::movelib::detail_adaptive::adaptive_merge_impl<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:264)
|
|---|
| 59 | ==20889== by 0x10D176: void boost::movelib::adaptive_merge<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(unsigned long*, unsigned long*, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::iterator_traits<unsigned long*>::value_type*, unsigned long) (adaptive_merge.hpp:312)
|
|---|
| 60 | ==20889== by 0x10AB40: void boost::container::dtl::flat_tree_container_inplace_merge<boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>&, boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::iterator, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::move_detail::bool_<true>) (flat_tree.hpp:133)
|
|---|
| 61 | ==20889== by 0x1097EE: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:887)
|
|---|
| 62 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 63 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 64 | ==20889== Address 0x5b3d4a8 is 0 bytes after a block of size 280 alloc'd
|
|---|
| 65 | ==20889== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
|
|---|
| 66 | ==20889== by 0x113D3A: boost::container::new_allocator<unsigned long>::allocate(unsigned long) (new_allocator.hpp:145)
|
|---|
| 67 | ==20889== by 0x10D42B: allocate (allocator_traits.hpp:293)
|
|---|
| 68 | ==20889== by 0x10D42B: allocate (vector.hpp:413)
|
|---|
| 69 | ==20889== by 0x10D42B: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert_no_capacity<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>, boost::move_detail::integral_constant<unsigned int, 1u>) (vector.hpp:2717)
|
|---|
| 70 | ==20889== by 0x10AD09: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>) (vector.hpp:2783)
|
|---|
| 71 | ==20889== by 0x109DED: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::insert<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, true>, boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>, boost::move_detail::disable_if_or<void, boost::move_detail::is_convertible<boost::container::vec_iterator<unsigned long*, false>, unsigned long>, boost::container::dtl::is_input_iterator<boost::container::vec_iterator<unsigned long*, false>, boost::container::dtl::has_iterator_category<boost::container::vec_iterator<unsigned long*, false> >::value>, boost::move_detail::bool_<false>, boost::move_detail::bool_<false> >::type*) (vector.hpp:1953)
|
|---|
| 72 | ==20889== by 0x1095C6: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:876)
|
|---|
| 73 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 74 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 75 | ==20889==
|
|---|
| 76 | ==20889== Invalid read of size 8
|
|---|
| 77 | ==20889== at 0x116216: bool boost::movelib::detail_adaptive::less::operator()<unsigned long>(unsigned long const&, unsigned long const&) (adaptive_sort_merge.hpp:721)
|
|---|
| 78 | ==20889== by 0x113023: void boost::movelib::detail_adaptive::op_merge_blocks_with_buf<unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::move_op, unsigned long*>(unsigned long*, boost::movelib::detail_adaptive::less, unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::move_op, unsigned long*) (adaptive_sort_merge.hpp:1488)
|
|---|
| 79 | ==20889== by 0x10FEDF: void boost::movelib::detail_adaptive::adaptive_merge_combine_blocks<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, bool, bool, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:89)
|
|---|
| 80 | ==20889== by 0x10E954: void boost::movelib::detail_adaptive::adaptive_merge_impl<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*> >(unsigned long*, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::movelib::iterator_traits<unsigned long*>::size_type, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::detail_adaptive::adaptive_xbuf<unsigned long, unsigned long*>&) (adaptive_merge.hpp:264)
|
|---|
| 81 | ==20889== by 0x10D176: void boost::movelib::adaptive_merge<unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(unsigned long*, unsigned long*, unsigned long*, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::movelib::iterator_traits<unsigned long*>::value_type*, unsigned long) (adaptive_merge.hpp:312)
|
|---|
| 82 | ==20889== by 0x10AB40: void boost::container::dtl::flat_tree_container_inplace_merge<boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> > >(boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>&, boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::iterator, boost::container::dtl::flat_tree_value_compare<std::less<unsigned long>, unsigned long, boost::move_detail::identity<unsigned long> >, boost::move_detail::bool_<true>) (flat_tree.hpp:133)
|
|---|
| 83 | ==20889== by 0x1097EE: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:887)
|
|---|
| 84 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 85 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 86 | ==20889== Address 0x5b3d4a8 is 0 bytes after a block of size 280 alloc'd
|
|---|
| 87 | ==20889== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
|
|---|
| 88 | ==20889== by 0x113D3A: boost::container::new_allocator<unsigned long>::allocate(unsigned long) (new_allocator.hpp:145)
|
|---|
| 89 | ==20889== by 0x10D42B: allocate (allocator_traits.hpp:293)
|
|---|
| 90 | ==20889== by 0x10D42B: allocate (vector.hpp:413)
|
|---|
| 91 | ==20889== by 0x10D42B: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert_no_capacity<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>, boost::move_detail::integral_constant<unsigned int, 1u>) (vector.hpp:2717)
|
|---|
| 92 | ==20889== by 0x10AD09: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::priv_forward_range_insert<boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*> >(unsigned long* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::new_allocator<unsigned long>, boost::container::vec_iterator<unsigned long*, false>, unsigned long*>) (vector.hpp:2783)
|
|---|
| 93 | ==20889== by 0x109DED: boost::container::vec_iterator<unsigned long*, false> boost::container::vector<unsigned long, boost::container::new_allocator<unsigned long>, void>::insert<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, true>, boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>, boost::move_detail::disable_if_or<void, boost::move_detail::is_convertible<boost::container::vec_iterator<unsigned long*, false>, unsigned long>, boost::container::dtl::is_input_iterator<boost::container::vec_iterator<unsigned long*, false>, boost::container::dtl::has_iterator_category<boost::container::vec_iterator<unsigned long*, false> >::value>, boost::move_detail::bool_<false>, boost::move_detail::bool_<false> >::type*) (vector.hpp:1953)
|
|---|
| 94 | ==20889== by 0x1095C6: void boost::container::dtl::flat_tree<unsigned long, boost::move_detail::identity<unsigned long>, std::less<unsigned long>, boost::container::new_allocator<unsigned long> >::insert_unique<boost::container::vec_iterator<unsigned long*, false> >(boost::container::vec_iterator<unsigned long*, false>, boost::container::vec_iterator<unsigned long*, false>) (flat_tree.hpp:876)
|
|---|
| 95 | ==20889== by 0x10916F: insert<boost::container::vec_iterator<long unsigned int*, false> > (flat_set.hpp:695)
|
|---|
| 96 | ==20889== by 0x10916F: main (test.cpp:20)
|
|---|
| 97 | ==20889==
|
|---|
| 98 | ==20889==
|
|---|
| 99 | ==20889== HEAP SUMMARY:
|
|---|
| 100 | ==20889== in use at exit: 0 bytes in 0 blocks
|
|---|
| 101 | ==20889== total heap usage: 17 allocs, 17 frees, 73,784 bytes allocated
|
|---|
| 102 | ==20889==
|
|---|
| 103 | ==20889== All heap blocks were freed -- no leaks are possible
|
|---|
| 104 | ==20889==
|
|---|
| 105 | ==20889== For counts of detected and suppressed errors, rerun with: -v
|
|---|
| 106 | ==20889== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
|
|---|
| 107 |
|
|---|