Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
Description
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!)
==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==
Attachments
Issue Links
- links to