Hi,
I'm encountering a rare issue with gRPC, which i've observed since version 1.46, and it continues to occur in version 1.63. Unfortunately, the issue does not have consistent reproduction steps, making it difficult to diagnose.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __GI___libc_realloc (oldmem=0x1000005dc, bytes=39582418600032) at ./malloc/malloc.c:3420
3420 ./malloc/malloc.c: No such file or directory.
[Current thread is 1 (Thread 0x78b6bea006c0 (LWP 240903))]
#0 __GI___libc_realloc (oldmem=0x1000005dc, bytes=39582418600032) at ./malloc/malloc.c:3420
#1 0x000078b73ad3ac31 in gpr_realloc () from /lib/x86_64-linux-gnu/libgpr.so.29
#2 0x000078b73a0d8b1e in grpc_core::FilterStackCall::PublishAppMetadata(grpc_metadata_batch*, bool) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#3 0x000078b73a0de84a in grpc_core::FilterStackCall::BatchControl::ReceivingTrailingMetadataReady(absl::debian3::Status) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#4 0x000078b73a0de8ca in ?? () from /lib/x86_64-linux-gnu/libgrpc.so.29
#5 0x000078b739eac65e in ?? () from /lib/x86_64-linux-gnu/libgrpc.so.29
#6 0x000078b739dbf16f in grpc_core::Closure::Run(grpc_core::DebugLocation const&, grpc_closure*, absl::debian3::Status) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#7 0x000078b739daef75 in grpc_core::ClientChannel::CallData::RecvTrailingMetadataReadyForConfigSelectorCommitCallback(void*, absl::debian3::Status) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#8 0x000078b739dbf16f in grpc_core::Closure::Run(grpc_core::DebugLocation const&, grpc_closure*, absl::debian3::Status) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#9 0x000078b739db1069 in grpc_core::ClientChannel::LoadBalancedCall::RecvTrailingMetadataReady(void*, absl::debian3::Status) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#10 0x000078b739ea07ac in grpc_core::SubchannelCall::RecvTrailingMetadataReady(void*, absl::debian3::Status) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#11 0x000078b73a014686 in grpc_core::ExecCtx::Flush() () from /lib/x86_64-linux-gnu/libgrpc.so.29
#12 0x000078b73a00d807 in ?? () from /lib/x86_64-linux-gnu/libgrpc.so.29
#13 0x000078b73a00e7fa in ?? () from /lib/x86_64-linux-gnu/libgrpc.so.29
#14 0x000078b73a013b6f in ?? () from /lib/x86_64-linux-gnu/libgrpc.so.29
#15 0x000078b73a0187d3 in grpc_pollset_work(grpc_pollset*, grpc_pollset_worker**, grpc_core::Timestamp) () from /lib/x86_64-linux-gnu/libgrpc.so.29
#16 0x000078b739dab2e9 in ?? () from /lib/x86_64-linux-gnu/libgrpc.so.29
#17 0x000078b73a014686 in grpc_core::ExecCtx::Flush() () from /lib/x86_64-linux-gnu/libgrpc.so.29
#18 0x000078b73a02fee9 in ?? () from /lib/x86_64-linux-gnu/libgrpc.so.29
#19 0x000078b73ad3eef3 in ?? () from /lib/x86_64-linux-gnu/libgpr.so.29
#20 0x000078b739aa8134 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#21 0x000078b739b287dc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
https://github.com/grpc/grpc/issues/30425
https://github.com/grpc/grpc/issues/32433
Are you aware of any workarounds or fixes that might help us address this problem?
Thanks,
Shailendra