I'm new to ASAN and ran into a situation running my linux x64 C++17 program
after compiling in -fsanitize=address to investigate a segfault that
happens after running an hour or so.
The program doesn't actually try to allocate 1.8 petabytes, as it starts up
and runs properly on my desktop computer for a while without ASAN compiled
in. With ASAN, i get the stack below immediately on startup:
Any known issues with gRPC? I realize this is not much context at all, but
would appreciate suggestions on how to proceed at this point.
I might add that my first try was to run the program under valgrind to see
if i could catch the segfault, but valgrind exits with an unknown
instruction while executing the code prior to entering main()
==44393==WARNING: AddressSanitizer failed to allocate 0x676af86372000 bytes
==44393==AddressSanitizer's allocator is terminating the process instead of
returning 0
==44393==If you don't like this behavior set allocator_may_return_null=1
==44393==AddressSanitizer CHECK failed: ../../../../src/libsanitizer/
sanitizer_common/sanitizer_allocator.cc:216 "((0)) != (0)" (0x0, 0x0)
#0 0x7f48dbca3522 (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xf9522)
#1 0x7f48dbcc00e9 in __sanitizer::CheckFailed(char const*, int, char
const*, unsigned long long, unsigned long long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x1160e9)
#2 0x7f48dbca9456 (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xff456)
#3 0x7f48dbca9493 (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xff493)
#4 0x7f48dbbd2595 (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x28595)
#5 0x7f48dbbd0fa6 (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x26fa6)
#6 0x7f48dbc97f5a in __interceptor_malloc
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0xedf5a)
#7 0x7f48db4c5dfd in gpr_malloc src/core/lib/gpr/alloc.cc:32
#8 0x559e8e36cf1b in
grpc::internal::FillMetadataArray(std::multimap<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > const&, unsigned long*,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)
/var/dev/github/sdf/modules/analytics-flow-ingestion/flow_ingester/../../../../cpp-third-party/grpc/include/grpcpp/impl/codegen/call_op_set.h:61
#9 0x559e8e374aa8 in
grpc::internal::CallOpSendInitialMetadata::AddOp(grpc_op*, unsigned long*)
/var/dev/github/sdf/modules/analytics-flow-ingestion/flow_ingester/../../../../cpp-third-party/grpc/include/grpcpp/impl/codegen/call_op_set.h:243
#10 0x559e8e4c259b in
grpc::internal::CallOpSet<grpc::internal::CallOpSendInitialMetadata,
grpc::internal::CallOpSendMessage,
grpc::internal::CallOpRecvInitialMetadata,
grpc::internal::CallOpRecvMessage<liveaction::analytics::node::grpc::application_id_mapper::v1::ApplicationIdMapping>,
grpc::internal::CallOpClientSendClose,
grpc::internal::CallOpClientRecvStatus>::ContinueFillOpsAfterInterception()
/var/dev/github/sdf/modules/analytics-flow-ingestion/flow_ingester/../../../../cpp-third-party/grpc/include/grpcpp/impl/codegen/call_op_set.h:931
#11 0x559e8e4d562b in
grpc::internal::Call::PerformOps(grpc::internal::CallOpSetInterface*)
/var/dev/github/sdf/modules/analytics-flow-ingestion/flow_ingester/../../../../cpp-third-party/grpc/include/grpcpp/impl/codegen/call.h:69
#12 0x559e8e4d562b in
grpc::internal::BlockingUnaryCallImpl<liveaction::analytics::node::grpc::application_id_mapper::v1::GetOrCreateApplicationIdMappingRequest,
liveaction::analytics::node::grpc::application_id_mapper::v1::ApplicationIdMapping>::BlockingUnaryCallImpl(grpc::ChannelInterface*,
grpc::internal::RpcMethod const&, grpc_impl::ClientContext*,
liveaction::analytics::node::grpc::application_id_mapper::v1::GetOrCreateApplicationIdMappingRequest
const&,
liveaction::analytics::node::grpc::application_id_mapper::v1::ApplicationIdMapping*)
/var/dev/github/sdf/modules/analytics-flow-ingestion/flow_ingester/../../../../cpp-third-party/grpc/include/grpcpp/impl/codegen/client_unary_call.h:71
#13 0x559e8e49ef7c in grpc::Status
grpc::internal::BlockingUnaryCall<liveaction::analytics::node::grpc::application_id_mapper::v1::GetOrCreateApplicationIdMappingRequest,
liveaction::analytics::node::grpc::application_id_mapper::v1::ApplicationIdMapping>(grpc::ChannelInterface*,
grpc::internal::RpcMethod const&, grpc_impl::ClientContext*,
liveaction::analytics::node::grpc::application_id_mapper::v1::GetOrCreateApplicationIdMappingRequest
const&,
liveaction::analytics::node::grpc::application_id_mapper::v1::ApplicationIdMapping*)
/var/dev/github/sdf/modules/analytics-flow-ingestion/flow_ingester/../../../../cpp-third-party/grpc/include/grpcpp/impl/codegen/client_unary_call.h:43
#14 0x559e8e49ef7c in
liveaction::analytics::node::grpc::application_id_mapper::v1::ApplicationIdMapper::Stub::GetOrCreateApplicationIdMapping(grpc_impl::ClientContext*,
liveaction::analytics::node::grpc::application_id_mapper::v1::GetOrCreateApplicationIdMappingRequest
const&,
liveaction::analytics::node::grpc::application_id_mapper::v1::ApplicationIdMapping*)
/var/dev/github/sdf/modules/analytics-flow-ingestion/flow_ingester/../grpc/linux/liveaction/analytics/node/grpc/application_id_mapper_v1.grpc.pb.cc:137
--
You received this message because you are subscribed to the Google Groups
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/address-sanitizer/1d8e768c-bfae-4b2f-b24c-d63d2b7ca3a0%40googlegroups.com.