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 |
|
---|