linrrzqqq opened a new issue, #49781:
URL: https://github.com/apache/arrow/issues/49781
### Describe the bug, including details regarding any error messages,
version, and platform.
I meet a SIGSEGV crashes in the Arrow Flight C++ client when a Flight stream
is being finalized after an error or remote-side termination.
The most common failing frames like:
```text
*** SIGSEGV invalid permissions for mapped object (@0x56448ff1ef38) received
by PID 66637 (TID 67372 OR 0x7f2687017640) from PID 18446744071829581624; stack
trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int,
siginfo_t*, void*) at ../src/common/signal_handler.h:417
1# PosixSignals::chained_handler(int, siginfo*, void*) [clone .part.0] in
/usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so
2# JVM_handle_linux_signal in
/usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so
3# 0x00007F2836CE7520 in /lib/x86_64-linux-gnu/libc.so.6
4# std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<std::allocator<char> >(char const*,
std::allocator<char> const&) at
/usr/local/ldb-toolchain-v0.26/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/basic_string.h:707
5# arrow::Status::WithDetail(std::shared_ptr<arrow::StatusDetail>) const in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
6# arrow::flight::internal::TransportStatus::ToStatus() const in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
7# arrow::flight::transport::grpc::FromGrpcStatus(grpc::Status const&,
grpc::ClientContext*) in /mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
8# arrow::flight::transport::grpc::(anonymous
namespace)::GrpcClientInterceptorAdapter::Intercept(grpc::experimental::InterceptorBatchMethods*)
in /mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
9# grpc::internal::InterceptorBatchMethodsImpl::RunInterceptors() in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
10# grpc::internal::CallOpSet<grpc::internal::CallOpRecvInitialMetadata,
grpc::internal::CallOpClientRecvStatus, grpc::internal::CallNoOp<3>,
grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>,
grpc::internal::CallNoOp<6> >::FinalizeResult(void**, bool*) in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
11# grpc::ClientReaderWriter<arrow::flight::protocol::FlightData,
arrow::flight::protocol::FlightData>::Finish() in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
12# arrow::flight::transport::grpc::(anonymous
namespace)::FinishableDataStream<grpc::ClientReaderWriter<arrow::flight::protocol::FlightData,
arrow::flight::protocol::FlightData>,
arrow::flight::internal::FlightData>::DoFinish() in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
13# arrow::flight::transport::grpc::(anonymous
namespace)::WritableDataStream<grpc::ClientReaderWriter<arrow::flight::protocol::FlightData,
arrow::flight::protocol::FlightData>,
arrow::flight::internal::FlightData>::DoFinish() in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
14# arrow::flight::internal::ClientDataStream::Finish(arrow::Status) in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
15# arrow::flight::ClientStreamReader::Next() in
/mnt/disk1/PERFORMANCE_ENV/be/lib/doris_be
```
In my previous practice, the Arrow built with GCC did not exhibit this
crash, while the Arrow built with Clang more reliably exposed the issue.
Is there any known issue in Arrow Flight 17.0.0 around gRPC status
conversion, status detail attachment, or stream finalization, especially for
statically linked Clang-built Linux environments?
### Environment
- Arrow version: `17.0.0`
- gRPC version: `1.54.3`
- Compiler used to build Arrow: `Clang 20.1.8`
- Build type: `RELEASE`
- Build mode: static libraries
- Relevant Arrow components enabled:
- `ARROW_FLIGHT=ON`
- `ARROW_FLIGHT_SQL=ON`
- `ARROW_DATASET=ON`
- `ARROW_PARQUET=ON`
- `ARROW_ORC=ON`
- Link flags include:
- `-static-libstdc++`
- `-static-libgcc`
### Component(s)
C++
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]