[ 
https://issues.apache.org/jira/browse/ARROW-15361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Weston Pace reassigned ARROW-15361:
-----------------------------------

    Assignee: Weston Pace

> [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)

Reply via email to