Neal Richardson created ARROW-13495:
---------------------------------------

             Summary: [C++] UBSAN error in BitUtil when writing dataset
                 Key: ARROW-13495
                 URL: https://issues.apache.org/jira/browse/ARROW-13495
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++, R
            Reporter: Neal Richardson
             Fix For: 6.0.0, 5.0.1


https://www.stats.ox.ac.uk/pub/bdr/memtests/gcc-UBSAN/arrow/arrow-Ex.Rout

{code}
> write_dataset(airquality, tf3, partitioning = c("Month", "Day"), hive_style = 
> FALSE)
/tmp/RtmpWw0Jb4/file21ecfe42e86b84/apache-arrow-5.0.0/cpp/src/arrow/compute/exec/util.cc:34:18:
 runtime error: store to misaligned address 0x6310000b48fd for type 'uint16_t', 
which requires 2 byte alignment
0x6310000b48fd: note: pointer points here
 00 00 00 03 00 00 00  0b 00 00 00 2a 00 00 00  02 00 00 00 12 00 00 00  2b 00 
00 00 3a 00 00 00  13
             ^ 
    #0 0x7f343e9a7984 in void arrow::util::BitUtil::bits_to_indexes_internal<0, 
false>(long, int, unsigned char const*, unsigned short const*, int*, unsigned 
short*) [clone .isra.0] 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x1587d984)
    #1 0x7f343e9fca36 in arrow::compute::SwissTable::map(int, unsigned int 
const*, unsigned int*) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x158d2a36)
    #2 0x7f343efcd989 in arrow::compute::internal::(anonymous 
namespace)::GrouperFastImpl::Consume(arrow::compute::ExecBatch const&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x15ea3989)
    #3 0x7f343befae8b in 
arrow::dataset::KeyValuePartitioning::Partition(std::shared_ptr<arrow::RecordBatch>
 const&) const [clone .localalias] 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12dd0e8b)
    #4 0x7f343beb2f45 in arrow::dataset::(anonymous 
namespace)::WriteNextBatch(arrow::dataset::(anonymous namespace)::WriteState*, 
std::shared_ptr<arrow::dataset::Fragment> const&, 
std::shared_ptr<arrow::RecordBatch>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12d88f45)
    #5 0x7f343bed06b6 in std::_Function_handler<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>), arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}::operator()() 
const::{lambda(std::shared_ptr<arrow::RecordBatch>)#1}>::_M_invoke(std::_Any_data
 const&, std::shared_ptr<arrow::RecordBatch>&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12da66b6)
    #6 0x7f343c1d79ab in std::_Function_handler<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>), 
arrow::dataset::FilterAndProjectScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>)::{lambda(std::shared_ptr<arrow::RecordBatch>
 const&)#1}>::_M_invoke(std::_Any_data const&, 
std::shared_ptr<arrow::RecordBatch>&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x130ad9ab)
    #7 0x7f343c0ccc35 in arrow::Status 
arrow::Iterator<std::shared_ptr<arrow::RecordBatch> 
>::Visit<std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>&>(std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12fa2c35)
    #8 0x7f343bda95ec in 
arrow::dataset::ScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status (std::shared_ptr<arrow::RecordBatch>)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12c7f5ec)
    #9 0x7f343c011c08 in 
arrow::dataset::FilterAndProjectScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status (std::shared_ptr<arrow::RecordBatch>)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12ee7c08)
    #10 0x7f343bcdff7a in 
arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty> 
(arrow::internal::Executor*)>::FnImpl<arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}::operator()() 
const::{lambda(arrow::internal::Executor*)#2}>::invoke(arrow::internal::Executor*&&)
 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12bb5f7a)
    #11 0x7f343c4ac329 in arrow::Status 
arrow::internal::SerialExecutor::RunInSerialExecutor<arrow::internal::Empty, 
arrow::Future<arrow::internal::Empty>, 
arrow::Status>(arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty> 
(arrow::internal::Executor*)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x13382329)
    #12 0x7f343c4ae6d4 in arrow::Future<arrow::internal::Empty>::SyncType 
arrow::internal::RunSynchronously<arrow::Future<arrow::internal::Empty>, 
arrow::internal::Empty>(arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty>
 (arrow::internal::Executor*)>, bool) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x133846d4)
    #13 0x7f343bfc2852 in arrow::internal::FnOnce<arrow::Status 
()>::FnImpl<arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}>::invoke() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12e98852)
    #14 0x7f34403c4063 in arrow::internal::FnOnce<void 
()>::FnImpl<arrow::internal::(anonymous 
namespace)::ThreadedTaskGroup::AppendReal(arrow::internal::FnOnce<arrow::Status 
()>)::Callable>::invoke() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x1729a063)
    #15 0x7f34403ea7f6 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::{lambda()#1}>
 > >::_M_run() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x172c07f6)
    #16 0x7f346aa78993  (/lib64/libstdc++.so.6+0xd8993)
    #17 0x7f346ad65431 in start_thread (/lib64/libpthread.so.0+0x9431)
    #18 0x7f346ac936d2 in __clone (/lib64/libc.so.6+0x1016d2)

/tmp/RtmpWw0Jb4/file21ecfe42e86b84/apache-arrow-5.0.0/cpp/src/arrow/compute/exec/key_encode.cc:217:16:
 runtime error: load of misaligned address 0x6310000b496f for type 'const 
uint16_t', which requires 2 byte alignment
0x6310000b496f: note: pointer points here
 00 1b 00 00 00  00 01 00 02 00 03 00 04  00 05 00 06 00 07 00 08  00 09 00 0a 
00 0b 00 0c  00 0e 00
             ^ 
    #0 0x7f343e9e1240 in 
arrow::compute::KeyEncoder::KeyRowArray::AppendSelectionFrom(arrow::compute::KeyEncoder::KeyRowArray
 const&, unsigned int, unsigned short const*) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x158b7240)
    #1 0x7f343ec5a12e in std::_Function_handler<arrow::Status (int, unsigned 
short const*), arrow::compute::internal::(anonymous 
namespace)::GrouperFastImpl::Make(std::vector<arrow::ValueDescr, 
std::allocator<arrow::ValueDescr> > const&, 
arrow::compute::ExecContext*)::{lambda(int, unsigned short 
const*)#2}>::_M_invoke(std::_Any_data const&, int&&, unsigned short const*&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x15b3012e)
    #2 0x7f343e9ce76d in arrow::compute::SwissTable::lookup_2(unsigned int 
const*, unsigned int*, unsigned short*, bool*, unsigned int*, unsigned int*) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x158a476d)
    #3 0x7f343e9fcf3b in arrow::compute::SwissTable::map(int, unsigned int 
const*, unsigned int*) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x158d2f3b)
    #4 0x7f343efcd989 in arrow::compute::internal::(anonymous 
namespace)::GrouperFastImpl::Consume(arrow::compute::ExecBatch const&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x15ea3989)
    #5 0x7f343befae8b in 
arrow::dataset::KeyValuePartitioning::Partition(std::shared_ptr<arrow::RecordBatch>
 const&) const [clone .localalias] 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12dd0e8b)
    #6 0x7f343beb2f45 in arrow::dataset::(anonymous 
namespace)::WriteNextBatch(arrow::dataset::(anonymous namespace)::WriteState*, 
std::shared_ptr<arrow::dataset::Fragment> const&, 
std::shared_ptr<arrow::RecordBatch>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12d88f45)
    #7 0x7f343bed06b6 in std::_Function_handler<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>), arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}::operator()() 
const::{lambda(std::shared_ptr<arrow::RecordBatch>)#1}>::_M_invoke(std::_Any_data
 const&, std::shared_ptr<arrow::RecordBatch>&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12da66b6)
    #8 0x7f343c1d79ab in std::_Function_handler<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>), 
arrow::dataset::FilterAndProjectScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>)::{lambda(std::shared_ptr<arrow::RecordBatch>
 const&)#1}>::_M_invoke(std::_Any_data const&, 
std::shared_ptr<arrow::RecordBatch>&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x130ad9ab)
    #9 0x7f343c0ccc35 in arrow::Status 
arrow::Iterator<std::shared_ptr<arrow::RecordBatch> 
>::Visit<std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>&>(std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12fa2c35)
    #10 0x7f343bda95ec in 
arrow::dataset::ScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status (std::shared_ptr<arrow::RecordBatch>)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12c7f5ec)
    #11 0x7f343c011c08 in 
arrow::dataset::FilterAndProjectScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status (std::shared_ptr<arrow::RecordBatch>)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12ee7c08)
    #12 0x7f343bcdff7a in 
arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty> 
(arrow::internal::Executor*)>::FnImpl<arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}::operator()() 
const::{lambda(arrow::internal::Executor*)#2}>::invoke(arrow::internal::Executor*&&)
 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12bb5f7a)
    #13 0x7f343c4ac329 in arrow::Status 
arrow::internal::SerialExecutor::RunInSerialExecutor<arrow::internal::Empty, 
arrow::Future<arrow::internal::Empty>, 
arrow::Status>(arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty> 
(arrow::internal::Executor*)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x13382329)
    #14 0x7f343c4ae6d4 in arrow::Future<arrow::internal::Empty>::SyncType 
arrow::internal::RunSynchronously<arrow::Future<arrow::internal::Empty>, 
arrow::internal::Empty>(arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty>
 (arrow::internal::Executor*)>, bool) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x133846d4)
    #15 0x7f343bfc2852 in arrow::internal::FnOnce<arrow::Status 
()>::FnImpl<arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}>::invoke() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12e98852)
    #16 0x7f34403c4063 in arrow::internal::FnOnce<void 
()>::FnImpl<arrow::internal::(anonymous 
namespace)::ThreadedTaskGroup::AppendReal(arrow::internal::FnOnce<arrow::Status 
()>)::Callable>::invoke() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x1729a063)
    #17 0x7f34403ea7f6 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::{lambda()#1}>
 > >::_M_run() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x172c07f6)
    #18 0x7f346aa78993  (/lib64/libstdc++.so.6+0xd8993)
    #19 0x7f346ad65431 in start_thread (/lib64/libpthread.so.0+0x9431)
    #20 0x7f346ac936d2 in __clone (/lib64/libc.so.6+0x1016d2)

/tmp/RtmpWw0Jb4/file21ecfe42e86b84/apache-arrow-5.0.0/cpp/src/arrow/compute/exec/key_encode.cc:234:39:
 runtime error: load of misaligned address 0x6310000b496f for type 'const 
uint16_t', which requires 2 byte alignment
0x6310000b496f: note: pointer points here
 00 1b 00 00 00  00 01 00 02 00 03 00 04  00 05 00 06 00 07 00 08  00 09 00 0a 
00 0b 00 0c  00 0e 00
             ^ 
    #0 0x7f343e9e0c36 in 
arrow::compute::KeyEncoder::KeyRowArray::AppendSelectionFrom(arrow::compute::KeyEncoder::KeyRowArray
 const&, unsigned int, unsigned short const*) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x158b6c36)
    #1 0x7f343ec5a12e in std::_Function_handler<arrow::Status (int, unsigned 
short const*), arrow::compute::internal::(anonymous 
namespace)::GrouperFastImpl::Make(std::vector<arrow::ValueDescr, 
std::allocator<arrow::ValueDescr> > const&, 
arrow::compute::ExecContext*)::{lambda(int, unsigned short 
const*)#2}>::_M_invoke(std::_Any_data const&, int&&, unsigned short const*&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x15b3012e)
    #2 0x7f343e9ce76d in arrow::compute::SwissTable::lookup_2(unsigned int 
const*, unsigned int*, unsigned short*, bool*, unsigned int*, unsigned int*) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x158a476d)
    #3 0x7f343e9fcf3b in arrow::compute::SwissTable::map(int, unsigned int 
const*, unsigned int*) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x158d2f3b)
    #4 0x7f343efcd989 in arrow::compute::internal::(anonymous 
namespace)::GrouperFastImpl::Consume(arrow::compute::ExecBatch const&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x15ea3989)
    #5 0x7f343befae8b in 
arrow::dataset::KeyValuePartitioning::Partition(std::shared_ptr<arrow::RecordBatch>
 const&) const [clone .localalias] 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12dd0e8b)
    #6 0x7f343beb2f45 in arrow::dataset::(anonymous 
namespace)::WriteNextBatch(arrow::dataset::(anonymous namespace)::WriteState*, 
std::shared_ptr<arrow::dataset::Fragment> const&, 
std::shared_ptr<arrow::RecordBatch>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12d88f45)
    #7 0x7f343bed06b6 in std::_Function_handler<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>), arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}::operator()() 
const::{lambda(std::shared_ptr<arrow::RecordBatch>)#1}>::_M_invoke(std::_Any_data
 const&, std::shared_ptr<arrow::RecordBatch>&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12da66b6)
    #8 0x7f343c1d79ab in std::_Function_handler<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>), 
arrow::dataset::FilterAndProjectScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>)::{lambda(std::shared_ptr<arrow::RecordBatch>
 const&)#1}>::_M_invoke(std::_Any_data const&, 
std::shared_ptr<arrow::RecordBatch>&&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x130ad9ab)
    #9 0x7f343c0ccc35 in arrow::Status 
arrow::Iterator<std::shared_ptr<arrow::RecordBatch> 
>::Visit<std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>&>(std::function<arrow::Status 
(std::shared_ptr<arrow::RecordBatch>)>&) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12fa2c35)
    #10 0x7f343bda95ec in 
arrow::dataset::ScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status (std::shared_ptr<arrow::RecordBatch>)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12c7f5ec)
    #11 0x7f343c011c08 in 
arrow::dataset::FilterAndProjectScanTask::SafeVisit(arrow::internal::Executor*, 
std::function<arrow::Status (std::shared_ptr<arrow::RecordBatch>)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12ee7c08)
    #12 0x7f343bcdff7a in 
arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty> 
(arrow::internal::Executor*)>::FnImpl<arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}::operator()() 
const::{lambda(arrow::internal::Executor*)#2}>::invoke(arrow::internal::Executor*&&)
 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12bb5f7a)
    #13 0x7f343c4ac329 in arrow::Status 
arrow::internal::SerialExecutor::RunInSerialExecutor<arrow::internal::Empty, 
arrow::Future<arrow::internal::Empty>, 
arrow::Status>(arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty> 
(arrow::internal::Executor*)>) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x13382329)
    #14 0x7f343c4ae6d4 in arrow::Future<arrow::internal::Empty>::SyncType 
arrow::internal::RunSynchronously<arrow::Future<arrow::internal::Empty>, 
arrow::internal::Empty>(arrow::internal::FnOnce<arrow::Future<arrow::internal::Empty>
 (arrow::internal::Executor*)>, bool) 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x133846d4)
    #15 0x7f343bfc2852 in arrow::internal::FnOnce<arrow::Status 
()>::FnImpl<arrow::dataset::(anonymous 
namespace)::WriteInternal(arrow::dataset::ScanOptions const&, 
arrow::dataset::(anonymous namespace)::WriteState*, 
std::vector<std::shared_ptr<arrow::dataset::ScanTask>, 
std::allocator<std::shared_ptr<arrow::dataset::ScanTask> > 
>)::{lambda()#1}>::invoke() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x12e98852)
    #16 0x7f34403c4063 in arrow::internal::FnOnce<void 
()>::FnImpl<arrow::internal::(anonymous 
namespace)::ThreadedTaskGroup::AppendReal(arrow::internal::FnOnce<arrow::Status 
()>)::Callable>::invoke() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x1729a063)
    #17 0x7f34403ea7f6 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::{lambda()#1}>
 > >::_M_run() 
(/data/gannet/ripley/R/packages/tests-gcc-SAN/arrow.Rcheck/arrow/libs/arrow.so+0x172c07f6)
    #18 0x7f346aa78993  (/lib64/libstdc++.so.6+0xd8993)
    #19 0x7f346ad65431 in start_thread (/lib64/libpthread.so.0+0x9431)
    #20 0x7f346ac936d2 in __clone (/lib64/libc.so.6+0x1016d2)
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to