[
https://issues.apache.org/jira/browse/ARROW-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17338911#comment-17338911
]
Antoine Pitrou commented on ARROW-12638:
----------------------------------------
I took a look and I have no idea what could be causing this. It could be that
{{ValueOrStop}} doesn't properly clean up because of how R error handling works
(though that should be taken care of by cpp11). I could try to take a deeper
look if this was easily reproducible.
> [R] Valgrind errors with binary array creation errors.
> -------------------------------------------------------
>
> Key: ARROW-12638
> URL: https://issues.apache.org/jira/browse/ARROW-12638
> Project: Apache Arrow
> Issue Type: Bug
> Components: R
> Reporter: Jonathan Keane
> Priority: Major
>
> When we submitted 4.0.0 to cran, we received a few new valgrind errors. Most
> looked like they were unrelated to arrow, but these look like they might be
> fixable in the package:
> in test-Array.R
> (binary errors, skipped)
> {code}
> ==273== 888 (96 direct, 792 indirect) bytes in 1 blocks are definitely lost
> in loss record 240 of 3,224
> ==273== at 0x483BE63: operator new(unsigned long) (in
> /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==273== by 0xD94D5DB: arrow::Status
> arrow::internal::MakeConverterImpl<arrow::r::RConverter,
> arrow::r::RConverterTrait>::Visit<arrow::BinaryType,
> arrow::r::RPrimitiveConverter<arrow::BinaryType, void> >(arrow::BinaryType
> const&) (converter.h:212)
> ==273== by 0xD948125: arrow::Status
> arrow::VisitTypeInline<arrow::internal::MakeConverterImpl<arrow::r::RConverter,
> arrow::r::RConverterTrait> >(arrow::DataType const&,
> arrow::internal::MakeConverterImpl<arrow::r::RConverter,
> arrow::r::RConverterTrait>*) (visitor_inline.h:89)
> ==273== by 0xD93CFB5: arrow::Result<std::unique_ptr<arrow::r::RConverter,
> std::default_delete<arrow::r::RConverter> > >
> arrow::internal::MakeConverter<arrow::r::RConverter,
> arrow::r::RConverterTrait>(std::shared_ptr<arrow::DataType>,
> arrow::r::RConverter::OptionsType, arrow::MemoryPool*) (converter.h:259)
> ==273== by 0xD93CB1A: arrow::r::vec_to_arrow(SEXPREC*,
> std::shared_ptr<arrow::DataType> const&, bool) (r_to_arrow.cpp:1015)
> ==273== by 0xD93CDAA: vec_to_arrow(SEXPREC*, SEXPREC*)
> (r_to_arrow.cpp:1035)
> ==273== by 0xD891C1A: _arrow_vec_to_arrow (arrowExports.cpp:5128)
> ==273== by 0x4941DCF: R_doDotCall (dotcode.c:601)
> ==273== by 0x49B100F: bcEval (eval.c:7671)
> ==273== by 0x498BF52: Rf_eval (eval.c:727)
> ==273== by 0x498ECC1: R_execClosure (eval.c:1897)
> ==273== by 0x498E974: Rf_applyClosure (eval.c:1823)
> {code}
> The tests that cause these were skipped.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)