Dewey Dunnington created ARROW-15676:
----------------------------------------
Summary: [R] New memory leaks in valgrind nightly build
Key: ARROW-15676
URL: https://issues.apache.org/jira/browse/ARROW-15676
Project: Apache Arrow
Issue Type: Bug
Components: R
Reporter: Dewey Dunnington
The 'valgrind' nightly build has been failing for R since February 1 (the
January 26 build passed). The error that currently causes the failure is:
{noformat}
==10264== 12,959 (256 direct, 12,703 indirect) bytes in 1 blocks are definitely
lost in loss record 1,755 of 3,746
==10264== at 0x483BE63: operator new(unsigned long) (in
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==10264== by 0xF165862: allocate (new_allocator.h:115)
==10264== by 0xF165862: allocate (alloc_traits.h:460)
==10264== by 0xF165862:
__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State,
std::allocator<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State>,
(__gnu_cxx::_Lock_policy)2> > > (allocated_ptr.h:97)
==10264== by 0xF165862:
__shared_count<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State,
std::allocator<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State>,
std::function<arrow::Future<std::function<arrow::Future<arrow::dataset::EnumeratedRecordBatch>()>
>()>, int&> (shared_ptr_base.h:680)
==10264== by 0xF165862:
__shared_ptr<std::allocator<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State>,
std::function<arrow::Future<std::function<arrow::Future<arrow::dataset::EnumeratedRecordBatch>()>
>()>, int&> (shared_ptr_base.h:1371)
==10264== by 0xF165862:
shared_ptr<std::allocator<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State>,
std::function<arrow::Future<std::function<arrow::Future<arrow::dataset::EnumeratedRecordBatch>()>
>()>, int&> (shared_ptr.h:408)
==10264== by 0xF165862:
allocate_shared<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State,
std::allocator<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State>,
std::function<arrow::Future<std::function<arrow::Future<arrow::dataset::EnumeratedRecordBatch>()>
>()>, int&> (shared_ptr.h:860)
==10264== by 0xF165862:
make_shared<arrow::MergedGenerator<arrow::dataset::EnumeratedRecordBatch>::State,
std::function<arrow::Future<std::function<arrow::Future<arrow::dataset::EnumeratedRecordBatch>()>
>()>, int&> (shared_ptr.h:876)
==10264== by 0xF165862: MergedGenerator (async_generator.h:996)
==10264== by 0xF165862:
std::function<arrow::Future<arrow::dataset::EnumeratedRecordBatch> ()>
arrow::MakeMergedGenerator<arrow::dataset::EnumeratedRecordBatch>(std::function<arrow::Future<std::function<arrow::Future<arrow::dataset::EnumeratedRecordBatch>
()> > ()>, int) (async_generator.h:1185)
==10264== by 0xF14A2DF: arrow::dataset::(anonymous
namespace)::MakeScanNode(arrow::compute::ExecPlan*,
std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >, arrow::compute::ExecNodeOptions
const&) (scanner.cc:794)
==10264== by 0xF10BF13:
std::_Function_handler<arrow::Result<arrow::compute::ExecNode*>
(arrow::compute::ExecPlan*, std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >, arrow::compute::ExecNodeOptions
const&), arrow::Result<arrow::compute::ExecNode*>
(*)(arrow::compute::ExecPlan*, std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >, arrow::compute::ExecNodeOptions
const&)>::_M_invoke(std::_Any_data const&, arrow::compute::ExecPlan*&&,
std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >&&, arrow::compute::ExecNodeOptions
const&) (invoke.h:60)
==10264== by 0xEFBDCB4:
std::function<arrow::Result<arrow::compute::ExecNode*>
(arrow::compute::ExecPlan*, std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >, arrow::compute::ExecNodeOptions
const&)>::operator()(arrow::compute::ExecPlan*,
std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >, arrow::compute::ExecNodeOptions
const&) const (std_function.h:622)
==10264== by 0xEFBC18F:
arrow::compute::MakeExecNode(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
arrow::compute::ExecPlan*, std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >, arrow::compute::ExecNodeOptions
const&, arrow::compute::ExecFactoryRegistry*) (exec_plan.h:329)
==10264== by 0xEFB5F6E: MakeExecNodeOrStop(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
arrow::compute::ExecPlan*, std::vector<arrow::compute::ExecNode*,
std::allocator<arrow::compute::ExecNode*> >, arrow::compute::ExecNodeOptions
const&) (compute-exec.cpp:52)
==10264== by 0xEFB7426:
ExecNode_Scan(std::shared_ptr<arrow::compute::ExecPlan> const&,
std::shared_ptr<arrow::dataset::Dataset> const&,
std::shared_ptr<arrow::compute::Expression> const&,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >) (compute-exec.cpp:157)
==10264== by 0xEF3DFE1: _arrow_ExecNode_Scan (arrowExports.cpp:1621)
==10264== by 0x4942B4F: R_doDotCall (dotcode.c:610)
==10264== by 0x49B2C97: bcEval (eval.c:7695)
==10264== by 0x498DBC8: Rf_eval (eval.c:748)
{noformat}
First failure:
https://dev.azure.com/ursacomputing/crossbow/_build/results?buildId=19221&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=d9b15392-e4ce-5e4c-0c8c-b69645229181&l=20910
Most recent failure:
https://dev.azure.com/ursacomputing/crossbow/_build/results?buildId=19759&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=d9b15392-e4ce-5e4c-0c8c-b69645229181&l=21089
--
This message was sent by Atlassian Jira
(v8.20.1#820001)