Boost logo

Boost :

Subject: [boost] A summary of testing with sanitizers
From: Ben Pope (benpope81_at_[hidden])
Date: 2015-04-21 06:42:29


Hello all.

Now that I've finally managed to get the sanitizers all working properly
(correctly linking against the sanitized runtimes) I'd like to present a
summary of its output (which I hope doesn't wrap).

I would like to point out that the sanitizers may not be able to
completely determine whether the code is correct or not, perhaps merely
that they do not understand it (inline asm, etc.), and it also looks
like some of the errors are in libc++, not Boost.

If the code is determined to be correct, I could add entries to the
blacklist to make sure the sanitizers ignore the output, but I would
prefer not to. Perhaps a better approach would be to mark up the code
so that all users of sanitizers benefit, rather than just the test matrix.

Suggestions on how to reduce this output (I hope to publish summaries on
a regular basis) in the best possible way are welcomed.

I've ordered the output by the number of test failures that result from
a particular complaint as determined by the command below:

cat bjam.log | grep SUMMARY | sort | uniq -c | sort -n -r

Count Warning

      89 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/detail/shared_count.hpp:449:49
in boost::detail::shared_count::shared_count(boost::detail::shared_count
const&)
      70 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/shared_ptr.hpp:392:63
in
boost::shared_ptr<boost::detail::thread_data_base>::shared_ptr(boost::shared_ptr<boost::detail::thread_data_base>
const&)
      69 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/detail/sp_counted_base_clang.hpp:31:5
in boost::detail::atomic_increment(int _Atomic*)
      44 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/shared_ptr.hpp:392:57
in
boost::shared_ptr<boost::detail::thread_data_base>::shared_ptr(boost::shared_ptr<boost::detail::thread_data_base>
const&)
      44 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/detail/shared_count.hpp:449:43
in boost::detail::shared_count::shared_count(boost::detail::shared_count
const&)
      33 SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs
virtual call)
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/src/pthread/thread.cpp:168:21
in boost::(anonymous namespace)::thread_proxy(void*)
      22 SUMMARY: ThreadSanitizer: data race
(/home/ben/development/llvm/trunk/build/release/projects/compiler-rt/lib/tsan/libcxx_tsan/lib/libc++.so.1+0x43962)
in std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::assign(char const*, unsigned long)
      21 SUMMARY: ThreadSanitizer: data race
(/home/ben/development/llvm/trunk/build/release/projects/compiler-rt/lib/tsan/libcxx_tsan/lib/libc++.so.1+0x43991)
in std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::assign(char const*, unsigned long)
      21 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/test/utils/basic_cstring/basic_cstring.hpp:384:13
in boost::unit_test::basic_cstring<char
const>::operator=(boost::unit_test::basic_cstring<char const> const&)
      21 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/test/utils/basic_cstring/basic_cstring.hpp:383:13
in boost::unit_test::basic_cstring<char
const>::operator=(boost::unit_test::basic_cstring<char const> const&)
      21 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/test/impl/unit_test_log.ipp:118:41
in boost::unit_test::(anonymous
namespace)::unit_test_log_impl::set_checkpoint(boost::unit_test::basic_cstring<char
const>, unsigned long, boost::unit_test::basic_cstring<char const>)
      18 SUMMARY: ThreadSanitizer: data race
/usr/local/bin/../include/c++/v1/ios:499:12 in
std::__1::ios_base::width() const
      15 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:331:10
in
boost::multiprecision::backends::detail::gmp_float_imp<50u>::~gmp_float_imp()
      12 SUMMARY: ThreadSanitizer: heap-use-after-free
/home/ben/development/boost/test/build/boost_root/status/../boost/chrono/time_point.hpp:196:20
in boost::chrono::time_point<boost::chrono::steady_clock,
boost::chrono::duration<long, boost::ratio<1l, 1000000000l> >
>::time_since_epoch() const
      11 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/detail/invoke.hpp:134:14
in
_ZN5boost6detail6invokeIPFvNS_7promiseIRiEEEJS4_EEEDTclclsr5boostE7forwardIT_Efp_Espclsr5boostE7forwardIT0_Efp0_EEEOS7_DpOS8_
      11 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/shared_ptr.hpp:392:63
in boost::shared_ptr<boost::detail::shared_state<int&>
>::shared_ptr(boost::shared_ptr<boost::detail::shared_state<int&> > const&)
      10 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/usr/local/bin/../include/c++/v1/string:640:63 in
std::__1::char_traits<char>::length(char const*)
      10 SUMMARY: AddressSanitizer: 4 byte(s) leaked in 1 allocation(s).
       8 SUMMARY: AddressSanitizer: 552 byte(s) leaked in 23 allocation(s).
       7 SUMMARY: ThreadSanitizer: data race
/usr/local/bin/../include/c++/v1/ios:742:54 in std::__1::basic_ios<char,
std::__1::char_traits<char> >::fill() const
       6 SUMMARY: ThreadSanitizer: data race
/usr/local/bin/../include/c++/v1/ios:437:12 in
std::__1::ios_base::flags() const
       6 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/detail/invoke.hpp:134:14
in
_ZN5boost6detail6invokeIPFvNS_7promiseIiEEEJS3_EEEDTclclsr5boostE7forwardIT_Efp_Espclsr5boostE7forwardIT0_Efp0_EEEOS6_DpOS7_
       6 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/shared_ptr.hpp:392:63
in boost::shared_ptr<boost::detail::shared_state<int>
>::shared_ptr(boost::shared_ptr<boost::detail::shared_state<int> > const&)
       5 SUMMARY: ThreadSanitizer: data race
/usr/local/bin/../include/c++/v1/map:1006:47 in std::__1::map<void
const*, boost::detail::tss_data_node, std::__1::less<void const*>,
std::__1::allocator<std::__1::pair<void const* const,
boost::detail::tss_data_node> > >::empty() const
       5 SUMMARY: ThreadSanitizer: data race
/usr/local/bin/../include/c++/v1/ios:506:22 in
std::__1::ios_base::width(long)
       5 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/src/pthread/thread.cpp:85:78
in boost::detail::(anonymous namespace)::tls_destructor(void*)
       5 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/serialization/test/test_shared_ptr.cpp:123:5
in void save_and_load<boost::shared_ptr<A> >(boost::shared_ptr<A>&)
       5 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/serialization/test/test_shared_ptr_132.cpp:117:5
in void save_and_load<boost_132::shared_ptr<A>
>(boost_132::shared_ptr<A> const&)
       5 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/serialization/src/basic_iarchive.cpp:443:16
in
boost::archive::detail::basic_iarchive_impl::load_pointer(boost::archive::detail::basic_iarchive&,
void*&, boost::archive::detail::basic_pointer_iserializer const*,
boost::archive::detail::basic_pointer_iserializer const*
(*)(boost::serialization::extended_type_info const&))
       5 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/numeric/odeint/stepper/bulirsch_stoer.hpp:202:13
in boost::numeric::odeint::controlled_step_result
boost::numeric::odeint::bulirsch_stoer<std::__1::vector<double,
std::__1::allocator<double> >, double, std::__1::vector<double,
std::__1::allocator<double> >, double,
boost::numeric::odeint::range_algebra,
boost::numeric::odeint::default_operations,
boost::numeric::odeint::initially_resizer>::try_step<void
(*)(std::__1::vector<double, std::__1::allocator<double> > const&,
std::__1::vector<double, std::__1::allocator<double> >&, double),
std::__1::vector<double, std::__1::allocator<double> >,
std::__1::vector<double, std::__1::allocator<double> >,
std::__1::vector<double, std::__1::allocator<double> > >(void
(*)(std::__1::vector<double, std::__1::allocator<double> > const&,
std::__1::vector<double, std::__1::allocator<double> >&, double),
std::__1::vector<double, std::__1::allocator<double> > co
       5 SUMMARY: AddressSanitizer: heap-use-after-free
/home/ben/development/llvm/trunk/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:403:3
in __asan_memcpy
       5 SUMMARY: AddressSanitizer: 936 byte(s) leaked in 6 allocation(s).
       5 SUMMARY: AddressSanitizer: 768 byte(s) leaked in 4 allocation(s).
       5 SUMMARY: AddressSanitizer: 64 byte(s) leaked in 2 allocation(s).
       5 SUMMARY: AddressSanitizer: 576 byte(s) leaked in 4 allocation(s).
       5 SUMMARY: AddressSanitizer: 552 byte(s) leaked in 2 allocation(s).
       5 SUMMARY: AddressSanitizer: 480 byte(s) leaked in 8 allocation(s).
       5 SUMMARY: AddressSanitizer: 368 byte(s) leaked in 4 allocation(s).
       5 SUMMARY: AddressSanitizer: 32 byte(s) leaked in 4 allocation(s).
       5 SUMMARY: AddressSanitizer: 240 byte(s) leaked in 4 allocation(s).
       5 SUMMARY: AddressSanitizer: 1 byte(s) leaked in 1 allocation(s).
       4 SUMMARY: ThreadSanitizer: thread leak
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/src/pthread/thread.cpp:250:25
in boost::thread::start_thread_noexcept()
       4 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/pthread/pthread_mutex_scoped_lock.hpp:24:23
in
boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(pthread_mutex_t*)
       4 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/pthread/pthread_mutex_scoped_lock.hpp:24:17
in
boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(pthread_mutex_t*)
       4 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/pthread/once_atomic.hpp:128:25
in void boost::call_once<void (&)()>(boost::once_flag&, void (&)())
       4 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/detail/thread.hpp:116:17
in boost::detail::thread_data<void (*)()>::run()
       4 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/atomic/detail/atomic_template.hpp:134:22
in boost::atomics::detail::base_atomic<unsigned int,
int>::compare_exchange_strong(unsigned int&, unsigned int,
boost::memory_order, boost::memory_order) volatile
       4 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/serialization/test/test_shared_ptr_multi_base.cpp:185:5
in void shared_weak<boost::shared_ptr<Sub>, boost::weak_ptr<Base3>
>(boost::shared_ptr<Sub>&, boost::weak_ptr<Base3>&)
       4 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/type_index/stl_type_index.hpp:141:40
in boost::typeindex::stl_type_index::pretty_name() const
       3 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/detail/invoke.hpp:134:14
in
_ZN5boost6detail6invokeIPFvNS_7promiseIvEEEJS3_EEEDTclclsr5boostE7forwardIT_Efp_Espclsr5boostE7forwardIT0_Efp0_EEEOS6_DpOS7_
       3 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/usr/local/bin/../include/c++/v1/string:3767:13 in bool
std::__1::operator==<std::__1::allocator<char>
>(std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&)
       3 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/spirit/home/qi/numeric/detail/real_impl.hpp:295:22
in bool boost::spirit::qi::detail::real_impl<double,
boost::spirit::qi::real_policies<double> >::parse<char const*,
double>(char const*&, char const* const&, double&,
boost::spirit::qi::real_policies<double> const&)
       3 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/build/buildd/glibc-2.21/misc/tsearch.c:356 in tdelete
       2 SUMMARY: ThreadSanitizer: data race
(/home/ben/development/llvm/trunk/build/release/projects/compiler-rt/lib/tsan/libcxx_tsan/lib/libc++.so.1+0x381e2)
in std::__1::__shared_weak_count::__release_shared()
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/try_join_until_pass.cpp:55:12
in G::operator()()
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/try_join_until_pass.cpp:54:5
in G::operator()()
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/detach_pass.cpp:70:5
in main
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/detach_pass.cpp:69:5
in main
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/constr/move_pass.cpp:58:55
in G::operator()(int, double)
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/asio/test/strand.cpp:91:3
in sleep_increment(boost::asio::io_service*, int*)
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/future.hpp:3377:50
in boost::packaged_task<double (int,
char)>::packaged_task(boost::packaged_task<double (int, char)>&&)
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/future.hpp:3377:11
in boost::packaged_task<double (int,
char)>::packaged_task(boost::packaged_task<double (int, char)>&&)
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/detail/invoke.hpp:134:14
in
_ZN5boost6detail6invokeIPFvNS_13packaged_taskIFdicEEEEJS4_EEEDTclclsr5boostE7forwardIT_Efp_Espclsr5boostE7forwardIT0_Efp0_EEEOS7_DpOS8_
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/shared_ptr.hpp:392:63
in boost::shared_ptr<boost::detail::shared_state<void>
>::shared_ptr(boost::shared_ptr<boost::detail::shared_state<void> > const&)
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/shared_ptr.hpp:334:35
in boost::shared_ptr<boost::detail::task_base_shared_state<double (int,
char)> >::shared_ptr()
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/detail/shared_count.hpp:114:21
in boost::detail::shared_count::shared_count()
       2 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/log/utility/once_block.hpp:91:24
in boost::log::v2_mt_posix::aux::once_block_sentry::executed() const
       2 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:159:10
in
boost::multiprecision::backends::detail::gmp_float_imp<50u>::operator=(long)
       2 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/geometry/strategies/cartesian/point_in_box.hpp:36:34
in bool boost::geometry::strategy::within::within_range::apply<double,
double>(double const&, double const&, double const&)
       2 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/container/vector.hpp:2774:7
in
boost::container::container_detail::vec_iterator<boost::container::stable_vector_detail::node_base<void*>**,
false>
boost::container::vector<boost::container::stable_vector_detail::node_base<void*>*,
boost::container::allocator<boost::container::stable_vector_detail::node_base<void*>*,
2u, 0u>
>::priv_forward_range_insert<boost::container::container_detail::insert_value_initialized_n_proxy<boost::container::allocator<boost::container::stable_vector_detail::node_base<void*>*, 2u, 0u>, boost::container::stable_vector_detail::node_base<void*>**> >(boost::container::stable_vector_detail::node_base<void*>** const&, unsigned long, boost::container::container_detail::insert_value_initialized_n_proxy<boost::container::allocator<boost::container::stable_vector_detail::node_base<void*>*, 2u, 0u>, boost::container::stable_vector_detail::node_base<void*>**>)
       2 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/container/vector.hpp:2604:11
in void boost::container::vector<MyInt,
boost::container::allocator<MyInt, 2u, 6u> >::priv_push_back<MyInt>(MyInt&&)
       2 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/build/buildd/glibc-2.21/misc/tsearch.c:320 in tfind
       2 SUMMARY: AddressSanitizer: stack-buffer-overflow
/home/ben/development/boost/test/build/boost_root/status/../libs/spirit/classic/test/traverse_tests.cpp:379:44
in void
post_order_trace_test<boost::spirit::classic::sequence<boost::spirit::classic::chlit<char>,
boost::spirit::classic::chlit<char> >
>(boost::spirit::classic::sequence<boost::spirit::classic::chlit<char>,
boost::spirit::classic::chlit<char> > const&, char const**, unsigned long)
       2 SUMMARY: AddressSanitizer: stack-buffer-overflow
/home/ben/development/boost/test/build/boost_root/status/../libs/local_function/test/return_derivative_seq.cpp:17:9
in derivative(boost::function<int (int)>&,
int)::boost_local_function_auxXfunctorX17X::operator()(int)
       2 SUMMARY: AddressSanitizer: 576 byte(s) leaked in 12 allocation(s).
       2 SUMMARY: AddressSanitizer: 288 byte(s) leaked in 6 allocation(s).
       2 SUMMARY: AddressSanitizer: 16 byte(s) leaked in 1 allocation(s).
       2 SUMMARY: AddressSanitizer: 14496 byte(s) leaked in 404
allocation(s).
       2 SUMMARY: AddressSanitizer: 120 byte(s) leaked in 5 allocation(s).
       1 SUMMARY: ThreadSanitizer: data race
/usr/local/bin/../include/c++/v1/ios:488:22 in
std::__1::ios_base::precision(long)
       1 SUMMARY: ThreadSanitizer: data race
/usr/local/bin/../include/c++/v1/ios:444:20 in
std::__1::ios_base::flags(unsigned int)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/./util.inl:106:16
in (anonymous namespace)::execution_monitor::wait()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/try_join_for_pass.cpp:55:12
in G::operator()()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/try_join_for_pass.cpp:54:5
in G::operator()()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/join_pass.cpp:56:12
in G::operator()()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/threads/thread/members/join_pass.cpp:39:5
in G::G()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/spirit/classic/test/owi_mt_tests.cpp:93:23
in test_task<boost::spirit::classic::impl::object_with_id<tag1, unsigned
long> >::increase_test_size(unsigned long)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/log/test/run/util_once_block.cpp:64:25
in once_block_flag_thread(boost::barrier&)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/log/test/run/util_once_block.cpp:112:25
in once_block_thread(boost::barrier&)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/interprocess/test/condition_test_template.hpp:83:17
in void
boost::interprocess::test::condition_test_thread<boost::interprocess::interprocess_condition_any,
boost::interprocess::ipcdetail::spin_mutex>(boost::interprocess::test::condition_test_data<boost::interprocess::interprocess_condition_any,
boost::interprocess::ipcdetail::spin_mutex>*)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/interprocess/test/condition_test_template.hpp:321:15
in void
boost::interprocess::test::do_test_condition_queue_notify_one<boost::interprocess::interprocess_condition_any,
boost::interprocess::ipcdetail::spin_mutex>()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/interprocess/test/condition_test_template.hpp:282:10
in
boost::interprocess::test::condition_func<boost::interprocess::interprocess_condition_any,
boost::interprocess::ipcdetail::spin_mutex>::operator()()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/interprocess/test/condition_test_template.hpp:277:10
in
boost::interprocess::test::condition_func<boost::interprocess::interprocess_condition_any,
boost::interprocess::ipcdetail::spin_mutex>::operator()()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/atomic/test/ordering.cpp:200:40
in total_store_order_test<(boost::memory_order)0,
(boost::memory_order)0>::thread2fn()
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../libs/atomic/test/atomicity.cpp:131:28
in racy_add(unsigned int volatile&, unsigned long)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/pthread/mutex.hpp:62:17
in boost::posix::pthread_mutex_lock(pthread_mutex_t*)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/future.hpp:2481:88
in boost::promise<void>::promise(boost::promise<void>&&)
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/thread/detail/invoke.hpp:134:14
in
_ZN5boost6detail6invokeIPFvvEJEEEDTclclsr5boostE7forwardIT_Efp_Espclsr5boostE7forwardIT0_Efp0_EEEOS4_DpOS5_
       1 SUMMARY: ThreadSanitizer: data race
/home/ben/development/boost/test/build/boost_root/status/../boost/smart_ptr/shared_ptr.hpp:663:16
in boost::shared_ptr<boost::detail::shared_state<void> >::get() const
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/usr/local/bin/../include/c++/v1/bitset:757:46 in
std::__1::bitset<8ul>::bitset<char, std::__1::char_traits<char>,
std::__1::allocator<char> >(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::size_type, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >::size_type,
char, char)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/usr/local/bin/../include/c++/v1/algorithm:1193:13 in bool
std::__1::equal<boost::archive::iterators::mb_from_wchar<wchar_t
const*>, char const*, std::__1::__equal_to<wchar_t, char>
>(boost::archive::iterators::mb_from_wchar<wchar_t const*>,
boost::archive::iterators::mb_from_wchar<wchar_t const*>, char const*,
std::__1::__equal_to<wchar_t, char>)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_rational_io_mpz.test/clang-linux-3.7~msan~c14_libc++/release/test_rational_io_mpz+0x76708)
in
boost::multiprecision::number<boost::multiprecision::backends::gmp_rational,
(boost::multiprecision::expression_template_option)1>
generate_random<boost::multiprecision::number<boost::multiprecision::backends::gmp_rational,
(boost::multiprecision::expression_template_option)1> >()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_miller_rabin.test/clang-linux-3.7~msan~c14_libc++/release/test_miller_rabin+0x75bbf)
in void
test<boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1> >()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_int_io_mpz.test/clang-linux-3.7~msan~c14_libc++/release/test_int_io_mpz+0x7ca20)
in
boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1>
generate_random<boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1> >()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_generic_conv.test/clang-linux-3.7~msan~c14_libc++/release/test_generic_conv+0x99138)
in void
boost::multiprecision::detail::generic_interconvert<boost::multiprecision::backends::gmp_int,
boost::multiprecision::backends::cpp_int_backend<0u, 0u,
(boost::multiprecision::cpp_integer_type)1,
(boost::multiprecision::cpp_int_check_type)0,
std::__1::allocator<unsigned long long> >
>(boost::multiprecision::backends::gmp_int&,
boost::multiprecision::backends::cpp_int_backend<0u, 0u,
(boost::multiprecision::cpp_integer_type)1,
(boost::multiprecision::cpp_int_check_type)0,
std::__1::allocator<unsigned long long> > const&, mpl_::int_<0> const&,
mpl_::int_<0> const&)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_float_io_mpf.test/clang-linux-3.7~msan~c14_libc++/release/test_float_io_mpf+0x916e9)
in void
test<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50u>,
(boost::multiprecision::expression_template_option)1> >()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_cpp_int_3.test/clang-linux-3.7~msan~c14_libc++/release/test_cpp_int_3+0x89656)
in
boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1>
generate_random<boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1> >(unsigned int)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_cpp_int_2.test/clang-linux-3.7~msan~c14_libc++/release/test_cpp_int_2+0x89246)
in
boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1>
generate_random<boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1> >(unsigned int)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
(/home/ben/development/boost/test/build/results/boost/bin.v2/libs/multiprecision/test/test_cpp_int_1.test/clang-linux-3.7~msan~c14_libc++/release/test_cpp_int_1+0x95d16)
in
boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1>
generate_random<boost::multiprecision::number<boost::multiprecision::backends::gmp_int,
(boost::multiprecision::expression_template_option)1> >(unsigned int)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/serialization/src/basic_xml_grammar.ipp:200:5
in
boost::archive::basic_xml_grammar<char>::my_parse(std::__1::basic_istream<char,
std::__1::char_traits<char> >&,
boost::spirit::classic::rule<boost::spirit::classic::scanner<std::__1::__wrap_iter<char*>,
boost::spirit::classic::scanner_policies<boost::spirit::classic::iteration_policy,
boost::spirit::classic::match_policy,
boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t,
boost::spirit::classic::nil_t> const&, char) const
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/graph/test/typestr.hpp:33:29
in std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >
typestr<boost::undirected_graph<VertexBundle, EdgeBundle, GraphBundle> >()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/container/test/alloc_full_test.cpp:126:10
in boost::container::test::test_allocation_shrink()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/container/test/alloc_basic_test.cpp:24:7
in basic_test()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/container/bench/bench_alloc.cpp:63:13
in void allocation_timing_test<char_holder<8u> >(unsigned int, unsigned int)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../libs/config/test/limits_test.cpp:97:8
in void print_hex_val<long double>(long double, char const*)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/test/impl/test_tools.ipp:298:9
in
boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result
const&, boost::unit_test::lazy_ostream const&,
boost::unit_test::basic_cstring<char const>, unsigned long,
boost::test_tools::tt_detail::tool_level,
boost::test_tools::tt_detail::check_type, unsigned long, ...)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/spirit/home/qi/numeric/detail/real_impl.hpp:295:22
in bool boost::spirit::qi::detail::real_impl<double,
boost::spirit::qi::ureal_policies<double> >::parse<char const*,
double>(char const*&, char const* const&, double&,
boost::spirit::qi::ureal_policies<double> const&)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/spirit/home/qi/numeric/detail/real_impl.hpp:295:22
in bool boost::spirit::qi::detail::real_impl<double,
boost::spirit::qi::strict_real_policies<double> >::parse<char const*,
double>(char const*&, char const* const&, double&,
boost::spirit::qi::strict_real_policies<double> const&)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/spirit/home/qi/numeric/detail/real_impl.hpp:295:22
in bool boost::spirit::qi::detail::real_impl<double,
boost::spirit::qi::real_policies<double>
>::parse<std::__1::__wrap_iter<char*>,
double>(std::__1::__wrap_iter<char*>&, std::__1::__wrap_iter<char*>
const&, double&, boost::spirit::qi::real_policies<double> const&)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/numeric/odeint/stepper/bulirsch_stoer.hpp:202:13
in boost::numeric::odeint::controlled_step_result
boost::numeric::odeint::bulirsch_stoer<boost::array<double, 3ul>,
double, boost::array<double, 3ul>, double,
boost::numeric::odeint::array_algebra,
boost::numeric::odeint::default_operations,
boost::numeric::odeint::initially_resizer>::try_step<lorenz,
boost::array<double, 3ul>, boost::array<double, 3ul>,
boost::array<double, 3ul> >(lorenz, boost::array<double, 3ul> const&,
boost::array<double, 3ul> const&, double&, boost::array<double, 3ul>&,
double&)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp:105:17
in
boost::numeric::odeint::adaptive_iterator_impl<boost::numeric::odeint::adaptive_iterator<boost::numeric::odeint::dummy_controlled_stepper,
empty_system, boost::array<double, 1ul>,
boost::numeric::odeint::controlled_stepper_tag>,
boost::numeric::odeint::dummy_controlled_stepper, empty_system,
boost::array<double, 1ul>,
boost::numeric::odeint::detail::ode_state_iterator_tag,
boost::numeric::odeint::controlled_stepper_tag>::increment()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:368:7
in boost::multiprecision::backends::detail::gmp_float_imp<0u>::data() const
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:331:10
in
boost::multiprecision::backends::detail::gmp_float_imp<25u>::~gmp_float_imp()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:331:10
in
boost::multiprecision::backends::detail::gmp_float_imp<100u>::~gmp_float_imp()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:234:7
in boost::multiprecision::backends::detail::gmp_float_imp<0u>::str(long,
unsigned int) const
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:1932:7
in boost::multiprecision::backends::gmp_rational::str(long, unsigned
int) const
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:1827:10
in boost::multiprecision::backends::gmp_rational::operator=(unsigned long)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:152:10
in
boost::multiprecision::backends::detail::gmp_float_imp<50u>::operator=(unsigned
long)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:152:10
in
boost::multiprecision::backends::detail::gmp_float_imp<2000u>::operator=(unsigned
long)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:152:10
in
boost::multiprecision::backends::detail::gmp_float_imp<0u>::operator=(unsigned
long)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:1226:7
in boost::multiprecision::backends::gmp_int::str(long, unsigned int) const
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:1100:10
in boost::multiprecision::backends::gmp_int::operator=(long)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/multiprecision/gmp.hpp:1093:10
in boost::multiprecision::backends::gmp_int::operator=(unsigned long)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/graph/boykov_kolmogorov_max_flow.hpp:471:22
in boost::detail::bk_max_flow<boost::adjacency_list<boost::vecS,
boost::vecS, boost::directedS,
Node<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long>
>, Link<boost::detail::edge_desc_impl<boost::directed_tag, unsigned
long> >, boost::no_property, boost::listS>,
boost::adj_list_edge_property_map<boost::directed_tag, long, long&,
unsigned long, Link<boost::detail::edge_desc_impl<boost::directed_tag,
unsigned long> >, long
Link<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long>
>::*>, boost::adj_list_edge_property_map<boost::directed_tag, long,
long&, unsigned long,
Link<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long>
>, long Link<boost::detail::edge_desc_impl<boost::directed_tag,
unsigned long> >::*>,
boost::adj_list_edge_property_map<boost::directed_tag,
boost::detail::edge_desc_impl<boost::directed_
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/gil/color_base_algorithm.hpp:237:60
in bool
boost::gil::detail::element_recursion<2>::static_equal<boost::gil::bit_aligned_pixel_reference<unsigned
char, boost::mpl::vector3_c<int, 1, 2, 1>,
boost::gil::layout<boost::mpl::vector3<boost::gil::red_t,
boost::gil::green_t, boost::gil::blue_t>, boost::mpl::vector3_c<int, 2,
1, 0> >, true>, boost::gil::bit_aligned_pixel_reference<unsigned char,
boost::mpl::vector3_c<int, 1, 2, 1>,
boost::gil::layout<boost::mpl::vector3<boost::gil::red_t,
boost::gil::green_t, boost::gil::blue_t>, boost::mpl::range_c<int, 0, 3>
>, true> >(boost::gil::bit_aligned_pixel_reference<unsigned char,
boost::mpl::vector3_c<int, 1, 2, 1>,
boost::gil::layout<boost::mpl::vector3<boost::gil::red_t,
boost::gil::green_t, boost::gil::blue_t>, boost::mpl::vector3_c<int, 2,
1, 0> >, true> const&, boost::gil::bit_aligned_pixel_reference<unsigned
char, boost::mpl::vector3_c<int, 1, 2,
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/context/execution_context.hpp:115:17
in boost::context::execution_context::activation_record::resume(bool)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/container/vector.hpp:457:10
in
boost::container::container_detail::vector_alloc_holder<boost::container::allocator<int,
2u, 0u>, boost::move_detail::integral_constant<unsigned int, 2u>
>::~vector_alloc_holder()
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/container/vector.hpp:2774:7
in boost::container::container_detail::vec_iterator<int*, false>
boost::container::vector<int, boost::container::allocator<int, 2u, 0u>
>::priv_forward_range_insert<boost::container::container_detail::insert_move_proxy<boost::container::allocator<int, 2u, 0u>, int*> >(int* const&, unsigned long, boost::container::container_detail::insert_move_proxy<boost::container::allocator<int, 2u, 0u>, int*>)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/container/vector.hpp:2774:7
in
boost::container::container_detail::vec_iterator<boost::container::container_detail::pair<int,
int>*, false>
boost::container::vector<boost::container::container_detail::pair<int,
int>,
boost::container::allocator<boost::container::container_detail::pair<int, int>,
2u, 0u>
>::priv_forward_range_insert<boost::container::container_detail::insert_move_proxy<boost::container::allocator<boost::container::container_detail::pair<int, int>, 2u, 0u>, boost::container::container_detail::pair<int, int>*> >(boost::container::container_detail::pair<int, int>* const&, unsigned long, boost::container::container_detail::insert_move_proxy<boost::container::allocator<boost::container::container_detail::pair<int, int>, 2u, 0u>, boost::container::container_detail::pair<int, int>*>)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/container/vector.hpp:2675:10
in boost::container::vector<MyInt, boost::container::allocator<MyInt,
2u, 0u>
>::priv_shrink_to_fit(boost::move_detail::integral_constant<unsigned
int, 2u>)
       1 SUMMARY: MemorySanitizer: use-of-uninitialized-value
/home/ben/development/boost/test/build/boost_root/status/../boost/container/vector.hpp:2604:11
in void boost::container::vector<int, boost::container::allocator<int,
2u, 0u> >::priv_push_back<int>(int&&)
       1 SUMMARY: AddressSanitizer: stack-buffer-overflow
/home/ben/development/boost/test/build/boost_root/status/../libs/local_function/test/return_derivative.cpp:22:9
in derivative(boost::function<int (int)>&,
int)::boost_local_function_auxXfunctorX22X::operator()(int)
       1 SUMMARY: AddressSanitizer: stack-buffer-overflow
/home/ben/development/boost/test/build/boost_root/status/../boost/intrusive/detail/size_holder.hpp:35:14
in boost::intrusive::detail::size_holder<true, unsigned long,
void>::get_size() const
       1 SUMMARY: AddressSanitizer: global-buffer-overflow
/home/ben/development/boost/test/build/boost_root/status/../boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp:86:42
in
boost::numeric::odeint::times_iterator_impl<boost::numeric::odeint::times_time_iterator<boost::numeric::odeint::dummy_stepper,
empty_system, boost::array<double, 1ul>, double*,
boost::numeric::odeint::stepper_tag>,
boost::numeric::odeint::dummy_stepper, empty_system,
boost::array<double, 1ul>, double*,
boost::numeric::odeint::detail::ode_state_time_iterator_tag,
boost::numeric::odeint::stepper_tag>::times_iterator_impl(boost::numeric::odeint::dummy_stepper,
empty_system, boost::array<double, 1ul>&, double*, double*, double)
       1 SUMMARY: AddressSanitizer: global-buffer-overflow
/home/ben/development/boost/test/build/boost_root/status/../boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp:86:42
in
boost::numeric::odeint::times_iterator_impl<boost::numeric::odeint::times_iterator<boost::numeric::odeint::dummy_stepper,
empty_system, boost::array<double, 1ul>, double*,
boost::numeric::odeint::stepper_tag>,
boost::numeric::odeint::dummy_stepper, empty_system,
boost::array<double, 1ul>, double*,
boost::numeric::odeint::detail::ode_state_iterator_tag,
boost::numeric::odeint::stepper_tag>::times_iterator_impl(boost::numeric::odeint::dummy_stepper,
empty_system, boost::array<double, 1ul>&, double*, double*, double)
       1 SUMMARY: AddressSanitizer: container-overflow
/usr/local/bin/../include/c++/v1/string:1664:39 in
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::__is_long() const
       1 SUMMARY: AddressSanitizer: container-overflow
/home/ben/development/llvm/trunk/llvm/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:188:3
in __interceptor_strcmp
       1 SUMMARY: AddressSanitizer: 96 byte(s) leaked in 6 allocation(s).
       1 SUMMARY: AddressSanitizer: 8 byte(s) leaked in 1 allocation(s).
       1 SUMMARY: AddressSanitizer: 816 byte(s) leaked in 1 allocation(s).
       1 SUMMARY: AddressSanitizer: 797943 byte(s) leaked in 357
allocation(s).
       1 SUMMARY: AddressSanitizer: 796079 byte(s) leaked in 351
allocation(s).
       1 SUMMARY: AddressSanitizer: 72000000 byte(s) leaked in 3000000
allocation(s).
       1 SUMMARY: AddressSanitizer: 65536 byte(s) leaked in 1 allocation(s).
       1 SUMMARY: AddressSanitizer: 56 byte(s) leaked in 4 allocation(s).
       1 SUMMARY: AddressSanitizer: 324 byte(s) leaked in 3 allocation(s).
       1 SUMMARY: AddressSanitizer: 24 byte(s) leaked in 2 allocation(s).
       1 SUMMARY: AddressSanitizer: 20 byte(s) leaked in 2 allocation(s).
       1 SUMMARY: AddressSanitizer: 1984 byte(s) leaked in 11 allocation(s).
       1 SUMMARY: AddressSanitizer: 171 byte(s) leaked in 9 allocation(s).
       1 SUMMARY: AddressSanitizer: 14256 byte(s) leaked in 99
allocation(s).
       1 SUMMARY: AddressSanitizer: 12345 byte(s) leaked in 1 allocation(s).
       1 SUMMARY: AddressSanitizer: 114688 byte(s) leaked in 7
allocation(s).
       1 SUMMARY: AddressSanitizer: 104 byte(s) leaked in 2 allocation(s).

I'm happy to expand on any line that is less than useful.

For the sake of sanity, I think I will also add this to the command line
-Wno-unused-local-typedef, as the log contains 462603 matches, often
times the warnings push more interesting things off beyond the 64Kb limit.

Ben


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk