[
https://issues.apache.org/jira/browse/ARROW-15361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17523621#comment-17523621
]
Antoine Pitrou commented on ARROW-15361:
----------------------------------------
Another similar crash here:
https://github.com/apache/arrow/runs/6052762470?check_suite_focus=true#step:6:3167
{code}
Running arrow-compute-hash-join-node-test, redirecting output into
/build/cpp/build/test-logs/arrow-compute-hash-join-node-test.txt (attempt 1/1)
/arrow/cpp/build-support/run-test.sh: line 88: 20664 Segmentation fault
(core dumped) $TEST_EXECUTABLE "$@" > $LOGFILE.raw 2>&1
Running main() from
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest_main.cc
[==========] Running 27 tests from 4 test suites.
[----------] Global test environment set-up.
[----------] 8 tests from HashJoin
[ RUN ] HashJoin.Suffix
[ OK ] HashJoin.Suffix (12 ms)
[ RUN ] HashJoin.Random
Found core dump, printing backtrace:
warning: core file may not match specified executable file.
[New LWP 20668]
[New LWP 20669]
[New LWP 20666]
[New LWP 20667]
[New LWP 20717]
[New LWP 20664]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/build/cpp/debug/arrow-compute-hash-join-node-test'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000000000011435 in ?? ()
[Current thread is 1 (Thread 0x7f946eb7d700 (LWP 20668))]
Thread 6 (Thread 0x7f9471776100 (LWP 20664)):
#0 0x00007f9474a1ab7c in std::_Destroy<arrow::compute::(anonymous
namespace)::BufferPreallocation*, arrow::compute::(anonymous
namespace)::BufferPreallocation> (__first=0x0, __last=0x0) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/alloc_traits.h:738
#1 0x00007f9474a1a033 in std::vector<arrow::compute::(anonymous
namespace)::BufferPreallocation, std::allocator<arrow::compute::(anonymous
namespace)::BufferPreallocation> >::~vector (this=0x563c30ef5cb0,
__in_chrg=<optimized out>) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/stl_vector.h:680
#2 0x00007f9474a17fae in arrow::compute::detail::(anonymous
namespace)::KernelExecutorImpl<arrow::compute::VectorKernel>::~KernelExecutorImpl
(this=0x563c30ef5c70, __in_chrg=<optimized out>) at
/arrow/cpp/src/arrow/compute/exec.cc:562
#3 0x00007f9474a1a28c in arrow::compute::detail::(anonymous
namespace)::VectorExecutor::~VectorExecutor (this=0x563c30ef5c70,
__in_chrg=<optimized out>) at /arrow/cpp/src/arrow/compute/exec.cc:848
#4 0x00007f9474a1a2a8 in arrow::compute::detail::(anonymous
namespace)::VectorExecutor::~VectorExecutor (this=0x563c30ef5c70,
__in_chrg=<optimized out>) at /arrow/cpp/src/arrow/compute/exec.cc:848
#5 0x00007f9474a6a79c in
std::default_delete<arrow::compute::detail::KernelExecutor>::operator()
(this=0x7ffdc8df9370, __ptr=0x563c30ef5c70) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/unique_ptr.h:85
#6 0x00007f9474a64c28 in
std::unique_ptr<arrow::compute::detail::KernelExecutor,
std::default_delete<arrow::compute::detail::KernelExecutor> >::~unique_ptr
(this=0x7ffdc8df9370, __in_chrg=<optimized out>) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/unique_ptr.h:361
#7 0x00007f9474b80fca in arrow::compute::Function::Execute
(this=0x563c30eb41b0, args=..., options=0x7ffdc8df9bb0, ctx=0x7ffdc8df9960) at
/arrow/cpp/src/arrow/compute/function.cc:242
#8 0x00007f9474a15222 in arrow::compute::CallFunction (func_name=...,
args=..., options=0x7ffdc8df9bb0, ctx=0x7ffdc8df9960) at
/arrow/cpp/src/arrow/compute/exec.cc:1078
#9 0x00007f94757dea45 in arrow::compute::internal::(anonymous
namespace)::TakeAA (values=..., indices=..., options=..., ctx=0x7ffdc8df9960)
at /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:1997
#10 0x00007f94757e0767 in arrow::compute::internal::(anonymous
namespace)::TakeMetaFunction::ExecuteImpl (this=0x563c30eb58e0, args=...,
options=0x7ffdc8df9bb0, ctx=0x7ffdc8df9960) at
/arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:2128
#11 0x00007f9474b82536 in arrow::compute::MetaFunction::Execute
(this=0x563c30eb58e0, args=..., options=0x7ffdc8df9bb0, ctx=0x7ffdc8df9960) at
/arrow/cpp/src/arrow/compute/function.cc:388
#12 0x00007f9474a15222 in arrow::compute::CallFunction (func_name=...,
args=..., options=0x7ffdc8df9bb0, ctx=0x7ffdc8df9960) at
/arrow/cpp/src/arrow/compute/exec.cc:1078
#13 0x00007f9474a150f3 in arrow::compute::CallFunction (func_name=...,
args=..., options=0x7ffdc8df9bb0, ctx=0x0) at
/arrow/cpp/src/arrow/compute/exec.cc:1074
#14 0x00007f94749e4a34 in arrow::compute::Take (values=..., filter=...,
options=..., ctx=0x0) at /arrow/cpp/src/arrow/compute/api_vector.cc:305
#15 0x0000563c2f45a7a5 in arrow::compute::TakeUsingVector (ctx=0x563c30dfce50,
input=..., indices=..., result=0x7ffdc8df9d50) at
/arrow/cpp/src/arrow/compute/exec/hash_join_node_test.cc:441
#16 0x0000563c2f45ca00 in arrow::compute::GenRandomJoinTables
(ctx=0x563c30dfce50, rng=..., num_rows_l=1140, num_rows_r=973,
num_keys_common=263, num_keys_left=341, num_keys_right=401, key_types=...,
payload_left_types=..., payload_right_types=..., key_id_l=0x7ffdc8dfa1a0,
key_id_r=0x7ffdc8dfa1b8, left=0x7ffdc8dfa1d0, right=0x7ffdc8dfa1e8) at
/arrow/cpp/src/arrow/compute/exec/hash_join_node_test.cc:599
#17 0x0000563c2f464d23 in arrow::compute::HashJoin_Random_Test::TestBody
(this=0x563c30efd680) at
/arrow/cpp/src/arrow/compute/exec/hash_join_node_test.cc:1084
#18 0x00007f9476e564dd in
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>
(object=0x563c30efd680, method=&virtual testing::Test::TestBody(),
location=0x7f9476e6ae1b "the test body") at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
#19 0x00007f9476e4d90d in
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>
(object=0x563c30efd680, method=&virtual testing::Test::TestBody(),
location=0x7f9476e6ae1b "the test body") at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
#20 0x00007f9476e28cdd in testing::Test::Run (this=0x563c30efd680) at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2682
#21 0x00007f9476e296ff in testing::TestInfo::Run (this=0x563c30df51f0) at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2861
#22 0x00007f9476e2a0be in testing::TestSuite::Run (this=0x563c30df5040) at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:3015
#23 0x00007f9476e3a1dc in testing::internal::UnitTestImpl::RunAllTests
(this=0x563c30df46b0) at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5855
#24 0x00007f9476e57498 in
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool> (object=0x563c30df46b0, method=(bool
(testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const))
0x7f9476e39d9a <testing::internal::UnitTestImpl::RunAllTests()>,
location=0x7f9476e6b908 "auxiliary test code (environments or event
listeners)") at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
#25 0x00007f9476e4eafa in
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool> (object=0x563c30df46b0, method=(bool
(testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const))
0x7f9476e39d9a <testing::internal::UnitTestImpl::RunAllTests()>,
location=0x7f9476e6b908 "auxiliary test code (environments or event
listeners)") at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
#26 0x00007f9476e386a9 in testing::UnitTest::Run (this=0x7f9476e94260
<testing::UnitTest::GetInstance()::instance>) at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5438
#27 0x00007f9476e95919 in RUN_ALL_TESTS () at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/include/gtest/gtest.h:2490
#28 0x00007f9476e9595c in main (argc=1, argv=0x7ffdc8dfa9b8) at
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest_main.cc:52
#29 0x00007f9473934c87 in __libc_start_main (main=0x7f9476e9591b <main(int,
char**)>, argc=1, argv=0x7ffdc8dfa9b8, init=<optimized out>, fini=<optimized
out>, rtld_fini=<optimized out>, stack_end=0x7ffdc8dfa9a8) at
../csu/libc-start.c:310
#30 0x0000563c2f44ee59 in _start ()
Thread 5 (Thread 0x7f945fdff700 (LWP 20717)):
#0 0x00007f9473364065 in futex_abstimed_wait_cancelable (private=<optimized
out>, abstime=0x7f945fdfd3d0, expected=0, futex_word=0x7f947140a790) at
../sysdeps/unix/sysv/linux/futex-internal.h:205
#1 __pthread_cond_wait_common (abstime=0x7f945fdfd3d0, mutex=0x7f947140a7d8,
cond=0x7f947140a768) at pthread_cond_wait.c:539
#2 __pthread_cond_timedwait (cond=0x7f947140a768, mutex=0x7f947140a7d8,
abstime=0x7f945fdfd3d0) at pthread_cond_wait.c:667
#3 0x00007f9475d0ee2d in background_thread_sleep
(info=info@entry=0x7f947140a760, interval=140275240391632,
interval@entry=1000000000, tsdn=<optimized out>) at src/background_thread.c:255
#4 0x00007f9475d0fdb7 in background_work_sleep_once (ind=2, info=<optimized
out>, tsdn=<optimized out>) at src/background_thread.c:307
#5 background_work (ind=<optimized out>, tsd=<optimized out>) at
src/background_thread.c:497
#6 background_thread_entry () at src/background_thread.c:522
#7 0x00007f947335d6db in start_thread (arg=0x7f945fdff700) at
pthread_create.c:463
#8 0x00007f9473a3461f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 4 (Thread 0x7f946fb7e700 (LWP 20667)):
#0 0x00007f9473363ad3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x563c30eb73a0) at
../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x563c30eb7350,
cond=0x563c30eb7378) at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x563c30eb7378, mutex=0x563c30eb7350) at
pthread_cond_wait.c:655
#3 0x00007f9473dcc4d1 in __gthread_cond_wait (__mutex=<error reading variable:
dwarf2_find_location_expression: Corrupted DWARF expression.>,
__cond=<optimized out>) at
/home/conda/feedstock_root/build_artifacts/gcc_compilers_1647306965841/work/build/x86_64-conda-linux-gnu/libstdc++-v3/src/c++11/condition_variable.cc:865
#4 std::__condvar::wait (__m=<error reading variable:
dwarf2_find_location_expression: Corrupted DWARF expression.>, this=<optimized
out>) at ../../../../../libstdc++-v3/src/c++11/gthr-default.h:155
#5 std::condition_variable::wait (this=<optimized out>, __lock=...) at
../../../../../libstdc++-v3/src/c++11/condition_variable.cc:41
#6 0x00007f94747ac6bd in arrow::internal::WorkerLoop (state=..., it=...) at
/arrow/cpp/src/arrow/util/thread_pool.cc:265
#7 0x00007f94747ad4c8 in operator() (__closure=0x563c30ff1ea8) at
/arrow/cpp/src/arrow/util/thread_pool.cc:418
#8 0x00007f94747b4926 in std::__invoke_impl<void,
arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
>(std::__invoke_other, struct {...} &&) (__f=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:60
#9 0x00007f94747b48db in
std::__invoke<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
>(struct {...} &&) (__fn=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:95
#10 0x00007f94747b4888 in
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x563c30ff1ea8) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/thread:264
#11 0x00007f94747b4748 in
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >::operator()(void) (this=0x563c30ff1ea8) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/thread:271
#12 0x00007f94747b46ac in
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > >::_M_run(void) (this=0x563c30ff1ea0) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/thread:215
#13 0x00007f9473dd09d4 in std::execute_native_thread_routine (__p=<optimized
out>) at
/home/conda/feedstock_root/build_artifacts/gcc_compilers_1647306965841/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/bits/new_allocator.h:82
#14 0x00007f947335d6db in start_thread (arg=0x7f946fb7e700) at
pthread_create.c:463
#15 0x00007f9473a3461f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 3 (Thread 0x7f9470dff700 (LWP 20666)):
#0 0x00007f9473364065 in futex_abstimed_wait_cancelable (private=<optimized
out>, abstime=0x7f9470dfd3c0, expected=0, futex_word=0x7f947140a5f0) at
../sysdeps/unix/sysv/linux/futex-internal.h:205
#1 __pthread_cond_wait_common (abstime=0x7f9470dfd3c0, mutex=0x7f947140a638,
cond=0x7f947140a5c8) at pthread_cond_wait.c:539
#2 __pthread_cond_timedwait (cond=0x7f947140a5c8, mutex=0x7f947140a638,
abstime=0x7f9470dfd3c0) at pthread_cond_wait.c:667
#3 0x00007f9475d0ee2d in background_thread_sleep
(info=info@entry=0x7f947140a5c0, interval=140275525604288,
interval@entry=437500000, tsdn=<optimized out>) at src/background_thread.c:255
#4 0x00007f9475d10281 in background_work_sleep_once (ind=0,
info=0x7f947140a5c0, tsdn=<optimized out>) at src/background_thread.c:307
#5 background_thread0_work (tsd=<optimized out>) at src/background_thread.c:452
#6 background_work (ind=<optimized out>, tsd=<optimized out>) at
src/background_thread.c:490
#7 background_thread_entry () at src/background_thread.c:522
#8 0x00007f947335d6db in start_thread (arg=0x7f9470dff700) at
pthread_create.c:463
#9 0x00007f9473a3461f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 2 (Thread 0x7f946d5ff700 (LWP 20669)):
#0 0x00007f9473364065 in futex_abstimed_wait_cancelable (private=<optimized
out>, abstime=0x7f946d5fd3d0, expected=0, futex_word=0x7f947140a6c4) at
../sysdeps/unix/sysv/linux/futex-internal.h:205
#1 __pthread_cond_wait_common (abstime=0x7f946d5fd3d0, mutex=0x7f947140a708,
cond=0x7f947140a698) at pthread_cond_wait.c:539
#2 __pthread_cond_timedwait (cond=0x7f947140a698, mutex=0x7f947140a708,
abstime=0x7f946d5fd3d0) at pthread_cond_wait.c:667
#3 0x00007f9475d0ee2d in background_thread_sleep
(info=info@entry=0x7f947140a690, interval=140275466884048,
interval@entry=1000000000, tsdn=<optimized out>) at src/background_thread.c:255
#4 0x00007f9475d0fdb7 in background_work_sleep_once (ind=1, info=<optimized
out>, tsdn=<optimized out>) at src/background_thread.c:307
#5 background_work (ind=<optimized out>, tsd=<optimized out>) at
src/background_thread.c:497
#6 background_thread_entry () at src/background_thread.c:522
#7 0x00007f947335d6db in start_thread (arg=0x7f946d5ff700) at
pthread_create.c:463
#8 0x00007f9473a3461f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7f946eb7d700 (LWP 20668)):
#0 0x0000000000011435 in ?? ()
#1 0x00007f9474b29ac5 in arrow::compute::TaskSchedulerImpl::ScheduleMore
(this=0x563c30efb290, thread_id=0, num_tasks_finished=0) at
/arrow/cpp/src/arrow/compute/exec/task_util.cc:326
#2 0x00007f9474b2896b in arrow::compute::TaskSchedulerImpl::StartTaskGroup
(this=0x563c30efb290, thread_id=0, group_id=1, total_num_tasks=0) at
/arrow/cpp/src/arrow/compute/exec/task_util.cc:153
#3 0x00007f9474a84d27 in arrow::compute::HashJoinBasicImpl::ProbeQueuedBatches
(this=0x7f94681a7140, thread_index=0) at
/arrow/cpp/src/arrow/compute/exec/hash_join.cc:727
#4 0x00007f9474a84523 in
arrow::compute::HashJoinBasicImpl::BuildHashTable_on_finished
(this=0x7f94681a7140, thread_index=0) at
/arrow/cpp/src/arrow/compute/exec/hash_join.cc:664
#5 0x00007f9474a846c1 in
arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
long)#2}::operator()(unsigned long) const (__closure=0x563c3102e110,
thread_index=0) at /arrow/cpp/src/arrow/compute/exec/hash_join.cc:675
#6 0x00007f9474a8ba45 in std::__invoke_impl<arrow::Status,
arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
long)#2}&, unsigned long>(std::__invoke_other,
arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
long)#2}&, unsigned long&&) (__f=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:60
#7 0x00007f9474a8a6a5 in std::__invoke_r<arrow::Status,
arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
long)#2}&, unsigned long>(arrow::Status&&,
(arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
long)#2}&)...) (__fn=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:115
#8 0x00007f9474a88c92 in std::_Function_handler<arrow::Status (unsigned long),
arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
long)#2}>::_M_invoke(std::_Any_data const&, unsigned long&&) (__functor=...,
__args#0=@0x7f946eb7b078: 0) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/std_function.h:292
#9 0x00007f9474aae9d3 in std::function<arrow::Status (unsigned
long)>::operator()(unsigned long) const (this=0x563c3102e110, __args#0=0) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/std_function.h:622
#10 0x00007f9474b29044 in
arrow::compute::TaskSchedulerImpl::OnTaskGroupFinished (this=0x563c30efb290,
thread_id=0, group_id=0, all_task_groups_finished=0x7f946eb7b170) at
/arrow/cpp/src/arrow/compute/exec/task_util.cc:244
#11 0x00007f9474b29918 in operator() (__closure=0x563c30ef5ae0, thread_id=0) at
/arrow/cpp/src/arrow/compute/exec/task_util.cc:349
#12 0x00007f9474b2c5c1 in std::__invoke_impl<arrow::Status,
arrow::compute::TaskSchedulerImpl::ScheduleMore(size_t,
int)::<lambda(size_t)>&, long unsigned int>(std::__invoke_other, struct {...}
&) (__f=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:60
#13 0x00007f9474b2bf25 in std::__invoke_r<arrow::Status,
arrow::compute::TaskSchedulerImpl::ScheduleMore(size_t,
int)::<lambda(size_t)>&, long unsigned int>(struct {...} &) (__fn=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:115
#14 0x00007f9474b2b463 in std::_Function_handler<arrow::Status(long unsigned
int), arrow::compute::TaskSchedulerImpl::ScheduleMore(size_t,
int)::<lambda(size_t)> >::_M_invoke(const std::_Any_data &, unsigned long &&)
(__functor=..., __args#0=@0x7f946eb7b298: 0) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/std_function.h:292
#15 0x00007f9474aae9d3 in std::function<arrow::Status (unsigned
long)>::operator()(unsigned long) const (this=0x563c30dfbdf0, __args#0=0) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/std_function.h:622
#16 0x00007f9474aac208 in
arrow::compute::HashJoinNode::ScheduleTaskCallback(std::function<arrow::Status
(unsigned long)>)::{lambda()#1}::operator()() const (__closure=0x563c30dfbde8)
at /arrow/cpp/src/arrow/compute/exec/hash_join_node.cc:634
#17 0x00007f9474abc938 in arrow::internal::FnOnce<void
()>::FnImpl<arrow::compute::HashJoinNode::ScheduleTaskCallback(std::function<arrow::Status
(unsigned long)>)::{lambda()#1}>::invoke() (this=0x563c30dfbde0) at
/arrow/cpp/src/arrow/util/functional.h:152
#18 0x00007f94747ae4f5 in arrow::internal::FnOnce<void ()>::operator()() &&
(this=0x7f946eb7b3d0) at /arrow/cpp/src/arrow/util/functional.h:140
#19 0x00007f94747ac593 in arrow::internal::WorkerLoop (state=..., it=...) at
/arrow/cpp/src/arrow/util/thread_pool.cc:247
#20 0x00007f94747ad4c8 in operator() (__closure=0x563c30ff0df8) at
/arrow/cpp/src/arrow/util/thread_pool.cc:418
#21 0x00007f94747b4926 in std::__invoke_impl<void,
arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
>(std::__invoke_other, struct {...} &&) (__f=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:60
#22 0x00007f94747b48db in
std::__invoke<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
>(struct {...} &&) (__fn=...) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/invoke.h:95
#23 0x00007f94747b4888 in
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x563c30ff0df8) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/thread:264
#24 0x00007f94747b4748 in
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >::operator()(void) (this=0x563c30ff0df8) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/thread:271
#25 0x00007f94747b46ac in
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > >::_M_run(void) (this=0x563c30ff0df0) at
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.3.0/thread:215
#26 0x00007f9473dd09d4 in std::execute_native_thread_routine (__p=<optimized
out>) at
/home/conda/feedstock_root/build_artifacts/gcc_compilers_1647306965841/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/bits/new_allocator.h:82
#27 0x00007f947335d6db in start_thread (arg=0x7f946eb7d700) at
pthread_create.c:463
#28 0x00007f9473a3461f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
/build/cpp/src/arrow/compute/exec
{code}
> [C++][CI] Crash in arrow-compute-hash-join-node-test
> ----------------------------------------------------
>
> Key: ARROW-15361
> URL: https://issues.apache.org/jira/browse/ARROW-15361
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++, Continuous Integration
> Reporter: Antoine Pitrou
> Assignee: Weston Pace
> Priority: Major
>
> This is a sporadic crash, but this time we're lucky at least to have a
> full-blown traceback for all threads:
> https://github.com/pitrou/arrow/runs/4856592859?check_suite_focus=true#step:6:3099
> {code}
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0 0x00000000000117bb in ?? ()
> [Current thread is 1 (Thread 0x7f66d7b7d700 (LWP 20461))]
> Thread 6 (Thread 0x7f66c7fff700 (LWP 20463)):
> #0 0x00007f66dc0ec065 in futex_abstimed_wait_cancelable (private=<optimized
> out>, abstime=0x7f66c7ffd4a0, expected=0, futex_word=0x7f66da40a794) at
> ../sysdeps/unix/sysv/linux/futex-internal.h:205
> #1 __pthread_cond_wait_common (abstime=0x7f66c7ffd4a0, mutex=0x7f66da40a7d8,
> cond=0x7f66da40a768) at pthread_cond_wait.c:539
> #2 __pthread_cond_timedwait (cond=0x7f66da40a768, mutex=0x7f66da40a7d8,
> abstime=0x7f66c7ffd4a0) at pthread_cond_wait.c:667
> #3 0x00007f66df325f26 in background_thread_sleep (tsdn=<optimized out>,
> interval=<optimized out>, info=0x7f66da40a760) at src/background_thread.c:255
> #4 background_work_sleep_once (ind=<optimized out>, info=<optimized out>,
> tsdn=<optimized out>) at src/background_thread.c:307
> #5 background_work (ind=<optimized out>, tsd=<optimized out>) at
> src/background_thread.c:497
> #6 background_thread_entry () at src/background_thread.c:522
> #7 0x00007f66dc0e56db in start_thread (arg=0x7f66c7fff700) at
> pthread_create.c:463
> #8 0x00007f66dc7bc71f in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
> Thread 5 (Thread 0x7f66da69e0c0 (LWP 20458)):
> #0 0x00007f66dd95b8db in arrow::bit_util::SetBitTo (bits=0x7f66d4e1e380
> "\367\323\373\335\377\335\377\332\337\347\367\337\033\327\372\375\375\317\274\376\377\375\376\263m\367\356\276\377\377\377\365\377\067\067\377\377\267o\177\377\331\373>\177\276_\277\377\377\337\372\377y\373o\277\001",
> i=457, bit_is_set=false) at /arrow/cpp/src/arrow/util/bit_util.h:317
> #1 0x00007f66dd95ca4f in arrow::TypedBufferBuilder<bool, void>::UnsafeAppend
> (this=0x7ffc6aee8e10, value=false) at
> /arrow/cpp/src/arrow/buffer_builder.h:336
> #2 0x00007f66dee66716 in arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>,
> arrow::BinaryType>::VisitTake<unsigned int,
> arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<Type>::GenerateOutput() [with Adapter =
> arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>,
> arrow::BinaryType>::TakeAdapter<unsigned int>; Type =
> arrow::BinaryType]::<lambda(int64_t)>, arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<Type>::GenerateOutput() [with Adapter =
> arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>,
> arrow::BinaryType>::TakeAdapter<unsigned int>; Type =
> arrow::BinaryType]::<lambda()> >(arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>::<lambda(int64_t)> &&,
> arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>::<lambda()> &&)
> (this=0x7ffc6aee8dd0, visit_valid=..., visit_null=...) at
> /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:1292
> #3 0x00007f66dee5b668 in arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>,
> arrow::BinaryType>::TakeAdapter<unsigned
> int>::Generate<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<Type>::GenerateOutput() [with Adapter =
> arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>,
> arrow::BinaryType>::TakeAdapter<unsigned int>; Type =
> arrow::BinaryType]::<lambda(int64_t)>, arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<Type>::GenerateOutput() [with Adapter =
> arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>,
> arrow::BinaryType>::TakeAdapter<unsigned int>; Type =
> arrow::BinaryType]::<lambda()> >(arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>::<lambda(int64_t)> &&,
> arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>::<lambda()> &&)
> (this=0x7ffc6aee8c70, visit_valid=..., visit_null=...) at
> /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:1222
> #4 0x00007f66dee4fd3e in arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>::GenerateOutput<arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>,
> arrow::BinaryType>::TakeAdapter<unsigned int> > (this=0x7ffc6aee8dd0) at
> /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:1535
> #5 0x00007f66dee45a4b in arrow::compute::internal::(anonymous
> namespace)::Selection<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType>, arrow::BinaryType>::ExecTake
> (this=0x7ffc6aee8dd0) at
> /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:1453
> #6 0x00007f66dee37241 in arrow::compute::internal::(anonymous
> namespace)::TakeExec<arrow::compute::internal::(anonymous
> namespace)::VarBinaryImpl<arrow::BinaryType> > (ctx=0x7ffc6aee91d0,
> batch=..., out=0x7ffc6aee9020) at
> /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:2324
> #7 0x00007f66de3843d8 in 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*&&) (__functor=..., __args#0=@0x7ffc6aee8f78: 0x7ffc6aee91d0,
> __args#1=..., __args#2=@0x7ffc6aee8f68: 0x7ffc6aee9020) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/std_function.h:286
> #8 0x00007f66de1b08cf in std::function<arrow::Status
> (arrow::compute::KernelContext*, arrow::compute::ExecBatch const&,
> arrow::Datum*)>::operator()(arrow::compute::KernelContext*,
> arrow::compute::ExecBatch const&, arrow::Datum*) const (this=0x562769ba2768,
> __args#0=0x7ffc6aee91d0, __args#1=..., __args#2=0x7ffc6aee9020) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/std_function.h:688
> #9 0x00007f66de1ad5d1 in arrow::compute::detail::(anonymous
> namespace)::VectorExecutor::ExecuteBatch (this=0x562769bdb400, batch=...,
> listener=0x7ffc6aee9260) at /arrow/cpp/src/arrow/compute/exec.cc:880
> #10 0x00007f66de1acfc6 in arrow::compute::detail::(anonymous
> namespace)::VectorExecutor::Execute (this=0x562769bdb400, args=...,
> listener=0x7ffc6aee9260) at /arrow/cpp/src/arrow/compute/exec.cc:846
> #11 0x00007f66de2cdab3 in arrow::compute::Function::Execute
> (this=0x562769ba19c0, args=..., options=0x7ffc6aee9aa0, ctx=0x7ffc6aee9800)
> at /arrow/cpp/src/arrow/compute/function.cc:248
> #12 0x00007f66de1af599 in arrow::compute::CallFunction (func_name=...,
> args=..., options=0x7ffc6aee9aa0, ctx=0x7ffc6aee9800) at
> /arrow/cpp/src/arrow/compute/exec.cc:1065
> #13 0x00007f66dee21dac in arrow::compute::internal::(anonymous
> namespace)::TakeAA (values=..., indices=..., options=..., ctx=0x7ffc6aee9800)
> at /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:1997
> #14 0x00007f66dee23e81 in arrow::compute::internal::(anonymous
> namespace)::TakeMetaFunction::ExecuteImpl (this=0x562769ba30f0, args=...,
> options=0x7ffc6aee9aa0, ctx=0x7ffc6aee9800) at
> /arrow/cpp/src/arrow/compute/kernels/vector_selection.cc:2128
> #15 0x00007f66de2cf3c9 in arrow::compute::MetaFunction::Execute
> (this=0x562769ba30f0, args=..., options=0x7ffc6aee9aa0, ctx=0x7ffc6aee9800)
> at /arrow/cpp/src/arrow/compute/function.cc:382
> #16 0x00007f66de1af599 in arrow::compute::CallFunction (func_name=...,
> args=..., options=0x7ffc6aee9aa0, ctx=0x7ffc6aee9800) at
> /arrow/cpp/src/arrow/compute/exec.cc:1065
> #17 0x00007f66de1af3fe in arrow::compute::CallFunction (func_name=...,
> args=..., options=0x7ffc6aee9aa0, ctx=0x0) at
> /arrow/cpp/src/arrow/compute/exec.cc:1061
> #18 0x00007f66de17af3d in arrow::compute::Take (values=..., filter=...,
> options=..., ctx=0x0) at /arrow/cpp/src/arrow/compute/api_vector.cc:305
> #19 0x00005627694e0ae5 in arrow::compute::TakeUsingVector
> (ctx=0x562769c04260, input=..., indices=..., result=0x7ffc6aee9c60) at
> /arrow/cpp/src/arrow/compute/exec/hash_join_node_test.cc:456
> #20 0x00005627694e2e1e in arrow::compute::GenRandomJoinTables
> (ctx=0x562769c04260, rng=..., num_rows_l=1140, num_rows_r=973,
> num_keys_common=263, num_keys_left=341, num_keys_right=401, key_types=...,
> payload_left_types=..., payload_right_types=..., key_id_l=0x7ffc6aeea090,
> key_id_r=0x7ffc6aeea0a8, left=0x7ffc6aeea0c0, right=0x7ffc6aeea0d8) at
> /arrow/cpp/src/arrow/compute/exec/hash_join_node_test.cc:615
> #21 0x00005627694e7c72 in arrow::compute::HashJoin_Random_Test::TestBody
> (this=0x562769afb1b0) at
> /arrow/cpp/src/arrow/compute/exec/hash_join_node_test.cc:1032
> #22 0x00007f66e0598c9c in
> testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test,
> void> (object=0x562769afb1b0, method=&virtual testing::Test::TestBody(),
> location=0x7f66e05ad97b "the test body") at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
> #23 0x00007f66e058fdd2 in
> testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>
> (object=0x562769afb1b0, method=&virtual testing::Test::TestBody(),
> location=0x7f66e05ad97b "the test body") at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
> #24 0x00007f66e056ac03 in testing::Test::Run (this=0x562769afb1b0) at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2682
> #25 0x00007f66e056b63b in testing::TestInfo::Run (this=0x562769af7a00) at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2861
> #26 0x00007f66e056c010 in testing::TestSuite::Run (this=0x562769af7b20) at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:3015
> #27 0x00007f66e057c31c in testing::internal::UnitTestImpl::RunAllTests
> (this=0x562769af7190) at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5855
> #28 0x00007f66e0599ce8 in
> testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
> bool> (object=0x562769af7190, method=(bool
> (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl *
> const)) 0x7f66e057bed8 <testing::internal::UnitTestImpl::RunAllTests()>,
> location=0x7f66e05ae468 "auxiliary test code (environments or event
> listeners)") at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
> #29 0x00007f66e0591064 in
> testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
> bool> (object=0x562769af7190, method=(bool
> (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl *
> const)) 0x7f66e057bed8 <testing::internal::UnitTestImpl::RunAllTests()>,
> location=0x7f66e05ae468 "auxiliary test code (environments or event
> listeners)") at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
> #30 0x00007f66e057a7b7 in testing::UnitTest::Run (this=0x7f66e05da260
> <testing::UnitTest::GetInstance()::instance>) at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5438
> #31 0x00007f66e05db919 in RUN_ALL_TESTS () at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/include/gtest/gtest.h:2490
> #32 0x00007f66e05db95c in main (argc=1, argv=0x7ffc6aeea8a8) at
> /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest_main.cc:52
> #33 0x00007f66dc6bcbf7 in __libc_start_main (main=0x7f66e05db91b <main(int,
> char**)>, argc=1, argv=0x7ffc6aeea8a8, init=<optimized out>, fini=<optimized
> out>, rtld_fini=<optimized out>, stack_end=0x7ffc6aeea898) at
> ../csu/libc-start.c:310
> #34 0x00005627694d4f29 in _start ()
> Thread 4 (Thread 0x7f66d65ff700 (LWP 20462)):
> #0 0x00007f66dc0ec065 in futex_abstimed_wait_cancelable (private=<optimized
> out>, abstime=0x7f66d65fd4a0, expected=0, futex_word=0x7f66da40a6c0) at
> ../sysdeps/unix/sysv/linux/futex-internal.h:205
> #1 __pthread_cond_wait_common (abstime=0x7f66d65fd4a0, mutex=0x7f66da40a708,
> cond=0x7f66da40a698) at pthread_cond_wait.c:539
> #2 __pthread_cond_timedwait (cond=0x7f66da40a698, mutex=0x7f66da40a708,
> abstime=0x7f66d65fd4a0) at pthread_cond_wait.c:667
> #3 0x00007f66df325f26 in background_thread_sleep (tsdn=<optimized out>,
> interval=<optimized out>, info=0x7f66da40a690) at src/background_thread.c:255
> #4 background_work_sleep_once (ind=<optimized out>, info=<optimized out>,
> tsdn=<optimized out>) at src/background_thread.c:307
> #5 background_work (ind=<optimized out>, tsd=<optimized out>) at
> src/background_thread.c:497
> #6 background_thread_entry () at src/background_thread.c:522
> #7 0x00007f66dc0e56db in start_thread (arg=0x7f66d65ff700) at
> pthread_create.c:463
> #8 0x00007f66dc7bc71f in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
> Thread 3 (Thread 0x7f66d8b7e700 (LWP 20460)):
> #0 0x00007f66dc0ebad3 in futex_wait_cancelable (private=<optimized out>,
> expected=0, futex_word=0x562769be4780) at
> ../sysdeps/unix/sysv/linux/futex-internal.h:88
> #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x562769be4730,
> cond=0x562769be4758) at pthread_cond_wait.c:502
> #2 __pthread_cond_wait (cond=0x562769be4758, mutex=0x562769be4730) at
> pthread_cond_wait.c:655
> #3 0x00007f66dcb544d1 in __gthread_cond_wait (__mutex=<error reading
> variable: dwarf2_find_location_expression: Corrupted DWARF expression.>,
> __cond=<optimized out>) at
> /home/conda/feedstock_root/build_artifacts/gcc_compilers_1634095553113/work/build/x86_64-conda-linux-gnu/libstdc++-v3/src/c++11/condition_variable.cc:865
> #4 std::__condvar::wait (__m=<error reading variable:
> dwarf2_find_location_expression: Corrupted DWARF expression.>,
> this=<optimized out>) at
> ../../../../../libstdc++-v3/src/c++11/gthr-default.h:155
> #5 std::condition_variable::wait (this=<optimized out>, __lock=...) at
> ../../../../../libstdc++-v3/src/c++11/condition_variable.cc:41
> #6 0x00007f66ddf376af in arrow::internal::WorkerLoop (state=..., it=...) at
> /arrow/cpp/src/arrow/util/thread_pool.cc:195
> #7 0x00007f66ddf38458 in
> arrow::internal::ThreadPool::<lambda()>::operator()(void) const
> (__closure=0x562769cd8b98) at /arrow/cpp/src/arrow/util/thread_pool.cc:344
> #8 0x00007f66ddf3ef90 in std::__invoke_impl<void,
> arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >(std::__invoke_other, arrow::internal::ThreadPool::<lambda()> &&) (__f=...)
> at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:60
> #9 0x00007f66ddf3ef30 in
> std::__invoke<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >(arrow::internal::ThreadPool::<lambda()> &&) (__fn=...) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:95
> #10 0x00007f66ddf3eece in
> std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x562769cd8b98) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:244
> #11 0x00007f66ddf3ed8b in
> std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > >::operator()(void) (this=0x562769cd8b98) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:251
> #12 0x00007f66ddf3ecdc in
> std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > > >::_M_run(void) (this=0x562769cd8b90) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:195
> #13 0x00007f66dcb589d4 in std::execute_native_thread_routine (__p=<optimized
> out>) at
> /home/conda/feedstock_root/build_artifacts/gcc_compilers_1634095553113/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/bits/new_allocator.h:82
> #14 0x00007f66dc0e56db in start_thread (arg=0x7f66d8b7e700) at
> pthread_create.c:463
> #15 0x00007f66dc7bc71f in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
> Thread 2 (Thread 0x7f66d9dff700 (LWP 20459)):
> #0 0x00007f66dc0ec065 in futex_abstimed_wait_cancelable (private=<optimized
> out>, abstime=0x7f66d9dfd4a0, expected=0, futex_word=0x7f66da40a5f4) at
> ../sysdeps/unix/sysv/linux/futex-internal.h:205
> #1 __pthread_cond_wait_common (abstime=0x7f66d9dfd4a0, mutex=0x7f66da40a638,
> cond=0x7f66da40a5c8) at pthread_cond_wait.c:539
> #2 __pthread_cond_timedwait (cond=0x7f66da40a5c8, mutex=0x7f66da40a638,
> abstime=0x7f66d9dfd4a0) at pthread_cond_wait.c:667
> #3 0x00007f66df326656 in background_thread_sleep (tsdn=<optimized out>,
> interval=<optimized out>, info=<optimized out>) at src/background_thread.c:255
> #4 background_work_sleep_once (ind=0, info=<optimized out>, tsdn=<optimized
> out>) at src/background_thread.c:307
> #5 background_thread0_work (tsd=<optimized out>) at
> src/background_thread.c:452
> #6 background_work (ind=<optimized out>, tsd=<optimized out>) at
> src/background_thread.c:490
> #7 background_thread_entry () at src/background_thread.c:522
> #8 0x00007f66dc0e56db in start_thread (arg=0x7f66d9dff700) at
> pthread_create.c:463
> #9 0x00007f66dc7bc71f in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
> Thread 1 (Thread 0x7f66d7b7d700 (LWP 20461)):
> #0 0x00000000000117bb in ?? ()
> #1 0x00007f66de2c3083 in arrow::compute::TaskSchedulerImpl::ScheduleMore
> (this=0x7f66c801ee20, thread_id=0, num_tasks_finished=0) at
> /arrow/cpp/src/arrow/compute/exec/task_util.cc:326
> #2 0x00007f66de2c1eec in arrow::compute::TaskSchedulerImpl::StartTaskGroup
> (this=0x7f66c801ee20, thread_id=0, group_id=1, total_num_tasks=0) at
> /arrow/cpp/src/arrow/compute/exec/task_util.cc:153
> #3 0x00007f66de2213b4 in
> arrow::compute::HashJoinBasicImpl::ProbeQueuedBatches (this=0x7f66d004acb0,
> thread_index=0) at /arrow/cpp/src/arrow/compute/exec/hash_join.cc:716
> #4 0x00007f66de220b9d in
> arrow::compute::HashJoinBasicImpl::BuildHashTable_on_finished
> (this=0x7f66d004acb0, thread_index=0) at
> /arrow/cpp/src/arrow/compute/exec/hash_join.cc:653
> #5 0x00007f66de220d3d in
> arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
> long)#2}::operator()(unsigned long) const (__closure=0x562769d5d7c0,
> thread_index=0) at /arrow/cpp/src/arrow/compute/exec/hash_join.cc:664
> #6 0x00007f66de225b76 in std::_Function_handler<arrow::Status (unsigned
> long),
> arrow::compute::HashJoinBasicImpl::RegisterBuildHashTable()::{lambda(unsigned
> long)#2}>::_M_invoke(std::_Any_data const&, unsigned long&&) (__functor=...,
> __args#0=@0x7f66d7b7b138: 0) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/std_function.h:286
> #7 0x00007f66de24e28a in std::function<arrow::Status (unsigned
> long)>::operator()(unsigned long) const (this=0x562769d5d7c0, __args#0=0) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/std_function.h:688
> #8 0x00007f66de2c25e1 in
> arrow::compute::TaskSchedulerImpl::OnTaskGroupFinished (this=0x7f66c801ee20,
> thread_id=0, group_id=0, all_task_groups_finished=0x7f66d7b7b230) at
> /arrow/cpp/src/arrow/compute/exec/task_util.cc:244
> #9 0x00007f66de2c2ed4 in
> arrow::compute::TaskSchedulerImpl::<lambda(size_t)>::operator()(size_t) const
> (__closure=0x562769bdb540, thread_id=0) at
> /arrow/cpp/src/arrow/compute/exec/task_util.cc:349
> #10 0x00007f66de2c4acf in std::_Function_handler<arrow::Status(long unsigned
> int), arrow::compute::TaskSchedulerImpl::ScheduleMore(size_t,
> int)::<lambda(size_t)> >::_M_invoke(const std::_Any_data &, unsigned long &&)
> (__functor=..., __args#0=@0x7f66d7b7b2b8: 0) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/std_function.h:286
> #11 0x00007f66de24e28a in std::function<arrow::Status (unsigned
> long)>::operator()(unsigned long) const (this=0x562769d65ed0, __args#0=0) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/std_function.h:688
> #12 0x00007f66de24b9f8 in
> arrow::compute::HashJoinNode::ScheduleTaskCallback(std::function<arrow::Status
> (unsigned long)>)::{lambda()#1}::operator()() const
> (__closure=0x562769d65ec8) at
> /arrow/cpp/src/arrow/compute/exec/hash_join_node.cc:590
> #13 0x00007f66de25cda7 in arrow::internal::FnOnce<void
> ()>::FnImpl<arrow::compute::HashJoinNode::ScheduleTaskCallback(std::function<arrow::Status
> (unsigned long)>)::{lambda()#1}>::invoke() (this=0x562769d65ec0) at
> /arrow/cpp/src/arrow/util/functional.h:152
> #14 0x00007f66ddf395d6 in arrow::internal::FnOnce<void ()>::operator()() &&
> (this=0x7f66d7b7b3f0) at /arrow/cpp/src/arrow/util/functional.h:140
> #15 0x00007f66ddf3757f in arrow::internal::WorkerLoop (state=..., it=...) at
> /arrow/cpp/src/arrow/util/thread_pool.cc:177
> #16 0x00007f66ddf38458 in
> arrow::internal::ThreadPool::<lambda()>::operator()(void) const
> (__closure=0x562769c445b8) at /arrow/cpp/src/arrow/util/thread_pool.cc:344
> #17 0x00007f66ddf3ef90 in std::__invoke_impl<void,
> arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >(std::__invoke_other, arrow::internal::ThreadPool::<lambda()> &&) (__f=...)
> at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:60
> #18 0x00007f66ddf3ef30 in
> std::__invoke<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> >(arrow::internal::ThreadPool::<lambda()> &&) (__fn=...) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:95
> #19 0x00007f66ddf3eece in
> std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x562769c445b8) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:244
> #20 0x00007f66ddf3ed8b in
> std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > >::operator()(void) (this=0x562769c445b8) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:251
> #21 0x00007f66ddf3ecdc in
> std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
> > > >::_M_run(void) (this=0x562769c445b0) at
> /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:195
> #22 0x00007f66dcb589d4 in std::execute_native_thread_routine (__p=<optimized
> out>) at
> /home/conda/feedstock_root/build_artifacts/gcc_compilers_1634095553113/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/bits/new_allocator.h:82
> #23 0x00007f66dc0e56db in start_thread (arg=0x7f66d7b7d700) at
> pthread_create.c:463
> #24 0x00007f66dc7bc71f in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
> /build/cpp/src/arrow/compute/exec
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)