[ https://issues.apache.org/jira/browse/ARROW-15266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Keane resolved ARROW-15266. ------------------------------------ Resolution: Fixed Issue resolved by pull request 12090 [https://github.com/apache/arrow/pull/12090] > [R] [CI] Test reorganization triggering valgrind errors > ------------------------------------------------------- > > Key: ARROW-15266 > URL: https://issues.apache.org/jira/browse/ARROW-15266 > Project: Apache Arrow > Issue Type: Bug > Components: R > Reporter: Jonathan Keane > Assignee: Dewey Dunnington > Priority: Critical > Labels: pull-request-available > Fix For: 7.0.0 > > Time Spent: 40m > Remaining Estimate: 0h > > It looks like the test reorganization that was part of ARROW-15010 means that > some of the tests that were being skipped because re2 is known to > (purposefully) not pass valgrind. > For example, the {{format_ISO8601}} tests that are now in > test-dplyr-funcs-datetime.R > used to be in test-dplyr-funcs-string.R below a > {{skip_if_not_available("re2")}} > https://github.com/apache/arrow/blob/0ead7c906dafb73c2b2829681845fe5a808a54e9/r/tests/testthat/test-dplyr-funcs-string.R#L861-L919 > A bit counter-intuitively "not available" for re2 includes being run on the > systems that run valgrind: > https://github.com/apache/arrow/blob/master/r/tests/testthat/helper-skip.R#L25-L27 > We can add in that re2 skip gatting those tests (though, there might be more > that need that gating too!) > https://dev.azure.com/ursacomputing/crossbow/_build/results?buildId=18175&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=d9b15392-e4ce-5e4c-0c8c-b69645229181&l=8758 > {code} > ==10242== by 0xE266301: > __invoke_impl<arrow::Result<arrow::compute::ExecBatch>, > arrow::compute::(anonymous > namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, > arrow::compute::ExecBatch)::<lambda(arrow::compute::ExecBatch)>&, > arrow::compute::ExecBatch> (invoke.h:60) > ==10242== by 0xE266301: > __invoke_r<arrow::Result<arrow::compute::ExecBatch>, > arrow::compute::(anonymous > namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, > arrow::compute::ExecBatch)::<lambda(arrow::compute::ExecBatch)>&, > arrow::compute::ExecBatch> (invoke.h:142) > ==10242== by 0xE266301: > std::_Function_handler<arrow::Result<arrow::compute::ExecBatch> > (arrow::compute::ExecBatch), arrow::compute::(anonymous > namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, > arrow::compute::ExecBatch)::{lambda(arrow::compute::ExecBatch)#1}>::_M_invoke(std::_Any_data > const&, arrow::compute::ExecBatch&&) (std_function.h:292) > ==10242== Uninitialised value was created by a heap allocation > ==10242== at 0x483BE63: operator new(unsigned long) (in > /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) > ==10242== by 0xEC22BD5: allocate (new_allocator.h:115) > ==10242== by 0xEC22BD5: PODArray (pod_array.h:22) > ==10242== by 0xEC22BD5: re2::SparseSetT<void>::SparseSetT(int) > (sparse_set.h:241) > ==10242== by 0xEC208E9: re2::Prog::Optimize() (prog.cc:225) > ==10242== by 0xEC393BB: re2::Compiler::Finish(re2::Regexp*) > (compile.cc:1172) > ==10242== by 0xEC3B48E: re2::Compiler::Compile(re2::Regexp*, bool, long) > (compile.cc:1156) > ==10242== by 0xEC1B8AE: re2::RE2::Init(re2::StringPiece const&, > re2::RE2::Options const&) (re2.cc:223) > ==10242== by 0xEC1C480: re2::RE2::RE2(re2::StringPiece const&, > re2::RE2::Options const&) (re2.cc:126) > ==10242== by 0xE7032B7: RegexSubstringReplacer (scalar_string.cc:3178) > ==10242== by 0xE7032B7: make_unique<arrow::compute::internal::(anonymous > namespace)::RegexSubstringReplacer<arrow::StringType>, const > arrow::compute::ReplaceSubstringOptions&> (make_unique.h:30) > ==10242== by 0xE7032B7: arrow::compute::internal::(anonymous > namespace)::RegexSubstringReplacer<arrow::StringType>::Make(arrow::compute::ReplaceSubstringOptions > const&) (scalar_string.cc:3158) > ==10242== by 0xE7063C0: arrow::compute::internal::(anonymous > namespace)::ReplaceSubstring<arrow::StringType, > arrow::compute::internal::(anonymous > namespace)::RegexSubstringReplacer<arrow::StringType> > >::Exec(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, > arrow::Datum*) (scalar_string.cc:3060) > ==10242== by 0xE2FF61E: __invoke_impl<arrow::Status, arrow::Status > (*&)(arrow::compute::KernelContext*, const arrow::compute::ExecBatch&, > arrow::Datum*), arrow::compute::KernelContext*, const > arrow::compute::ExecBatch&, arrow::Datum*> (invoke.h:60) > ==10242== by 0xE2FF61E: __invoke_r<arrow::Status, arrow::Status > (*&)(arrow::compute::KernelContext*, const arrow::compute::ExecBatch&, > arrow::Datum*), arrow::compute::KernelContext*, const > arrow::compute::ExecBatch&, arrow::Datum*> (invoke.h:142) > ==10242== by 0xE2FF61E: std::_Function_handler<arrow::Status > (arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, > arrow::Datum*), arrow::Status (*)(arrow::compute::KernelContext*, > arrow::compute::ExecBatch const&, arrow::Datum*)>::_M_invoke(std::_Any_data > const&, arrow::compute::KernelContext*&&, arrow::compute::ExecBatch const&, > arrow::Datum*&&) (std_function.h:292) > ==10242== by 0xE2290E4: operator() (std_function.h:622) > ==10242== by 0xE2290E4: ExecuteBatch (exec.cc:700) > ==10242== by 0xE2290E4: arrow::compute::detail::(anonymous > namespace)::ScalarExecutor::Execute(std::vector<arrow::Datum, > std::allocator<arrow::Datum> > const&, arrow::compute::detail::ExecListener*) > (exec.cc:641) > ==10242== by 0xE243D54: > arrow::compute::ExecuteScalarExpression(arrow::compute::Expression const&, > arrow::compute::ExecBatch const&, arrow::compute::ExecContext*) > (expression.cc:547) > ==10242== > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)