Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
> test_check("arrow", reporter = arrow_reporter) /data/gannet/ripley/R/packages/tests-clang-SAN/arrow/tools/cpp/src/arrow/compute/kernels/scalar_arithmetic.cc:1839:23: runtime error: downcast of address 0x60400055c390 which does not point to an object of type 'const State' (aka 'const RoundOptionsWrapper<arrow::compute::RoundToMultipleOptions>') 0x60400055c390: note: object is of type 'arrow::compute::internal::OptionsWrapper<arrow::compute::RoundToMultipleOptions>' 00 00 00 00 40 d4 2b 34 b9 7f 00 00 98 05 0a 34 b9 7f 00 00 48 cb 95 34 b9 7f 00 00 98 00 4b 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'arrow::compute::internal::OptionsWrapper<arrow::compute::RoundToMultipleOptions>' #0 0x7fb9326842a5 in arrow::Status arrow::compute::internal::(anonymous namespace)::ExecRound<arrow::DoubleType, arrow::compute::RoundToMultipleOptions, arrow::compute::internal::(anonymous namespace)::RoundToMultiple>(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*) unity_16_cxx.cxx #1 0x7fb93267e8d9 in decltype(static_cast<std::__1::shared_ptr<arrow::compute::ScalarFunction> arrow::compute::internal::(anonymous namespace)::MakeUnaryRoundFunction<arrow::compute::internal::(anonymous namespace)::RoundToMultiple, arrow::compute::RoundToMultipleOptions>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, arrow::compute::FunctionDoc const*)::'lambda'(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)&>(fp)(static_cast<arrow::compute::KernelContext*>(fp0), static_cast<arrow::compute::ExecBatch const&>(fp0), static_cast<arrow::Datum*>(fp0))) std::__1::__invoke<std::__1::shared_ptr<arrow::compute::ScalarFunction> arrow::compute::internal::(anonymous namespace)::MakeUnaryRoundFunction<arrow::compute::internal::(anonymous namespace)::RoundToMultiple, arrow::compute::RoundToMultipleOptions>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, arrow::compute::FunctionDoc const*)::'lambda'(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)&, arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*>(std::__1::shared_ptr<arrow::compute::ScalarFunction> arrow::compute::internal::(anonymous namespace)::MakeUnaryRoundFunction<arrow::compute::internal::(anonymous namespace)::RoundToMultiple, arrow::compute::RoundToMultipleOptions>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, arrow::compute::FunctionDoc const*)::'lambda'(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)&, arrow::compute::KernelContext*&&, arrow::compute::ExecBatch const&, arrow::Datum*&&) unity_16_cxx.cxx #2 0x7fb93267e815 in arrow::Status std::__1::__invoke_void_return_wrapper<arrow::Status, false>::__call<std::__1::shared_ptr<arrow::compute::ScalarFunction> arrow::compute::internal::(anonymous namespace)::MakeUnaryRoundFunction<arrow::compute::internal::(anonymous namespace)::RoundToMultiple, arrow::compute::RoundToMultipleOptions>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, arrow::compute::FunctionDoc const*)::'lambda'(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)&, arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*>(std::__1::shared_ptr<arrow::compute::ScalarFunction> arrow::compute::internal::(anonymous namespace)::MakeUnaryRoundFunction<arrow::compute::internal::(anonymous namespace)::RoundToMultiple, arrow::compute::RoundToMultipleOptions>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, arrow::compute::FunctionDoc const*)::'lambda'(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)&, arrow::compute::KernelContext*&&, arrow::compute::ExecBatch const&, arrow::Datum*&&) unity_16_cxx.cxx #3 0x7fb93267e5b3 in std::__1::__function::__func<std::__1::shared_ptr<arrow::compute::ScalarFunction> arrow::compute::internal::(anonymous namespace)::MakeUnaryRoundFunction<arrow::compute::internal::(anonymous namespace)::RoundToMultiple, arrow::compute::RoundToMultipleOptions>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, arrow::compute::FunctionDoc const*)::'lambda'(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*), std::__1::allocator<std::__1::shared_ptr<arrow::compute::ScalarFunction> arrow::compute::internal::(anonymous namespace)::MakeUnaryRoundFunction<arrow::compute::internal::(anonymous namespace)::RoundToMultiple, arrow::compute::RoundToMultipleOptions>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, arrow::compute::FunctionDoc const*)::'lambda'(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)>, arrow::Status (arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)>::operator()(arrow::compute::KernelContext*&&, arrow::compute::ExecBatch const&, arrow::Datum*&&) unity_16_cxx.cxx #4 0x7fb93008d12f in std::__1::__function::__value_func<arrow::Status (arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)>::operator()(arrow::compute::KernelContext*&&, arrow::compute::ExecBatch const&, arrow::Datum*&&) const (/data/gannet/ripley/R/packages/tests-clang-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x3d9e12f) #5 0x7fb93008cfda in std::__1::function<arrow::Status (arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*)>::operator()(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*) const (/data/gannet/ripley/R/packages/tests-clang-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x3d9dfda) #6 0x7fb93017da2f in arrow::compute::detail::(anonymous namespace)::ScalarExecutor::Execute(std::__1::vector<arrow::Datum, std::__1::allocator<arrow::Datum> > const&, arrow::compute::detail::ExecListener*) unity_13_cxx.cxx #7 0x7fb93014af83 in arrow::compute::ExecuteScalarExpression(arrow::compute::Expression const&, arrow::compute::ExecBatch const&, arrow::compute::ExecContext*) (/data/gannet/ripley/R/packages/tests-clang-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x3e5bf83) #8 0x7fb9300c686e in decltype(static_cast<arrow::compute::(anonymous namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, arrow::compute::ExecBatch)::'lambda'(arrow::compute::ExecBatch)&>(fp)(static_cast<arrow::compute::ExecBatch>(fp0))) std::__1::__invoke<arrow::compute::(anonymous namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, arrow::compute::ExecBatch)::'lambda'(arrow::compute::ExecBatch)&, arrow::compute::ExecBatch>(arrow::compute::(anonymous namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, arrow::compute::ExecBatch)::'lambda'(arrow::compute::ExecBatch)&, arrow::compute::ExecBatch&&) unity_14_cxx.cxx #9 0x7fb9300c617b in arrow::Result<arrow::compute::ExecBatch> std::__1::__invoke_void_return_wrapper<arrow::Result<arrow::compute::ExecBatch>, false>::__call<arrow::compute::(anonymous namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, arrow::compute::ExecBatch)::'lambda'(arrow::compute::ExecBatch)&, arrow::compute::ExecBatch>(arrow::compute::(anonymous namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, arrow::compute::ExecBatch)::'lambda'(arrow::compute::ExecBatch)&, arrow::compute::ExecBatch&&) unity_14_cxx.cxx #10 0x7fb9300c5d9a in std::__1::__function::__func<arrow::compute::(anonymous namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, arrow::compute::ExecBatch)::'lambda'(arrow::compute::ExecBatch), std::__1::allocator<arrow::compute::(anonymous namespace)::ProjectNode::InputReceived(arrow::compute::ExecNode*, arrow::compute::ExecBatch)::'lambda'(arrow::compute::ExecBatch)>, arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>::operator()(arrow::compute::ExecBatch&&) unity_14_cxx.cxx #11 0x7fb9301c3d65 in std::__1::__function::__value_func<arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>::operator()(arrow::compute::ExecBatch&&) const (/data/gannet/ripley/R/packages/tests-clang-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x3ed4d65) #12 0x7fb9301c3afd in std::__1::function<arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>::operator()(arrow::compute::ExecBatch) const (/data/gannet/ripley/R/packages/tests-clang-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x3ed4afd) #13 0x7fb93013f7c1 in arrow::compute::MapNode::SubmitTask(std::__1::function<arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>, arrow::compute::ExecBatch)::$_1::operator()() const unity_13_cxx.cxx #14 0x7fb9301a4231 in decltype(static_cast<arrow::detail::ContinueFuture&>(fp)(static_cast<arrow::Future<arrow::internal::Empty>&>(fp0), static_cast<arrow::compute::MapNode::SubmitTask(std::__1::function<arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>, arrow::compute::ExecBatch)::$_2::operator()() const::'lambda'()&>(fp0))) std::__1::__invoke<arrow::detail::ContinueFuture&, arrow::Future<arrow::internal::Empty>&, arrow::compute::MapNode::SubmitTask(std::__1::function<arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>, arrow::compute::ExecBatch)::$_2::operator()() const::'lambda'()&>(arrow::detail::ContinueFuture&, arrow::Future<arrow::internal::Empty>&, arrow::compute::MapNode::SubmitTask(std::__1::function<arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>, arrow::compute::ExecBatch)::$_2::operator()() const::'lambda'()&) unity_13_cxx.cxx #15 0x7fb9301a40a8 in arrow::internal::FnOnce<void ()>::FnImpl<std::__1::__bind<arrow::detail::ContinueFuture, arrow::Future<arrow::internal::Empty>&, arrow::compute::MapNode::SubmitTask(std::__1::function<arrow::Result<arrow::compute::ExecBatch> (arrow::compute::ExecBatch)>, arrow::compute::ExecBatch)::$_2::operator()() const::'lambda'()> >::invoke() unity_13_cxx.cxx #16 0x7fb9304e7328 in arrow::internal::FnOnce<void ()>::operator()() && (/data/gannet/ripley/R/packages/tests-clang-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x41f8328) #17 0x7fb9304e0326 in arrow::internal::WorkerLoop(std::__1::shared_ptr<arrow::internal::ThreadPool::State>, std::__1::__list_iterator<std::__1::thread, void*>) unity_10_cxx.cxx #18 0x7fb9304dfe30 in void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::$_3>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::$_3>&, std::__1::__tuple_indices<>) unity_10_cxx.cxx #19 0x7fb9304dfbc3 in void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::$_3> >(void*) unity_10_cxx.cxx #20 0x7fb9448ca431 in start_thread pthread_create.c #21 0x7fb9447dd6d2 in clone (/lib64/libc.so.6+0x1016d2) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /data/gannet/ripley/R/packages/tests-clang-SAN/arrow/tools/cpp/src/arrow/compute/kernels/scalar_arithmetic.cc:1839:23 in
https://www.stats.ox.ac.uk/pub/bdr/memtests/clang-UBSAN/arrow/tests/testthat.Rout