Skip to content

[C++] Fix ASAN issue in arrow-dataset-writer-test MaxRowsOneWriteBackpresure #46713

Description

@amoeba

Describe the bug, including details regarding any error messages, version, and platform.

While looking at #45235, we found what looks like a latent ASAN issue in dataset-writer-test. The issue was only detectable once the original ASAN issue, #45235, was fixed in #46711.

On my x86_64 debian sid mechine, with Arrow C++ built with DARROW_USE_ASAN=ON and the change in #46711 applied, I can get ASAN to fail if I run the test in a continuous loop after about 5 minutes:

$ while true; LSAN_OPTIONS=verbosity=1:log_thread=1 ASAN_OPTIONS=detect_leaks=1 debug/arrow-dataset-dataset-writer-test || break; end;
$ # let it run for about 5 minutes, then
...>8...
[ FAILED ] 1 test, listed below:
[ FAILED ] DatasetWriterTestFixture.MaxRowsOneWriteBackpresure
1 FAILED TEST
==161922==T5 TSDDtor
==161922==T1 TSDDtor
==161922==T5 exited
==161922==T6 TSDDtor
==161922==T2 TSDDtor
==161922==T8 TSDDtor
==161922==T2 exited
==161922==T4 TSDDtor
==161922==T8 exited
==161922==T4 exited
==161922==T3 TSDDtor
==161922==T7 TSDDtor
==161922==T6 exited
==161922==T1 exited
==161922==T3 exited
==161922==T7 exited
==161922==LeakSanitizer: checking for leaks
=================================================================
==161922==ERROR: LeakSanitizer: detected memory leaks
Indirect leak of 160 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x7fa1a6f2ae99 in std::__detail::_MakeUniq<arrow::ConcreteFutureImpl>::__single_object std::make_unique<arrow::ConcreteFutureImpl>() /usr/include/c++/14/bits/unique_ptr.h:1077
#2 0x7fa1a6f2481a in arrow::FutureImpl::Make() /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.cc:209
#3 0x55e3d567f02c in arrow::Future<arrow::internal::Empty>::Make() /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:420
#4 0x7fa1a6e26c66 in AsyncTaskSchedulerImpl /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:157
#5 0x7fa1a6e2d97c in make_unique<arrow::util::(anonymous namespace)::AsyncTaskSchedulerImpl, arrow::StopToken, arrow::internal::FnOnce<void(const arrow::Status&)> > /usr/include/c++/14/bits/unique_ptr.h:1077
#6 0x7fa1a6e2b359 in arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken) /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:468
#7 0x55e3d5746071 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#8 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#9 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#10 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#11 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#12 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#13 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#14 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#15 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#16 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#17 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#18 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#19 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
Indirect leak of 160 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x7fa1a6f2ae99 in std::__detail::_MakeUniq<arrow::ConcreteFutureImpl>::__single_object std::make_unique<arrow::ConcreteFutureImpl>() /usr/include/c++/14/bits/unique_ptr.h:1077
#2 0x7fa1a6f2481a in arrow::FutureImpl::Make() /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.cc:209
#3 0x55e3d567f02c in arrow::Future<arrow::internal::Empty>::Make() /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:420
#4 0x7fa1a6e2de16 in Then<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()> > /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:606
#5 0x7fa1a6e2b419 in arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken) /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:472
#6 0x55e3d5746071 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#7 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#8 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#9 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#10 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#11 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#12 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#13 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#14 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#15 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#16 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#17 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#18 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
Indirect leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x7fa1a6e2d91e in make_unique<arrow::util::(anonymous namespace)::AsyncTaskSchedulerImpl, arrow::StopToken, arrow::internal::FnOnce<void(const arrow::Status&)> > /usr/include/c++/14/bits/unique_ptr.h:1077
#2 0x7fa1a6e2b359 in arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken) /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:468
#3 0x55e3d5746071 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#4 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#5 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#6 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#7 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#8 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#9 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#10 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#11 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#12 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#13 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#14 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#15 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
Indirect leak of 40 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x7fa1a6e323e7 in FnOnce<arrow::Future<>::WrapResultOnComplete::Callback<arrow::Future<>::ThenOnComplete<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()>, arrow::Future<>::PassthruOnFailure<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()> > > > > /home/bryce/src/apache/arrow/cpp/src/arrow/util/functional.h:133
#2 0x7fa1a6e303ca in AddCallback<arrow::Future<>::ThenOnComplete<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()>, arrow::Future<>::PassthruOnFailure<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()> > > > /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:493
#3 0x7fa1a6e2dee1 in Then<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()> > /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:607
#4 0x7fa1a6e2b419 in arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken) /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:472
#5 0x55e3d5746071 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#6 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#7 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#8 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#9 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#10 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#11 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#12 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#13 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#14 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#15 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#16 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#17 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
Indirect leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x55e3d569441c in std::__new_allocator<std::_Sp_counted_deleter<arrow::FutureImpl*, std::default_delete<arrow::FutureImpl>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
#2 0x55e3d568f305 in std::allocator_traits<std::allocator<std::_Sp_counted_deleter<arrow::FutureImpl*, std::default_delete<arrow::FutureImpl>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_deleter<arrow::FutureImpl*, std::default_delete<arrow::FutureImpl>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:515
#3 0x55e3d568f305 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr_base.h:1050
#4 0x55e3d568bd5a in std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl>, void>(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr_base.h:1563
#5 0x55e3d5687480 in std::enable_if<std::__and_<std::__sp_compatible_with<arrow::FutureImpl*, arrow::FutureImpl*>, std::is_convertible<std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >::pointer, arrow::FutureImpl*>, std::is_move_constructible<std::default_delete<arrow::FutureImpl> > >::value, std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>&>::type std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>::operator=<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr_base.h:1637
#6 0x55e3d5681c71 in std::enable_if<std::is_assignable<std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>&, std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> > >::value, std::shared_ptr<arrow::FutureImpl>&>::type std::shared_ptr<arrow::FutureImpl>::operator=<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr.h:455
#7 0x55e3d567f03f in arrow::Future<arrow::internal::Empty>::Make() /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:420
#8 0x7fa1a6e2de16 in Then<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()> > /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:606
#9 0x7fa1a6e2b419 in arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken) /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:472
#10 0x55e3d5746071 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#11 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#12 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#13 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#14 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#15 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#16 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#17 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#18 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#19 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#20 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#21 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#22 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
Indirect leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x7fa1a6f317ca in std::__new_allocator<arrow::FutureImpl::CallbackRecord>::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
#2 0x7fa1a6f3013e in std::allocator_traits<std::allocator<arrow::FutureImpl::CallbackRecord> >::allocate(std::allocator<arrow::FutureImpl::CallbackRecord>&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:515
#3 0x7fa1a6f3013e in std::_Vector_base<arrow::FutureImpl::CallbackRecord, std::allocator<arrow::FutureImpl::CallbackRecord> >::_M_allocate(unsigned long) /usr/include/c++/14/bits/stl_vector.h:380
#4 0x7fa1a6f2e6f2 in void std::vector<arrow::FutureImpl::CallbackRecord, std::allocator<arrow::FutureImpl::CallbackRecord> >::_M_realloc_append<arrow::FutureImpl::CallbackRecord>(arrow::FutureImpl::CallbackRecord&&) /usr/include/c++/14/bits/vector.tcc:596
#5 0x7fa1a6f2c374 in arrow::FutureImpl::CallbackRecord& std::vector<arrow::FutureImpl::CallbackRecord, std::allocator<arrow::FutureImpl::CallbackRecord> >::emplace_back<arrow::FutureImpl::CallbackRecord>(arrow::FutureImpl::CallbackRecord&&) /usr/include/c++/14/bits/vector.tcc:123
#6 0x7fa1a6f29ec9 in std::vector<arrow::FutureImpl::CallbackRecord, std::allocator<arrow::FutureImpl::CallbackRecord> >::push_back(arrow::FutureImpl::CallbackRecord&&) /usr/include/c++/14/bits/stl_vector.h:1301
#7 0x7fa1a6f28578 in arrow::ConcreteFutureImpl::AddCallback(arrow::internal::FnOnce<void (arrow::FutureImpl const&)>, arrow::CallbackOptions) /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.cc:67
#8 0x7fa1a6f24d5b in arrow::FutureImpl::AddCallback(arrow::internal::FnOnce<void (arrow::FutureImpl const&)>, arrow::CallbackOptions) /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.cc:229
#9 0x7fa1a6e303e0 in AddCallback<arrow::Future<>::ThenOnComplete<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()>, arrow::Future<>::PassthruOnFailure<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()> > > > /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:493
#10 0x7fa1a6e2dee1 in Then<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status(arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void(const arrow::Status&)>, arrow::StopToken)::<lambda()> > /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:607
#11 0x7fa1a6e2b419 in arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken) /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:472
#12 0x55e3d5746071 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#13 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#14 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#15 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#16 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#17 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#18 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#19 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#20 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#21 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#22 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#23 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#24 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
Indirect leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x55e3d569441c in std::__new_allocator<std::_Sp_counted_deleter<arrow::FutureImpl*, std::default_delete<arrow::FutureImpl>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
#2 0x55e3d568f305 in std::allocator_traits<std::allocator<std::_Sp_counted_deleter<arrow::FutureImpl*, std::default_delete<arrow::FutureImpl>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_deleter<arrow::FutureImpl*, std::default_delete<arrow::FutureImpl>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:515
#3 0x55e3d568f305 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr_base.h:1050
#4 0x55e3d568bd5a in std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl>, void>(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr_base.h:1563
#5 0x55e3d5687480 in std::enable_if<std::__and_<std::__sp_compatible_with<arrow::FutureImpl*, arrow::FutureImpl*>, std::is_convertible<std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >::pointer, arrow::FutureImpl*>, std::is_move_constructible<std::default_delete<arrow::FutureImpl> > >::value, std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>&>::type std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>::operator=<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr_base.h:1637
#6 0x55e3d5681c71 in std::enable_if<std::is_assignable<std::__shared_ptr<arrow::FutureImpl, (__gnu_cxx::_Lock_policy)2>&, std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> > >::value, std::shared_ptr<arrow::FutureImpl>&>::type std::shared_ptr<arrow::FutureImpl>::operator=<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >(std::unique_ptr<arrow::FutureImpl, std::default_delete<arrow::FutureImpl> >&&) /usr/include/c++/14/bits/shared_ptr.h:455
#7 0x55e3d567f03f in arrow::Future<arrow::internal::Empty>::Make() /home/bryce/src/apache/arrow/cpp/src/arrow/util/future.h:420
#8 0x7fa1a6e26c66 in AsyncTaskSchedulerImpl /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:157
#9 0x7fa1a6e2d97c in make_unique<arrow::util::(anonymous namespace)::AsyncTaskSchedulerImpl, arrow::StopToken, arrow::internal::FnOnce<void(const arrow::Status&)> > /usr/include/c++/14/bits/unique_ptr.h:1077
#10 0x7fa1a6e2b359 in arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken) /home/bryce/src/apache/arrow/cpp/src/arrow/util/async_util.cc:468
#11 0x55e3d5746071 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#12 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#13 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#14 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#15 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#16 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#17 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#18 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#19 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#20 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#21 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#22 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#23 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
Indirect leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7fa1ac6f5778 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x55e3d5750f90 in arrow::internal::FnOnce<void (arrow::Status const&)>::FnOnce<arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken)::{default arg#2}::{lambda(arrow::Status const&)#1}, void>(arrow::util::AsyncTaskScheduler::Make(arrow::internal::FnOnce<arrow::Status (arrow::util::AsyncTaskScheduler*)>, arrow::internal::FnOnce<void (arrow::Status const&)>, arrow::StopToken)::{default arg#2}::{lambda(arrow::Status const&)#1}) /home/bryce/src/apache/arrow/cpp/src/arrow/util/functional.h:133
#2 0x55e3d5746020 in arrow::dataset::internal::DatasetWriterTestFixture::SetUp() /home/bryce/src/apache/arrow/cpp/src/arrow/dataset/dataset_writer_test.cc:88
#3 0x7fa1ac56594d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#4 0x7fa1ac55dd4a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#5 0x7fa1ac538564 in testing::Test::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2723
#6 0x7fa1ac538fd5 in testing::TestInfo::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2874
#7 0x7fa1ac5398c3 in testing::TestSuite::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:3052
#8 0x7fa1ac549a81 in testing::internal::UnitTestImpl::RunAllTests() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:6004
#9 0x7fa1ac566a03 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2653
#10 0x7fa1ac55ef32 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:2689
#11 0x7fa1ac54820d in testing::UnitTest::Run() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest.cc:5583
#12 0x7fa1accfc1a1 in RUN_ALL_TESTS() /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/include/gtest/gtest.h:2334
#13 0x7fa1accfc18d in main /home/bryce/src/apache/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc:64
#14 0x7fa1a0433ca7 (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: b46a78e7229ed6fe08549e2bc7ca64155cc5cf1e)
SUMMARY: AddressSanitizer: 560 byte(s) leaked in 8 allocation(s).

Component(s)

C++

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions