Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-15181

[C++][FlightRPC] Occasional crash on server shutdown

Details

    Description

      Observed in a PR.

      What the problem appears to be:

        Status Shutdown() {
          if (self_pipe_.rfd == 0) {
            // Already closed
            return Status::OK();
          }
          if (PIPE_WRITE(self_pipe_.wfd, "0", 1) < 0 && errno != EAGAIN &&
              errno != EWOULDBLOCK && errno != EINTR) {
            return arrow::internal::IOErrorFromErrno(errno, "Could not unblock signal thread");
          }
          RETURN_NOT_OK(arrow::internal::FileClose(self_pipe_.rfd));
          RETURN_NOT_OK(arrow::internal::FileClose(self_pipe_.wfd));
          handle_signals_.join();
          self_pipe_.rfd = 0;
          self_pipe_.wfd = 0;
          return Status::OK();
        }
      

      This closes the pipe, then joins the thread. The thread is running this:

        static void WaitForSignals(int fd) {
          // Wait for a signal handler to write to the pipe
          int8_t buf[1];
          while (PIPE_READ(fd, /*buf=*/buf, /*count=*/1) == -1) {
            if (errno == EINTR) {
              continue;
            }
            ARROW_CHECK_OK(arrow::internal::IOErrorFromErrno(
                errno, "Error while waiting for shutdown signal"));
          }
          auto instance = running_instance_.load();
          if (instance != nullptr) {
            instance->server_->Shutdown();
          }
        }
      

      So it's possible that 1) we shutdown, 2) we close the pipe, 3) the thread calls PIPE_READ, 4) we get an error (errno 9, invalid fd) because the pipe was closed. We should either ignore the error (and break), or join the thread before closing the pipe.

      [ RUN      ] TestFlightSqlServer.TestCommandGetExportedKeys
      /arrow/cpp/src/arrow/flight/server.cc:884:  Check failed: _s.ok() Operation failed: arrow::internal::IOErrorFromErrno( (*__errno_location ()), "Error while waiting for shutdown signal")
      Bad status: IOError: Error while waiting for shutdown signal. Detail: [errno 9] Bad file descriptor
      /opt/conda/envs/arrow/lib/libarrow.so.700(+0x12afab8)[0x7fe71fa07ab8]
      /opt/conda/envs/arrow/lib/libarrow.so.700(+0x12afa36)[0x7fe71fa07a36]
      /opt/conda/envs/arrow/lib/libarrow.so.700(+0x12afa58)[0x7fe71fa07a58]
      /opt/conda/envs/arrow/lib/libarrow.so.700(arrow::util::ArrowLog::~ArrowLog()+0x47)[0x7fe71fa07db7]
      /opt/conda/envs/arrow/lib/libarrow_flight.so.700(+0x1ef89c)[0x7fe721b9a89c]
      /opt/conda/envs/arrow/lib/libarrow_flight.so.700(+0x20456d)[0x7fe721baf56d]
      /opt/conda/envs/arrow/lib/libarrow_flight.so.700(+0x204414)[0x7fe721baf414]
      /opt/conda/envs/arrow/lib/libarrow_flight.so.700(+0x2042b8)[0x7fe721baf2b8]
      /opt/conda/envs/arrow/lib/libarrow_flight.so.700(+0x2041fc)[0x7fe721baf1fc]
      /opt/conda/envs/arrow/lib/libarrow_flight.so.700(+0x2032ed)[0x7fe721bae2ed]
      /opt/conda/envs/arrow/lib/libstdc++.so.6(+0xcc9d4)[0x7fe71e45a9d4]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7fe71e5406db]
      /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7fe71e0be71f]
      Found core dump, printing backtrace:
      
      warning: core file may not match specified executable file.
      [New LWP 20513]
      [New LWP 20392]
      [New LWP 20393]
      [New LWP 20401]
      [New LWP 20430]
      [New LWP 20508]
      [New LWP 20509]
      [New LWP 20510]
      [New LWP 20511]
      [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-flight-sql-test'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
      [Current thread is 1 (Thread 0x7fe710ffc700 (LWP 20513))]
      
      Thread 9 (Thread 0x7fe712ffe700 (LWP 20511)):
      #0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
      #1  0x00007fe71d4c03cb in absl::lts_20210324::synchronization_internal::Waiter::Wait(absl::lts_20210324::synchronization_internal::KernelTimeout) () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #2  0x00007fe71d4c0283 in AbslInternalPerThreadSemWait_lts_20210324 () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #3  0x00007fe71d4c2f41 in absl::lts_20210324::CondVar::WaitCommon(absl::lts_20210324::Mutex*, absl::lts_20210324::synchronization_internal::KernelTimeout) () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #4  0x00007fe71ca7678c in gpr_cv_wait () from /opt/conda/envs/arrow/lib/./libgpr.so.20
      #5  0x00007fe71d78704d in timer_thread(void*) () from /opt/conda/envs/arrow/lib/libgrpc.so.20
      #6  0x00007fe71ca7c868 in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::{lambda(void*)#1}::_FUN(void*) () from /opt/conda/envs/arrow/lib/./libgpr.so.20
      #7  0x00007fe71e5406db in start_thread (arg=0x7fe712ffe700) at pthread_create.c:463
      #8  0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      Thread 8 (Thread 0x7fe713fff700 (LWP 20510)):
      #0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
      #1  0x00007fe71d4c0367 in absl::lts_20210324::synchronization_internal::Waiter::Wait(absl::lts_20210324::synchronization_internal::KernelTimeout) () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #2  0x00007fe71d4c0283 in AbslInternalPerThreadSemWait_lts_20210324 () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #3  0x00007fe71d4c2f41 in absl::lts_20210324::CondVar::WaitCommon(absl::lts_20210324::Mutex*, absl::lts_20210324::synchronization_internal::KernelTimeout) () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #4  0x00007fe71ca767b0 in gpr_cv_wait () from /opt/conda/envs/arrow/lib/./libgpr.so.20
      #5  0x00007fe71d770327 in grpc_core::Executor::ThreadMain(void*) () from /opt/conda/envs/arrow/lib/libgrpc.so.20
      #6  0x00007fe71ca7c868 in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::{lambda(void*)#1}::_FUN(void*) () from /opt/conda/envs/arrow/lib/./libgpr.so.20
      #7  0x00007fe71e5406db in start_thread (arg=0x7fe713fff700) at pthread_create.c:463
      #8  0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      Thread 7 (Thread 0x7fe7193fd700 (LWP 20509)):
      #0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
      #1  0x00007fe71d4c0367 in absl::lts_20210324::synchronization_internal::Waiter::Wait(absl::lts_20210324::synchronization_internal::KernelTimeout) () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #2  0x00007fe71d4c0283 in AbslInternalPerThreadSemWait_lts_20210324 () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #3  0x00007fe71d4c2f41 in absl::lts_20210324::CondVar::WaitCommon(absl::lts_20210324::Mutex*, absl::lts_20210324::synchronization_internal::KernelTimeout) () from /opt/conda/envs/arrow/lib/libabsl_synchronization.so.2103.0.1
      #4  0x00007fe71ca767b0 in gpr_cv_wait () from /opt/conda/envs/arrow/lib/./libgpr.so.20
      #5  0x00007fe71d770327 in grpc_core::Executor::ThreadMain(void*) () from /opt/conda/envs/arrow/lib/libgrpc.so.20
      #6  0x00007fe71ca7c868 in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::{lambda(void*)#1}::_FUN(void*) () from /opt/conda/envs/arrow/lib/./libgpr.so.20
      #7  0x00007fe71e5406db in start_thread (arg=0x7fe7193fd700) at pthread_create.c:463
      #8  0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      Thread 6 (Thread 0x7fe71a3fe700 (LWP 20508)):
      #0  0x00007fe71e541d2d in __GI___pthread_timedjoin_ex (threadid=140630399371008, thread_return=0x0, abstime=0x0, block=<optimized out>) at pthread_join_common.c:89
      #1  0x00007fe71e45a87f in __gthread_join (__value_ptr=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>, __threadid=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>) at /home/conda/feedstock_root/build_artifacts/gcc_compilers_1634095553113/work/build/x86_64-conda-linux-gnu/libstdc++-v3/src/c++11/thread:669
      #2  std::thread::join (this=0x7fe71a3fc078) at /home/conda/feedstock_root/build_artifacts/gcc_compilers_1634095553113/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/bits/new_allocator.h:112
      #3  0x00007fe721b9a439 in arrow::flight::ServerSignalHandler::Shutdown (this=0x7fe71a3fc070) at /arrow/cpp/src/arrow/flight/server.cc:831
      #4  0x00007fe721b9a50d in arrow::flight::ServerSignalHandler::~ServerSignalHandler (this=0x7fe71a3fc070, __in_chrg=<optimized out>) at /arrow/cpp/src/arrow/flight/server.cc:837
      #5  0x00007fe721b9c0be in arrow::flight::FlightServerBase::Serve (this=0x7fe700011df0) at /arrow/cpp/src/arrow/flight/server.cc:986
      #6  0x0000561f8f499f3c in arrow::flight::sql::TestFlightSqlServer::RunServer (this=0x561f8f9b3b80) at /arrow/cpp/src/arrow/flight/sql/server_test.cc:196
      #7  0x0000561f8f498fa5 in arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}::operator()() const (__closure=0x561f8f96f598) at /arrow/cpp/src/arrow/flight/sql/server_test.cc:152
      #8  0x0000561f8f4c0cc0 in std::__invoke_impl<void, arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}>(std::__invoke_other, arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}&&) (__f=...) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:60
      #9  0x0000561f8f4c0bf9 in std::__invoke<arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}>(std::__invoke_result&&, (arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}&&)...) (__fn=...) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:95
      #10 0x0000561f8f4c0acb in std::thread::_Invoker<std::tuple<arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x561f8f96f598) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:244
      #11 0x0000561f8f4c090c in std::thread::_Invoker<std::tuple<arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}> >::operator()() (this=0x561f8f96f598) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:251
      #12 0x0000561f8f4bfa71 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::flight::sql::TestFlightSqlServer::SetUp()::{lambda()#1}> > >::_M_run() (this=0x561f8f96f590) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:195
      #13 0x00007fe71e45a9d4 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 0x00007fe71e5406db in start_thread (arg=0x7fe71a3fe700) at pthread_create.c:463
      #15 0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      Thread 5 (Thread 0x7fe70d3ff700 (LWP 20430)):
      #0  0x00007fe71e547065 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fe70d3fd420, expected=0, futex_word=0x7fe71ba0a790) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
      #1  __pthread_cond_wait_common (abstime=0x7fe70d3fd420, mutex=0x7fe71ba0a7d8, cond=0x7fe71ba0a768) at pthread_cond_wait.c:539
      #2  __pthread_cond_timedwait (cond=cond@entry=0x7fe71ba0a768, mutex=mutex@entry=0x7fe71ba0a7d8, abstime=abstime@entry=0x7fe70d3fd420) at pthread_cond_wait.c:667
      #3  0x00007fe720d74a36 in background_thread_sleep (tsdn=<optimized out>, interval=<optimized out>, info=0x7fe71ba0a760) 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  0x00007fe71e5406db in start_thread (arg=0x7fe70d3ff700) at pthread_create.c:463
      #8  0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      Thread 4 (Thread 0x7fe70ebff700 (LWP 20401)):
      #0  0x00007fe71e547065 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fe70ebfd420, expected=0, futex_word=0x7fe71ba0a6c4) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
      #1  __pthread_cond_wait_common (abstime=0x7fe70ebfd420, mutex=0x7fe71ba0a708, cond=0x7fe71ba0a698) at pthread_cond_wait.c:539
      #2  __pthread_cond_timedwait (cond=cond@entry=0x7fe71ba0a698, mutex=mutex@entry=0x7fe71ba0a708, abstime=abstime@entry=0x7fe70ebfd420) at pthread_cond_wait.c:667
      #3  0x00007fe720d74a36 in background_thread_sleep (tsdn=<optimized out>, interval=<optimized out>, info=0x7fe71ba0a690) 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  0x00007fe71e5406db in start_thread (arg=0x7fe70ebff700) at pthread_create.c:463
      #8  0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      Thread 3 (Thread 0x7fe71b3ff700 (LWP 20393)):
      #0  0x00007fe71e547065 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fe71b3fd420, expected=0, futex_word=0x7fe71ba0a5f4) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
      #1  __pthread_cond_wait_common (abstime=0x7fe71b3fd420, mutex=0x7fe71ba0a638, cond=0x7fe71ba0a5c8) at pthread_cond_wait.c:539
      #2  __pthread_cond_timedwait (cond=cond@entry=0x7fe71ba0a5c8, mutex=mutex@entry=0x7fe71ba0a638, abstime=abstime@entry=0x7fe71b3fd420) at pthread_cond_wait.c:667
      #3  0x00007fe720d75166 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  0x00007fe71e5406db in start_thread (arg=0x7fe71b3ff700) at pthread_create.c:463
      #9  0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      Thread 2 (Thread 0x7fe71bce2140 (LWP 20392)):
      #0  0x00007fe71e541d2d in __GI___pthread_timedjoin_ex (threadid=140630554568448, thread_return=0x0, abstime=0x0, block=<optimized out>) at pthread_join_common.c:89
      #1  0x00007fe71e45a87f in __gthread_join (__value_ptr=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>, __threadid=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>) at /home/conda/feedstock_root/build_artifacts/gcc_compilers_1634095553113/work/build/x86_64-conda-linux-gnu/libstdc++-v3/src/c++11/thread:669
      #2  std::thread::join (this=0x561f8f96f570) at /home/conda/feedstock_root/build_artifacts/gcc_compilers_1634095553113/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/bits/new_allocator.h:112
      #3  0x0000561f8f49977b in arrow::flight::sql::TestFlightSqlServer::TearDown (this=0x561f8f9b3b80) at /arrow/cpp/src/arrow/flight/sql/server_test.cc:173
      #4  0x00007fe72259bc9c in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=0x561f8f9b3b80, method=&virtual testing::Test::TearDown(), location=0x7fe7225b0989 "TearDown()") at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
      #5  0x00007fe722592dd2 in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x561f8f9b3b80, method=&virtual testing::Test::TearDown(), location=0x7fe7225b0989 "TearDown()") at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
      #6  0x00007fe72256dc4e in testing::Test::Run (this=0x561f8f9b3b80) at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2690
      #7  0x00007fe72256e63b in testing::TestInfo::Run (this=0x561f8f989390) at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2861
      #8  0x00007fe72256f010 in testing::TestSuite::Run (this=0x561f8f9938c0) at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:3015
      #9  0x00007fe72257f31c in testing::internal::UnitTestImpl::RunAllTests (this=0x561f8f990d90) at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5855
      #10 0x00007fe72259cce8 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x561f8f990d90, method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x7fe72257eed8 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x7fe7225b1468 "auxiliary test code (environments or event listeners)") at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2607
      #11 0x00007fe722594064 in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x561f8f990d90, method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x7fe72257eed8 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x7fe7225b1468 "auxiliary test code (environments or event listeners)") at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:2643
      #12 0x00007fe72257d7b7 in testing::UnitTest::Run (this=0x7fe7225dd260 <testing::UnitTest::GetInstance()::instance>) at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest.cc:5438
      #13 0x00007fe7225de919 in RUN_ALL_TESTS () at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/include/gtest/gtest.h:2490
      #14 0x00007fe7225de95c in main (argc=1, argv=0x7ffee00fe7a8) at /build/cpp/googletest_ep-prefix/src/googletest_ep/googletest/src/gtest_main.cc:52
      #15 0x00007fe71dfbebf7 in __libc_start_main (main=0x7fe7225de91b <main(int, char**)>, argc=1, argv=0x7ffee00fe7a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffee00fe798) at ../csu/libc-start.c:310
      #16 0x0000561f8f45b7f9 in _start ()
      
      Thread 1 (Thread 0x7fe710ffc700 (LWP 20513)):
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #1  0x00007fe71dfdd921 in __GI_abort () at abort.c:79
      #2  0x00007fe71fa07a3c in arrow::util::CerrLog::~CerrLog (this=0x7fe71402a570, __in_chrg=<optimized out>) at /arrow/cpp/src/arrow/util/logging.cc:72
      #3  0x00007fe71fa07a58 in arrow::util::CerrLog::~CerrLog (this=0x7fe71402a570, __in_chrg=<optimized out>) at /arrow/cpp/src/arrow/util/logging.cc:74
      #4  0x00007fe71fa07db7 in arrow::util::ArrowLog::~ArrowLog (this=0x7fe710ffa360, __in_chrg=<optimized out>) at /arrow/cpp/src/arrow/util/logging.cc:250
      #5  0x00007fe721b9a89c in arrow::flight::FlightServerBase::Impl::WaitForSignals (fd=14) at /arrow/cpp/src/arrow/flight/server.cc:884
      #6  0x00007fe721baf56d in std::__invoke_impl<void, void (*)(int), int> (__f=@0x7fe7000251a0: 0x7fe721b9a701 <arrow::flight::FlightServerBase::Impl::WaitForSignals(int)>) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:60
      #7  0x00007fe721baf414 in std::__invoke<void (*)(int), int> (__fn=@0x7fe7000251a0: 0x7fe721b9a701 <arrow::flight::FlightServerBase::Impl::WaitForSignals(int)>) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/invoke.h:95
      #8  0x00007fe721baf2b8 in std::thread::_Invoker<std::tuple<void (*)(int), int> >::_M_invoke<0ul, 1ul> (this=0x7fe700025198) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:244
      #9  0x00007fe721baf1fc in std::thread::_Invoker<std::tuple<void (*)(int), int> >::operator() (this=0x7fe700025198) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:251
      #10 0x00007fe721bae2ed in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(int), int> > >::_M_run (this=0x7fe700025190) at /opt/conda/envs/arrow/x86_64-conda-linux-gnu/include/c++/9.4.0/thread:195
      #11 0x00007fe71e45a9d4 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
      #12 0x00007fe71e5406db in start_thread (arg=0x7fe710ffc700) at pthread_create.c:463
      #13 0x00007fe71e0be71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      /build/cpp/src/arrow/flight/sql
      
            Start 101: arrow-feather-test
       

      Attachments

        Issue Links

          Activity

            People

              lidavidm David Li
              lidavidm David Li
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h

                  Slack

                    Issue deployment