Antoine Pitrou created ARROW-18353:
--------------------------------------

             Summary: [C++][Flight] Sporadic hang in UCX tests
                 Key: ARROW-18353
                 URL: https://issues.apache.org/jira/browse/ARROW-18353
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++, FlightRPC
            Reporter: Antoine Pitrou


The UCX tests sometimes hang here.

Full gdb backtraces for all threads:
{code}

Thread 8 (Thread 0x7f4562fcd700 (LWP 76837)):
#0  0x00007f4577b72ad3 in futex_wait_cancelable (private=<optimized out>, 
expected=0, futex_word=0x564ebe5b5b3c)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x564ebe5b5ae0, 
cond=0x564ebe5b5b10) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x564ebe5b5b10, mutex=0x564ebe5b5ae0) at 
pthread_cond_wait.c:655
#3  0x00007f457b4ce7cb in 
std::condition_variable::wait<arrow::flight::transport::ucx::(anonymous 
namespace)::WriteClientStream::WritesDone()::<lambda()> 
>(std::unique_lock<std::mutex> &, struct {...}) (this=0x564ebe5b5b10, 
__lock=..., __p=...)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/condition_variable:111
#4  0x00007f457b4c7b5e in arrow::flight::transport::ucx::(anonymous 
namespace)::WriteClientStream::WritesDone (this=0x564ebe5b5a90)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_client.cc:277
#5  0x00007f457b4cc989 in arrow::flight::transport::ucx::(anonymous 
namespace)::UcxClientStream::DoFinish (this=0x564ebe5b5a90)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_client.cc:692
#6  0x00007f457af80e04 in arrow::flight::internal::ClientDataStream::Finish 
(this=0x564ebe5b5a90, st=...) at /arrow/cpp/src/arrow/flight/transport.cc:46
#7  0x00007f457af4f6e1 in arrow::flight::ClientMetadataReader::ReadMetadata 
(this=0x564ebe560630, out=0x7f4562fcc170)
    at /arrow/cpp/src/arrow/flight/client.cc:263
#8  0x00007f457b593af6 in operator() (__closure=0x564ebe4e4848) at 
/arrow/cpp/src/arrow/flight/test_definitions.cc:1538
#9  0x00007f457b5b66b8 in std::__invoke_impl<void, 
arrow::flight::ErrorHandlingTest::TestDoPut()::<lambda()> 
>(std::__invoke_other, struct {...} &&) (__f=...)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/invoke.h:60
#10 0x00007f457b5b6529 in 
std::__invoke<arrow::flight::ErrorHandlingTest::TestDoPut()::<lambda()> 
>(struct {...} &&) (__fn=...)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/invoke.h:95
#11 0x00007f457b5b63c4 in 
std::thread::_Invoker<std::tuple<arrow::flight::ErrorHandlingTest::TestDoPut()::<lambda()>
 > >::_M_invoke<0>(std::_Index_tuple<0>) (
    this=0x564ebe4e4848) at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:264
#12 0x00007f457b5b6224 in 
std::thread::_Invoker<std::tuple<arrow::flight::ErrorHandlingTest::TestDoPut()::<lambda()>
 > >::operator()(void) (
    this=0x564ebe4e4848) at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:271
#13 0x00007f457b5b5e1e in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::flight::ErrorHandlingTest::TestDoPut()::<lambda()>
 > > >::_M_run(void) (this=0x564ebe4e4840) at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:215
#14 0x00007f4578242a93 in std::execute_native_thread_routine (__p=<optimized 
out>)
    at 
/home/conda/feedstock_root/build_artifacts/gcc_compilers_1666516830325/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/new_allocator.h:82
#15 0x00007f4577b6c6db in start_thread (arg=0x7f4562fcd700) at 
pthread_create.c:463
#16 0x00007f4577ea561f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f45725ca700 (LWP 76828)):
#0  0x00007f4577ea5947 in epoll_wait (epfd=36, 
events=events@entry=0x7f45725c86c0, maxevents=16, timeout=timeout@entry=0)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007f45779fe3e3 in ucs_event_set_wait (event_set=0x7f4564026240, 
num_events=num_events@entry=0x7f45725c8804, timeout_ms=timeout_ms@entry=0, 
    event_set_handler=event_set_handler@entry=0x7f4575d29320 
<uct_tcp_iface_handle_events>, arg=arg@entry=0x7f45725c8800) at 
sys/event_set.c:198
#2  0x00007f4575d29283 in uct_tcp_iface_progress (tl_iface=0x7f4564026900) at 
tcp/tcp_iface.c:327
#3  0x00007f4577a7de22 in ucs_callbackq_dispatch (cbq=<optimized out>) at 
/usr/local/src/conda/ucx-1.13.1/src/ucs/datastruct/callbackq.h:211
#4  uct_worker_progress (worker=<optimized out>) at 
/usr/local/src/conda/ucx-1.13.1/src/uct/api/uct.h:2638
#5  ucp_worker_progress (worker=0x7f4564000c80) at core/ucp_worker.c:2782
#6  0x00007f457b4f186f in 
arrow::flight::transport::ucx::UcpCallDriver::Impl::MakeProgress 
(this=0x7f456404d3b0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_internal.cc:759
#7  0x00007f457b4eee40 in 
arrow::flight::transport::ucx::UcpCallDriver::Impl::ReadNextFrame 
(this=0x7f456404d3b0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_internal.cc:449
#8  0x00007f457b4f3661 in 
arrow::flight::transport::ucx::UcpCallDriver::ReadNextFrame 
(this=0x7f456c0016d0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_internal.cc:1037
#9  0x00007f457b4d8c43 in arrow::flight::transport::ucx::(anonymous 
namespace)::PutServerStream::ReadImpl (this=0x7f45725c8b60, data=0x7f45725c8af0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_server.cc:153
#10 0x00007f457b4d8525 in arrow::flight::transport::ucx::(anonymous 
namespace)::PutServerStream::ReadData (this=0x7f45725c8b60, data=0x7f45725c8af0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_server.cc:120
#11 0x00007f457b4dd583 in arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::HandleDoPut (this=0x7f456404dff0, 
driver=0x7f456c0016d0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_server.cc:401
#12 0x00007f457b4de0d4 in arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::HandleOneCall (this=0x7f456404dff0, 
driver=0x7f456c0016d0, 
    frame=0x7f456404de20) at 
/arrow/cpp/src/arrow/flight/transport/ucx/ucx_server.cc:430
#13 0x00007f457b4ded21 in arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::WorkerLoop (this=0x7f456404dff0, 
request=0x7f456c0015c0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_server.cc:493
#14 0x00007f457b4df35e in operator() (__closure=0x7f4568050ca0) at 
/arrow/cpp/src/arrow/flight/transport/ucx/ucx_server.cc:520
#15 0x00007f457b4e8b1a in 
arrow::detail::ContinueFuture::operator()<arrow::flight::transport::ucx::(anonymous
 
namespace)::UcxServerImpl::DriveConnections()::<lambda()>&>(arrow::Future<arrow::internal::Empty>,
 struct {...} &) const (this=0x7f4568050c98, next=..., f=...) at 
/arrow/cpp/src/arrow/util/future.h:133
#16 0x00007f457b4e89e1 in std::__invoke_impl<void, 
arrow::detail::ContinueFuture&, arrow::Future<arrow::internal::Empty>&, 
arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections()::<lambda()>&>(std::__invoke_other,
 arrow::detail::ContinueFuture &) (__f=...)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/invoke.h:60
#17 0x00007f457b4e8883 in std::__invoke<arrow::detail::ContinueFuture&, 
arrow::Future<arrow::internal::Empty>&, 
arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections()::<lambda()>&>(arrow::detail::ContinueFuture
 &) (__fn=...)
---Type <return> to continue, or q <return> to quit---
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/invoke.h:95
#18 0x00007f457b4e871c in 
std::_Bind<arrow::detail::ContinueFuture(arrow::Future<arrow::internal::Empty>, 
arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections()::<lambda()>)>::__call<void, 0, 
1>(std::tuple<> &&, std::_Index_tuple<0, 1>) (this=0x7f4568050c98, __args=...)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/functional:416
#19 0x00007f457b4e85b9 in 
std::_Bind<arrow::detail::ContinueFuture(arrow::Future<arrow::internal::Empty>, 
arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections()::<lambda()>)>::operator()<>(void) 
(this=0x7f4568050c98)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/functional:499
#20 0x00007f457b4e8440 in 
arrow::internal::FnOnce<void()>::FnImpl<std::_Bind<arrow::detail::ContinueFuture(arrow::Future<arrow::internal::Empty>,
 arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections()::<lambda()>)> >::invoke(void) 
(this=0x7f4568050c90)
    at /arrow/cpp/src/arrow/util/functional.h:152
#21 0x00007f4578c6a15d in arrow::internal::FnOnce<void ()>::operator()() && 
(this=0x7f45725c9110) at /arrow/cpp/src/arrow/util/functional.h:140
#22 0x00007f4578c6814f in arrow::internal::WorkerLoop (state=..., it=...) at 
/arrow/cpp/src/arrow/util/thread_pool.cc:262
#23 0x00007f4578c690bc in operator() (__closure=0x7f4568051848) at 
/arrow/cpp/src/arrow/util/thread_pool.cc:423
#24 0x00007f4578c726f6 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.4.0/bits/invoke.h:60
#25 0x00007f4578c726ab in 
std::__invoke<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 >(struct {...} &&) (__fn=...)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/invoke.h:95
#26 0x00007f4578c72658 in 
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x7f4568051848) at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:264
#27 0x00007f4578c7249c in 
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 > >::operator()(void) (
    this=0x7f4568051848) at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:271
#28 0x00007f4578c723c0 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 > > >::_M_run(void) (this=0x7f4568051840) at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:215
#29 0x00007f4578242a93 in std::execute_native_thread_routine (__p=<optimized 
out>)
    at 
/home/conda/feedstock_root/build_artifacts/gcc_compilers_1666516830325/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/new_allocator.h:82
#30 0x00007f4577b6c6db in start_thread (arg=0x7f45725ca700) at 
pthread_create.c:463
#31 0x00007f4577ea561f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f4573dfe700 (LWP 76824)):
#0  0x00007f4577e98bb9 in __GI___poll (fds=fds@entry=0x7f4573dfd070, 
nfds=nfds@entry=1, timeout=timeout@entry=-1) at 
../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f4577a7ec90 in ucp_worker_wait (worker=<optimized out>) at 
core/ucp_worker.c:2982
#2  0x00007f457b4df590 in arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections (this=0x7f456404dff0)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_server.cc:530
#3  0x00007f457b4e8ade in std::__invoke_impl<void, void 
(arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl::*)(), 
arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl*> (
    __f=@0x564ebe4b4420: (void (arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::*)(arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl * const)) 0x7f457b4df362 
<arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections()>, 
    __t=@0x564ebe4b4418: 0x7f456404dff0) at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/invoke.h:73
#4  0x00007f457b4e8916 in std::__invoke<void 
(arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl::*)(), 
arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl*> (
    __fn=@0x564ebe4b4420: (void (arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::*)(arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl * const)) 0x7f457b4df362 
<arrow::flight::transport::ucx::(anonymous 
namespace)::UcxServerImpl::DriveConnections()>)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/invoke.h:95
#5  0x00007f457b4e877b in std::thread::_Invoker<std::tuple<void 
(arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl::*)(), 
arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl*> 
>::_M_invoke<0, 1> (this=0x564ebe4b4418)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:264
#6  0x00007f457b4e85ea in std::thread::_Invoker<std::tuple<void 
(arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl::*)(), 
arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl*> 
>::operator() (this=0x564ebe4b4418)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:271
#7  0x00007f457b4e8460 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<void 
(arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl::*)(), 
arrow::flight::transport::ucx::(anonymous namespace)::UcxServerImpl*> > 
>::_M_run (this=0x564ebe4b4410)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/thread:215
#8  0x00007f4578242a93 in std::execute_native_thread_routine (__p=<optimized 
out>)
    at 
/home/conda/feedstock_root/build_artifacts/gcc_compilers_1666516830325/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/new_allocator.h:82
#9  0x00007f4577b6c6db in start_thread (arg=0x7f4573dfe700) at 
pthread_create.c:463
#10 0x00007f4577ea561f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f4571dc9700 (LWP 76823)):
#0  0x00007f4577ea5947 in epoll_wait (epfd=8, 
events=events@entry=0x7f4571dc80c0, maxevents=16, timeout=timeout@entry=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007f45779fe3e3 in ucs_event_set_wait (event_set=0x564ebe5b3070, 
num_events=num_events@entry=0x7f4571dc820c, timeout_ms=-1, 
    event_set_handler=event_set_handler@entry=0x7f45779e2f80 
<ucs_async_thread_ev_handler>, arg=arg@entry=0x7f4571dc8210) at 
sys/event_set.c:198
#2  0x00007f45779e3824 in ucs_async_thread_func (arg=0x564ebe4c3f20) at 
async/thread.c:130
#3  0x00007f4577b6c6db in start_thread (arg=0x7f4571dc9700) at 
pthread_create.c:463
#4  0x00007f4577ea561f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
---Type <return> to continue, or q <return> to quit---

Thread 4 (Thread 0x7f4560fff700 (LWP 74110)):
#0  0x00007f4577b72ad3 in futex_wait_cancelable (private=<optimized out>, 
expected=0, futex_word=0x7f4574c167d4)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f4574c16818, 
cond=0x7f4574c167a8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7f4574c167a8, mutex=0x7f4574c16818) at 
pthread_cond_wait.c:655
#3  0x00007f457a18118d in background_thread_sleep 
(info=info@entry=0x7f4574c167a0, interval=<optimized out>, tsdn=<optimized out>)
    at src/background_thread.c:137
#4  0x00007f457a18174f in background_work_sleep_once (ind=2, info=<optimized 
out>, tsdn=<optimized out>) at src/background_thread.c:229
#5  background_work (ind=<optimized out>, tsd=<optimized out>) at 
src/background_thread.c:419
#6  background_thread_entry () at src/background_thread.c:444
#7  0x00007f4577b6c6db in start_thread (arg=0x7f4560fff700) at 
pthread_create.c:463
#8  0x00007f4577ea561f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f4572dcb700 (LWP 74080)):
#0  0x00007f4577b72ad3 in futex_wait_cancelable (private=<optimized out>, 
expected=0, futex_word=0x7f4574c16700)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f4574c16748, 
cond=0x7f4574c166d8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7f4574c166d8, mutex=0x7f4574c16748) at 
pthread_cond_wait.c:655
#3  0x00007f457a18118d in background_thread_sleep 
(info=info@entry=0x7f4574c166d0, interval=<optimized out>, tsdn=<optimized out>)
    at src/background_thread.c:137
#4  0x00007f457a18174f in background_work_sleep_once (ind=1, info=<optimized 
out>, tsdn=<optimized out>) at src/background_thread.c:229
#5  background_work (ind=<optimized out>, tsd=<optimized out>) at 
src/background_thread.c:419
#6  background_thread_entry () at src/background_thread.c:444
#7  0x00007f4577b6c6db in start_thread (arg=0x7f4572dcb700) at 
pthread_create.c:463
#8  0x00007f4577ea561f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f45745ff700 (LWP 72922)):
#0  0x00007f4577b72ad3 in futex_wait_cancelable (private=<optimized out>, 
expected=0, futex_word=0x7f4574c16634)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f4574c16678, 
cond=0x7f4574c16608) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7f4574c16608, mutex=0x7f4574c16678) at 
pthread_cond_wait.c:655
#3  0x00007f457a18118d in background_thread_sleep 
(info=info@entry=0x7f4574c16600, interval=<optimized out>, tsdn=<optimized out>)
    at src/background_thread.c:137
#4  0x00007f457a181c1f in background_work_sleep_once (ind=0, 
info=0x7f4574c16600, tsdn=<optimized out>) at src/background_thread.c:229
#5  background_thread0_work (tsd=<optimized out>) at src/background_thread.c:374
#6  background_work (ind=<optimized out>, tsd=<optimized out>) at 
src/background_thread.c:412
#7  background_thread_entry () at src/background_thread.c:444
#8  0x00007f4577b6c6db in start_thread (arg=0x7f45745ff700) at 
pthread_create.c:463
#9  0x00007f4577ea561f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f4574fd03c0 (LWP 72690)):
#0  0x00007f4577b72ad3 in futex_wait_cancelable (private=<optimized out>, 
expected=0, futex_word=0x564ebe5b5b3c)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x564ebe5b5ae0, 
cond=0x564ebe5b5b10) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x564ebe5b5b10, mutex=0x564ebe5b5ae0) at 
pthread_cond_wait.c:655
#3  0x00007f457b4ce6eb in 
std::condition_variable::wait<arrow::flight::transport::ucx::(anonymous 
namespace)::WriteClientStream::WriteData(const 
arrow::flight::FlightPayload&)::<lambda()> >(std::unique_lock<std::mutex> &, 
struct {...}) (this=0x564ebe5b5b10, __lock=..., __p=...)
    at 
/opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/10.4.0/condition_variable:111
#4  0x00007f457b4c7726 in arrow::flight::transport::ucx::(anonymous 
namespace)::WriteClientStream::WriteData (this=0x564ebe5b5a90, payload=...)
    at /arrow/cpp/src/arrow/flight/transport/ucx/ucx_client.cc:263
#5  0x00007f457af4fef7 in arrow::flight::ClientPutPayloadWriter::WritePayload 
(this=0x564ebe4d3750, ipc_payload=...)
    at /arrow/cpp/src/arrow/flight/client.cc:340
#6  0x00007f457a041b5f in arrow::ipc::internal::IpcFormatWriter::WritePayload 
(this=0x564ebe5613b0, payload=...) at /arrow/cpp/src/arrow/ipc/writer.cc:1135
#7  0x00007f457a040949 in 
arrow::ipc::internal::IpcFormatWriter::WriteRecordBatch (this=0x564ebe5613b0, 
batch=..., custom_metadata=...)
    at /arrow/cpp/src/arrow/ipc/writer.cc:1021
#8  0x00007f457a0405da in 
arrow::ipc::internal::IpcFormatWriter::WriteRecordBatch (this=0x564ebe5613b0, 
batch=...) at /arrow/cpp/src/arrow/ipc/writer.cc:1005
#9  0x00007f457af5122d in arrow::flight::ClientStreamWriter::WriteWithMetadata 
(this=0x564ebe547380, batch=..., app_metadata=...)
    at /arrow/cpp/src/arrow/flight/client.cc:439
#10 0x00007f457af50e7d in arrow::flight::ClientStreamWriter::WriteRecordBatch 
(this=0x564ebe547380, batch=...) at /arrow/cpp/src/arrow/flight/client.cc:422
#11 0x00007f457b594017 in arrow::flight::ErrorHandlingTest::TestDoPut 
(this=0x564ebe4ced60) at /arrow/cpp/src/arrow/flight/test_definitions.cc:1546
#12 0x0000564ebd4ab7c5 in 
arrow::flight::UcxErrorHandlingTest_TestDoPut_Test::TestBody 
(this=0x564ebe4ced60)
    at 
/arrow/cpp/src/arrow/flight/transport/ucx/flight_transport_ucx_test.cc:107
#13 0x00007f457b1197ed in 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> 
(object=0x564ebe4ced78, 
    method=&virtual testing::Test::TestBody(), location=0x7f457b12dddb "the 
test body")
---Type <return> to continue, or q <return> to quit---
    at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
#14 0x00007f457b110961 in 
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> 
(object=0x564ebe4ced78, 
    method=&virtual testing::Test::TestBody(), location=0x7f457b12dddb "the 
test body")
    at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
#15 0x00007f457b0ebcdd in testing::Test::Run (this=0x564ebe4ced78) at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2682
#16 0x00007f457b0ec6ff in testing::TestInfo::Run (this=0x564ebe4c88c0) at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2861
#17 0x00007f457b0ed0be in testing::TestSuite::Run (this=0x564ebe4c8790) at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:3015
#18 0x00007f457b0fd1dc in testing::internal::UnitTestImpl::RunAllTests 
(this=0x564ebe4c19a0)
    at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5855
#19 0x00007f457b11a7a8 in 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool> (object=0x564ebe4c19a0, 
    method=(bool 
(testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 
0x7f457b0fcd9a <testing::internal::UnitTestImpl::RunAllTests()>, 
location=0x7f457b12e8c8 "auxiliary test code (environments or event listeners)")
    at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
#20 0x00007f457b111b4e in 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool> (object=0x564ebe4c19a0, 
    method=(bool 
(testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 
0x7f457b0fcd9a <testing::internal::UnitTestImpl::RunAllTests()>, 
location=0x7f457b12e8c8 "auxiliary test code (environments or event listeners)")
    at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
#21 0x00007f457b0fb6a9 in testing::UnitTest::Run (this=0x7f457b157260 
<testing::UnitTest::GetInstance()::instance>)
    at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5438
#22 0x00007f457b4ab919 in RUN_ALL_TESTS () at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/include/gtest/gtest.h:2490
#23 0x00007f457b4ab95c in main (argc=1, argv=0x7ffc51a9d938) at 
/build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest_main.cc:52
#24 0x00007f4577da5c87 in __libc_start_main (main=0x7f457b4ab91b <main(int, 
char**)>, argc=1, argv=0x7ffc51a9d938, init=<optimized out>, fini=<optimized 
out>, 
    rtld_fini=<optimized out>, stack_end=0x7ffc51a9d928) at 
../csu/libc-start.c:310
#25 0x0000564ebd4a80b9 in _start ()
{code}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to