Skip to content

Address sanitizer reports memory leak of uv::Loop in worker thread tests #3558

Open
@calcmogul

Description

@calcmogul

Here's the output of asan.

=================================================================
==71510==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 952 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f7ca1 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7f5f9a12a12a in __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/11.1.0/ext/new_allocator.h:121
    #2 0x7f5f9a129ef6 in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/11.1.0/bits/alloc_traits.h:460
    #3 0x7f5f9a129b05 in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/11.1.0/bits/allocated_ptr.h:97
    #4 0x7f5f9a129872 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(wpi::uv::Loop*&, std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Loop> >, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:648
    #5 0x7f5f9a12969a in std::__shared_ptr<wpi::uv::Loop, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Loop> >, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:1337
    #6 0x7f5f9a12952d in std::shared_ptr<wpi::uv::Loop>::shared_ptr<std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Loop> >, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:409
    #7 0x7f5f9a129370 in std::shared_ptr<wpi::uv::Loop> std::allocate_shared<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(std::allocator<wpi::uv::Loop> const&, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:861
    #8 0x7f5f9a129171 in std::shared_ptr<wpi::uv::Loop> std::make_shared<wpi::uv::Loop, wpi::uv::Loop::private_init>(wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:877
    #9 0x7f5f9a1288d2 in wpi::uv::Loop::Create() /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/cpp/uv/Loop.cpp:28
    #10 0x5623b1134262 in wpi::WorkerThread_Loop_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:38
    #11 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #12 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #13 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #14 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #15 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #16 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #17 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #18 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #19 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #20 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #21 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #22 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 952 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f7ca1 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7f5f9a12a12a in __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/11.1.0/ext/new_allocator.h:121
    #2 0x7f5f9a129ef6 in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/11.1.0/bits/alloc_traits.h:460
    #3 0x7f5f9a129b05 in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/11.1.0/bits/allocated_ptr.h:97
    #4 0x7f5f9a129872 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(wpi::uv::Loop*&, std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Loop> >, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:648
    #5 0x7f5f9a12969a in std::__shared_ptr<wpi::uv::Loop, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Loop> >, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:1337
    #6 0x7f5f9a12952d in std::shared_ptr<wpi::uv::Loop>::shared_ptr<std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Loop> >, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:409
    #7 0x7f5f9a129370 in std::shared_ptr<wpi::uv::Loop> std::allocate_shared<wpi::uv::Loop, std::allocator<wpi::uv::Loop>, wpi::uv::Loop::private_init>(std::allocator<wpi::uv::Loop> const&, wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:861
    #8 0x7f5f9a129171 in std::shared_ptr<wpi::uv::Loop> std::make_shared<wpi::uv::Loop, wpi::uv::Loop::private_init>(wpi::uv::Loop::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:877
    #9 0x7f5f9a1288d2 in wpi::uv::Loop::Create() /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/cpp/uv/Loop.cpp:28
    #10 0x5623b1134fd0 in wpi::WorkerThread_LoopVoid_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:56
    #11 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #12 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #13 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #14 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #15 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #16 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #17 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #18 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #19 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #20 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #21 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #22 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 352 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f7ca1 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x5623b115c25f in __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5025f)
    #2 0x5623b115b0b0 in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4f0b0)
    #3 0x5623b1159753 in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, (__gnu_cxx::_Lock_policy)2> >&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4d753)
    #4 0x5623b115779a in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(wpi::uv::Async<std::function<void (int)>, int>*&, std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void (int)>, int> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:648
    #5 0x5623b11559ed in std::__shared_ptr<wpi::uv::Async<std::function<void (int)>, int>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void (int)>, int> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa499ed)
    #6 0x5623b115331a in std::shared_ptr<wpi::uv::Async<std::function<void (int)>, int> >::shared_ptr<std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void (int)>, int> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4731a)
    #7 0x5623b11502b8 in std::shared_ptr<wpi::uv::Async<std::function<void (int)>, int> > std::allocate_shared<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::allocator<wpi::uv::Async<std::function<void (int)>, int> > const&, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa442b8)
    #8 0x5623b114d2ec in std::shared_ptr<wpi::uv::Async<std::function<void (int)>, int> > std::make_shared<wpi::uv::Async<std::function<void (int)>, int>, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa412ec)
    #9 0x5623b1149a81 in wpi::uv::Async<std::function<void (int)>, int>::Create(std::shared_ptr<wpi::uv::Loop> const&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa3da81)
    #10 0x5623b114487d in wpi::uv::Async<std::function<void (int)>, int>::Create(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/uv/Async.h:55
    #11 0x5623b11401b3 in wpi::detail::WorkerThreadAsync<int>::SetLoop(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/WorkerThread.h:29
    #12 0x5623b113c5b6 in wpi::WorkerThread<int (bool)>::SetLoop(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/WorkerThread.h:179
    #13 0x5623b1134286 in wpi::WorkerThread_Loop_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:39
    #14 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #15 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #16 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #17 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #18 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #19 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #20 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #21 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #22 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #23 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #24 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #25 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 352 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f7ca1 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x5623b1158713 in __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4c713)
    #2 0x5623b1156b94 in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4ab94)
    #3 0x5623b11543f7 in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/11.1.0/bits/allocated_ptr.h:97
    #4 0x5623b1151510 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(wpi::uv::Async<std::function<void ()> >*&, std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void ()> > > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:648
    #5 0x5623b114e6cb in std::__shared_ptr<wpi::uv::Async<std::function<void ()> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void ()> > > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:1337
    #6 0x5623b114b680 in std::shared_ptr<wpi::uv::Async<std::function<void ()> > >::shared_ptr<std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void ()> > > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:409
    #7 0x5623b1146998 in std::shared_ptr<wpi::uv::Async<std::function<void ()> > > std::allocate_shared<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::allocator<wpi::uv::Async<std::function<void ()> > > const&, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa3a998)
    #8 0x5623b1141519 in std::shared_ptr<wpi::uv::Async<std::function<void ()> > > std::make_shared<wpi::uv::Async<std::function<void ()> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa35519)
    #9 0x5623b113e4d5 in wpi::uv::Async<std::function<void ()> >::Create(std::shared_ptr<wpi::uv::Loop> const&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa324d5)
    #10 0x5623b113b43c in wpi::uv::Async<std::function<void ()> >::Create(wpi::uv::Loop&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa2f43c)
    #11 0x5623b113a525 in wpi::detail::WorkerThreadAsync<void>::SetLoop(wpi::uv::Loop&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa2e525)
    #12 0x5623b113cace in wpi::WorkerThread<void (bool)>::SetLoop(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/WorkerThread.h:179
    #13 0x5623b1134ff4 in wpi::WorkerThread_LoopVoid_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:57
    #14 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #15 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #16 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #17 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #18 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #19 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #20 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #21 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #22 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #23 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #24 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #25 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f6279 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x5623b115b924 in wpi::uv::HandleImpl<wpi::uv::Async<std::function<void ()> >, uv_async_s>::HandleImpl() (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4f924)
    #2 0x5623b115a795 in wpi::uv::Async<std::function<void ()> >::Async(std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init const&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4e795)
    #3 0x5623b11587ea in void __gnu_cxx::new_allocator<wpi::uv::Async<std::function<void ()> > >::construct<wpi::uv::Async<std::function<void ()> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(wpi::uv::Async<std::function<void ()> >*, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4c7ea)
    #4 0x5623b1156ccf in void std::allocator_traits<std::allocator<wpi::uv::Async<std::function<void ()> > > >::construct<wpi::uv::Async<std::function<void ()> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::allocator<wpi::uv::Async<std::function<void ()> > >&, wpi::uv::Async<std::function<void ()> >*, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4accf)
    #5 0x5623b11546ba in std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:519
    #6 0x5623b11515c2 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(wpi::uv::Async<std::function<void ()> >*&, std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void ()> > > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:650
    #7 0x5623b114e6cb in std::__shared_ptr<wpi::uv::Async<std::function<void ()> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void ()> > > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:1337
    #8 0x5623b114b680 in std::shared_ptr<wpi::uv::Async<std::function<void ()> > >::shared_ptr<std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void ()> > > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr.h:409
    #9 0x5623b1146998 in std::shared_ptr<wpi::uv::Async<std::function<void ()> > > std::allocate_shared<wpi::uv::Async<std::function<void ()> >, std::allocator<wpi::uv::Async<std::function<void ()> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::allocator<wpi::uv::Async<std::function<void ()> > > const&, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa3a998)
    #10 0x5623b1141519 in std::shared_ptr<wpi::uv::Async<std::function<void ()> > > std::make_shared<wpi::uv::Async<std::function<void ()> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init>(std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void ()> >::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa35519)
    #11 0x5623b113e4d5 in wpi::uv::Async<std::function<void ()> >::Create(std::shared_ptr<wpi::uv::Loop> const&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa324d5)
    #12 0x5623b113b43c in wpi::uv::Async<std::function<void ()> >::Create(wpi::uv::Loop&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa2f43c)
    #13 0x5623b113a525 in wpi::detail::WorkerThreadAsync<void>::SetLoop(wpi::uv::Loop&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa2e525)
    #14 0x5623b113cace in wpi::WorkerThread<void (bool)>::SetLoop(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/WorkerThread.h:179
    #15 0x5623b1134ff4 in wpi::WorkerThread_LoopVoid_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:57
    #16 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #17 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #18 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #19 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #20 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #21 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #22 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #23 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #24 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #25 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #26 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #27 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f6652 in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:164
    #1 0x7f5f9a186dd8 in uv__realloc(void*, unsigned long) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/uv-common.cpp:98
    #2 0x7f5f9a191440 in maybe_resize /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/core.cpp:855
    #3 0x7f5f9a1919e4 in uv__io_start(uv_loop_s*, uv__io_s*, unsigned int) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/core.cpp:893
    #4 0x7f5f9a1b5c79 in uv__signal_loop_once_init /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/signal.cpp:273
    #5 0x7f5f9a1b6011 in uv_signal_init(uv_loop_s*, uv_signal_s*) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/signal.cpp:320
    #6 0x7f5f9a1a9c05 in uv_loop_init(uv_loop_s*) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/loop.cpp:72
    #7 0x7f5f9a1288fd in wpi::uv::Loop::Create() /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/cpp/uv/Loop.cpp:29
    #8 0x5623b1134262 in wpi::WorkerThread_Loop_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:38
    #9 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #10 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #11 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #12 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #13 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #14 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #15 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #16 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #17 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #18 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #19 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #20 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f6652 in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:164
    #1 0x7f5f9a186dd8 in uv__realloc(void*, unsigned long) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/uv-common.cpp:98
    #2 0x7f5f9a191440 in maybe_resize /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/core.cpp:855
    #3 0x7f5f9a1919e4 in uv__io_start(uv_loop_s*, uv__io_s*, unsigned int) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/core.cpp:893
    #4 0x7f5f9a1b5c79 in uv__signal_loop_once_init /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/signal.cpp:273
    #5 0x7f5f9a1b6011 in uv_signal_init(uv_loop_s*, uv_signal_s*) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/signal.cpp:320
    #6 0x7f5f9a1a9c05 in uv_loop_init(uv_loop_s*) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/libuv/src/unix/loop.cpp:72
    #7 0x7f5f9a1288fd in wpi::uv::Loop::Create() /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/cpp/uv/Loop.cpp:29
    #8 0x5623b1134fd0 in wpi::WorkerThread_LoopVoid_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:56
    #9 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #10 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #11 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #12 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #13 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #14 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #15 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #16 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #17 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #18 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #19 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #20 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f6279 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x5623b115cfd2 in wpi::uv::HandleImpl<wpi::uv::Async<std::function<void (int)>, int>, uv_async_s>::HandleImpl() (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa50fd2)
    #2 0x5623b115cc9b in wpi::uv::Async<std::function<void (int)>, int>::Async(std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init const&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa50c9b)
    #3 0x5623b115c336 in void __gnu_cxx::new_allocator<wpi::uv::Async<std::function<void (int)>, int> >::construct<wpi::uv::Async<std::function<void (int)>, int>, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(wpi::uv::Async<std::function<void (int)>, int>*, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa50336)
    #4 0x5623b115b1eb in void std::allocator_traits<std::allocator<wpi::uv::Async<std::function<void (int)>, int> > >::construct<wpi::uv::Async<std::function<void (int)>, int>, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::allocator<wpi::uv::Async<std::function<void (int)>, int> >&, wpi::uv::Async<std::function<void (int)>, int>*, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4f1eb)
    #5 0x5623b1159a16 in std::_Sp_counted_ptr_inplace<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4da16)
    #6 0x5623b115784c in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(wpi::uv::Async<std::function<void (int)>, int>*&, std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void (int)>, int> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) /usr/include/c++/11.1.0/bits/shared_ptr_base.h:650
    #7 0x5623b11559ed in std::__shared_ptr<wpi::uv::Async<std::function<void (int)>, int>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void (int)>, int> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa499ed)
    #8 0x5623b115331a in std::shared_ptr<wpi::uv::Async<std::function<void (int)>, int> >::shared_ptr<std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::_Sp_alloc_shared_tag<std::allocator<wpi::uv::Async<std::function<void (int)>, int> > >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa4731a)
    #9 0x5623b11502b8 in std::shared_ptr<wpi::uv::Async<std::function<void (int)>, int> > std::allocate_shared<wpi::uv::Async<std::function<void (int)>, int>, std::allocator<wpi::uv::Async<std::function<void (int)>, int> >, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::allocator<wpi::uv::Async<std::function<void (int)>, int> > const&, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa442b8)
    #10 0x5623b114d2ec in std::shared_ptr<wpi::uv::Async<std::function<void (int)>, int> > std::make_shared<wpi::uv::Async<std::function<void (int)>, int>, std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init>(std::shared_ptr<wpi::uv::Loop> const&, wpi::uv::Async<std::function<void (int)>, int>::private_init&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa412ec)
    #11 0x5623b1149a81 in wpi::uv::Async<std::function<void (int)>, int>::Create(std::shared_ptr<wpi::uv::Loop> const&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa3da81)
    #12 0x5623b114487d in wpi::uv::Async<std::function<void (int)>, int>::Create(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/uv/Async.h:55
    #13 0x5623b11401b3 in wpi::detail::WorkerThreadAsync<int>::SetLoop(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/WorkerThread.h:29
    #14 0x5623b113c5b6 in wpi::WorkerThread<int (bool)>::SetLoop(wpi::uv::Loop&) /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/WorkerThread.h:179
    #15 0x5623b1134286 in wpi::WorkerThread_Loop_Test::TestBody() /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/WorkerThreadTest.cpp:39
    #16 0x7f5f99bfd2c5 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #17 0x7f5f99beb6e5 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #18 0x7f5f99b83385 in testing::Test::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2682
    #19 0x7f5f99b84941 in testing::TestInfo::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2861
    #20 0x7f5f99b85aea in testing::TestSuite::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:3015
    #21 0x7f5f99bab516 in testing::internal::UnitTestImpl::RunAllTests() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5855
    #22 0x7f5f99bffe77 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2607
    #23 0x7f5f99bee196 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:2643
    #24 0x7f5f99ba7f61 in testing::UnitTest::Run() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/src/gtest.cc:5438
    #25 0x5623b18d4940 in RUN_ALL_TESTS() /home/tav/git/wpilib/allwpilib/build-cmake-asan/googletest/googletest-src/googletest/include/gtest/gtest.h:2490
    #26 0x5623b18d4811 in main /home/tav/git/wpilib/allwpilib/wpiutil/src/test/native/cpp/main.cpp:9
    #27 0x7f5f99599b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f7ca1 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x5623b116b1cf in __gnu_cxx::new_allocator<std::tuple<std::function<void (int)>, int> >::allocate(unsigned long, void const*) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5f1cf)
    #2 0x5623b116a4f1 in std::allocator_traits<std::allocator<std::tuple<std::function<void (int)>, int> > >::allocate(std::allocator<std::tuple<std::function<void (int)>, int> >&, unsigned long) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5e4f1)
    #3 0x5623b1169061 in std::_Vector_base<std::tuple<std::function<void (int)>, int>, std::allocator<std::tuple<std::function<void (int)>, int> > >::_M_allocate(unsigned long) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5d061)
    #4 0x5623b116717a in void std::vector<std::tuple<std::function<void (int)>, int>, std::allocator<std::tuple<std::function<void (int)>, int> > >::_M_realloc_insert<std::tuple<std::function<void (int)>&&, int&&> >(__gnu_cxx::__normal_iterator<std::tuple<std::function<void (int)>, int>*, std::vector<std::tuple<std::function<void (int)>, int>, std::allocator<std::tuple<std::function<void (int)>, int> > > >, std::tuple<std::function<void (int)>&&, int&&>&&) /usr/include/c++/11.1.0/bits/vector.tcc:440
    #5 0x5623b1165cb8 in std::tuple<std::function<void (int)>, int>& std::vector<std::tuple<std::function<void (int)>, int>, std::allocator<std::tuple<std::function<void (int)>, int> > >::emplace_back<std::tuple<std::function<void (int)>&&, int&&> >(std::tuple<std::function<void (int)>&&, int&&>&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa59cb8)
    #6 0x5623b116450a in void wpi::uv::Async<std::function<void (int)>, int>::Send<std::function<void (int)>, int>(std::function<void (int)>&&, int&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5850a)
    #7 0x5623b1162991 in void wpi::detail::RunWorkerThreadRequest<int, bool>(wpi::detail::WorkerThreadThread<int, bool>&, wpi::detail::WorkerThreadRequest<int, bool>&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa56991)
    #8 0x5623b1160d83 in wpi::detail::WorkerThreadThread<int, bool>::Main() (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa54d83)
    #9 0x7f5f99fb4c95 in operator() /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/cpp/SafeThread.cpp:36
    #10 0x7f5f99fb5f4f in __invoke_impl<void, wpi::detail::SafeThreadOwnerBase::Start(std::shared_ptr<wpi::SafeThread>)::<lambda()> > /usr/include/c++/11.1.0/bits/invoke.h:61
    #11 0x7f5f99fb5f04 in __invoke<wpi::detail::SafeThreadOwnerBase::Start(std::shared_ptr<wpi::SafeThread>)::<lambda()> > /usr/include/c++/11.1.0/bits/invoke.h:96
    #12 0x7f5f99fb5eb1 in _M_invoke<0> /usr/include/c++/11.1.0/bits/std_thread.h:253
    #13 0x7f5f99fb5e85 in operator() /usr/include/c++/11.1.0/bits/std_thread.h:260
    #14 0x7f5f99fb5e69 in _M_run /usr/include/c++/11.1.0/bits/std_thread.h:211
    #15 0x7f5f999933c3 in execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f5f9a3f7ca1 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x5623b116ae7d in __gnu_cxx::new_allocator<std::tuple<std::function<void ()> > >::allocate(unsigned long, void const*) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5ee7d)
    #2 0x5623b116a332 in std::allocator_traits<std::allocator<std::tuple<std::function<void ()> > > >::allocate(std::allocator<std::tuple<std::function<void ()> > >&, unsigned long) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5e332)
    #3 0x5623b1168a95 in std::_Vector_base<std::tuple<std::function<void ()> >, std::allocator<std::tuple<std::function<void ()> > > >::_M_allocate(unsigned long) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa5ca95)
    #4 0x5623b1166980 in void std::vector<std::tuple<std::function<void ()> >, std::allocator<std::tuple<std::function<void ()> > > >::_M_realloc_insert<std::tuple<std::function<void ()>&&> >(__gnu_cxx::__normal_iterator<std::tuple<std::function<void ()> >*, std::vector<std::tuple<std::function<void ()> >, std::allocator<std::tuple<std::function<void ()> > > > >, std::tuple<std::function<void ()>&&>&&) /usr/include/c++/11.1.0/bits/vector.tcc:440
    #5 0x5623b116546a in std::tuple<std::function<void ()> >& std::vector<std::tuple<std::function<void ()> >, std::allocator<std::tuple<std::function<void ()> > > >::emplace_back<std::tuple<std::function<void ()>&&> >(std::tuple<std::function<void ()>&&>&&) /usr/include/c++/11.1.0/bits/vector.tcc:121
    #6 0x5623b1163539 in void wpi::uv::Async<std::function<void ()> >::Send<std::function<void ()> >(std::function<void ()>&&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa57539)
    #7 0x5623b1161bd8 in void wpi::detail::RunWorkerThreadRequest<bool>(wpi::detail::WorkerThreadThread<void, bool>&, wpi::detail::WorkerThreadRequest<void, bool>&) (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa55bd8)
    #8 0x5623b11603bf in wpi::detail::WorkerThreadThread<void, bool>::Main() (/home/tav/git/wpilib/allwpilib/build-cmake-asan/bin/wpiutil_test+0xa543bf)
    #9 0x7f5f99fb4c95 in operator() /home/tav/git/wpilib/allwpilib/wpiutil/src/main/native/cpp/SafeThread.cpp:36
    #10 0x7f5f99fb5f4f in __invoke_impl<void, wpi::detail::SafeThreadOwnerBase::Start(std::shared_ptr<wpi::SafeThread>)::<lambda()> > /usr/include/c++/11.1.0/bits/invoke.h:61
    #11 0x7f5f99fb5f04 in __invoke<wpi::detail::SafeThreadOwnerBase::Start(std::shared_ptr<wpi::SafeThread>)::<lambda()> > /usr/include/c++/11.1.0/bits/invoke.h:96
    #12 0x7f5f99fb5eb1 in _M_invoke<0> /usr/include/c++/11.1.0/bits/std_thread.h:253
    #13 0x7f5f99fb5e85 in operator() /usr/include/c++/11.1.0/bits/std_thread.h:260
    #14 0x7f5f99fb5e69 in _M_run /usr/include/c++/11.1.0/bits/std_thread.h:211
    #15 0x7f5f999933c3 in execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82

SUMMARY: AddressSanitizer: 3192 byte(s) leaked in 10 allocation(s).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions