Skip to content

msan failure in inproc transport in qps test #17448

@markdroth

Description

@markdroth

https://source.cloud.google.com/results/invocations/52ab4856-eda9-4143-8b28-0071fb32678d/targets/%2F%2Ftest%2Fcpp%2Fqps:qps_json_driver_test_cpp_protobuf_sync_streaming_qps_unconstrained_1mps_insecure@poller%3Depollex/log

==20==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7f3abfce2406 in (anonymous namespace)::op_state_machine(void*, grpc_error*) /proc/self/cwd/src/core/ext/transport/inproc/inproc_transport.cc:596:7
    #1 0x7f3abd953088 in exec_ctx_run(grpc_closure*, grpc_error*) /proc/self/cwd/src/core/lib/iomgr/exec_ctx.cc:40:3
    #2 0x7f3abd9524f0 in grpc_core::ExecCtx::Flush() /proc/self/cwd/src/core/lib/iomgr/exec_ctx.cc:134:9
    #3 0x7f3ac0176b0c in grpc_core::ExecCtx::~ExecCtx() /proc/self/cwd/./src/core/lib/iomgr/exec_ctx.h:108:5
    #4 0x7f3abdad06c9 in grpc_call_start_batch /proc/self/cwd/src/core/lib/surface/call.cc:1912:1
    #5 0x7f3ac01fb649 in grpc::CoreCodegen::grpc_call_start_batch(grpc_call*, grpc_op const*, unsigned long, void*, void*) /proc/self/cwd/src/cpp/common/core_codegen.cc:109:10
    #6 0x7f3ac2ffeb2b in grpc::internal::CallOpSet<grpc::internal::CallOpRecvMessage<grpc::testing::SimpleRequest>, grpc::internal::CallNoOp<2>, grpc::internal::CallNoOp<3>, grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6> >::ContinueFillOpsAfterInterception() /proc/self/cwd/include/grpcpp/impl/codegen/call_op_set.h:866:5
    #7 0x7f3ac2ffdf5f in grpc::internal::CallOpSet<grpc::internal::CallOpRecvMessage<grpc::testing::SimpleRequest>, grpc::internal::CallNoOp<2>, grpc::internal::CallNoOp<3>, grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6> >::FillOps(grpc::internal::Call*) /proc/self/cwd/include/grpcpp/impl/codegen/call_op_set.h:799:7
    #8 0x7f3ac05d3710 in grpc::Server::PerformOpsOnCall(grpc::internal::CallOpSetInterface*, grpc::internal::Call*) /proc/self/cwd/src/cpp/server/server_cc.cc:957:8
    #9 0x7f3ac4833ff4 in grpc::internal::Call::PerformOps(grpc::internal::CallOpSetInterface*) /proc/self/cwd/include/grpcpp/impl/codegen/call.h:67:17
    #10 0x7f3ac342e1b3 in grpc::internal::ServerReaderWriterBody<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>::Read(grpc::testing::SimpleRequest*) /proc/self/cwd/include/grpcpp/impl/codegen/sync_stream.h:729:12
    #11 0x7f3ac342d91b in grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>::Read(grpc::testing::SimpleRequest*) /proc/self/cwd/include/grpcpp/impl/codegen/sync_stream.h:783:45
    #12 0x7f3ac34292bd in grpc::testing::BenchmarkServiceImpl::StreamingCall(grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*) /proc/self/cwd/test/cpp/qps/server_sync.cc:51:20
    #13 0x7f3ac2169ffd in __invoke<grpc::Status (grpc::testing::BenchmarkService::Service::*const &)(grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *), grpc::testing::BenchmarkService::Service *, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *, void> /usr/local/bin/../include/c++/v1/type_traits:4297:1
    #14 0x7f3ac2169ffd in operator()<grpc::testing::BenchmarkService::Service *, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *> /usr/local/bin/../include/c++/v1/functional:1274
    #15 0x7f3ac2169ffd in __invoke<std::__1::__mem_fn<grpc::Status (grpc::testing::BenchmarkService::Service::*)(grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *)> &, grpc::testing::BenchmarkService::Service *, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *> /usr/local/bin/../include/c++/v1/type_traits:4356
    #16 0x7f3ac2169ffd in grpc::Status std::__1::__invoke_void_return_wrapper<grpc::Status>::__call<std::__1::__mem_fn<grpc::Status (grpc::testing::BenchmarkService::Service::*)(grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>&, grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*>(std::__1::__mem_fn<grpc::Status (grpc::testing::BenchmarkService::Service::*)(grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>&, grpc::testing::BenchmarkService::Service*&&, grpc::ServerContext*&&, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*&&) /usr/local/bin/../include/c++/v1/__functional_base:318
    #17 0x7f3ac2167147 in std::__1::__function::__func<std::__1::__mem_fn<grpc::Status (grpc::testing::BenchmarkService::Service::*)(grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>, std::__1::allocator<std::__1::__mem_fn<grpc::Status (grpc::testing::BenchmarkService::Service::*)(grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)> >, grpc::Status (grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>::operator()(grpc::testing::BenchmarkService::Service*&&, grpc::ServerContext*&&, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*&&) /usr/local/bin/../include/c++/v1/functional:1563:12
    #18 0x7f3ac218c9e1 in std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>::operator()(grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*) const /usr/local/bin/../include/c++/v1/functional:1914:12
    #19 0x7f3ac218bfac in __invoke<std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service *, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *)> &, grpc::testing::BenchmarkService::Service *&, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *> /usr/local/bin/../include/c++/v1/type_traits:4356:1
    #20 0x7f3ac218bfac in __apply_functor<std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service *, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *)>, std::__1::tuple<grpc::testing::BenchmarkService::Service *, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2> >, 0, 1, 2, std::__1::tuple<grpc::ServerContext *&&, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *&&> > /usr/local/bin/../include/c++/v1/functional:2217
    #21 0x7f3ac218bfac in operator()<grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *> /usr/local/bin/../include/c++/v1/functional:2250
    #22 0x7f3ac218bfac in __invoke<std::__1::__bind<std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service *, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *)> &, grpc::testing::BenchmarkService::Service *&, const std::__1::placeholders::__ph<1> &, const std::__1::placeholders::__ph<2> &> &, grpc::ServerContext *, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest> *> /usr/local/bin/../include/c++/v1/type_traits:4356
    #23 0x7f3ac218bfac in grpc::Status std::__1::__invoke_void_return_wrapper<grpc::Status>::__call<std::__1::__bind<std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>&, grpc::testing::BenchmarkService::Service*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>&, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*>(std::__1::__bind<std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>&, grpc::testing::BenchmarkService::Service*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>&, grpc::ServerContext*&&, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*&&) /usr/local/bin/../include/c++/v1/__functional_base:318
    #24 0x7f3ac2185971 in std::__1::__function::__func<std::__1::__bind<std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>&, grpc::testing::BenchmarkService::Service*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, std::__1::allocator<std::__1::__bind<std::__1::function<grpc::Status (grpc::testing::BenchmarkService::Service*, grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>&, grpc::testing::BenchmarkService::Service*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&> >, grpc::Status (grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>::operator()(grpc::ServerContext*&&, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*&&) /usr/local/bin/../include/c++/v1/functional:1563:12
    #25 0x7f3ac219b59d in std::__1::function<grpc::Status (grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*)>::operator()(grpc::ServerContext*, grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>*) const /usr/local/bin/../include/c++/v1/functional:1914:12
    #26 0x7f3ac219ad40 in grpc::internal::TemplatedBidiStreamingHandler<grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>, false>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::'lambda'()::operator()() const /proc/self/cwd/external/com_github_grpc_grpc/include/grpcpp/impl/codegen/method_handler_impl.h:233:14
    #27 0x7f3ac218e352 in grpc::Status grpc::internal::CatchingFunctionHandler<grpc::internal::TemplatedBidiStreamingHandler<grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>, false>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::'lambda'()>(grpc::internal::TemplatedBidiStreamingHandler<grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>, false>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::'lambda'()&&) /proc/self/cwd/external/com_github_grpc_grpc/include/grpcpp/impl/codegen/method_handler_impl.h:42:12
    #28 0x7f3ac217464e in grpc::internal::TemplatedBidiStreamingHandler<grpc::ServerReaderWriter<grpc::testing::SimpleResponse, grpc::testing::SimpleRequest>, false>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&) /proc/self/cwd/external/com_github_grpc_grpc/include/grpcpp/impl/codegen/method_handler_impl.h:232:21
    #29 0x7f3ac0635cdd in grpc::Server::SyncRequest::CallData::ContinueRunAfterInterception() /proc/self/cwd/src/cpp/server/server_cc.cc:299:18
    #30 0x7f3ac0631768 in grpc::Server::SyncRequest::CallData::Run(std::__1::shared_ptr<grpc::Server::GlobalCallbacks> const&, bool) /proc/self/cwd/src/cpp/server/server_cc.cc:286:9
    #31 0x7f3ac0627c9a in grpc::Server::SyncRequestThreadManager::DoWork(void*, bool, bool) /proc/self/cwd/src/cpp/server/server_cc.cc:570:11
    #32 0x7f3ac072a8e1 in grpc::ThreadManager::MainWorkLoop() /proc/self/cwd/src/cpp/thread_manager/thread_manager.cc:200:9
    #33 0x7f3ac0728d11 in grpc::ThreadManager::WorkerThread::Run() /proc/self/cwd/src/cpp/thread_manager/thread_manager.cc:42:13
    #34 0x7f3ac07374fb in grpc::ThreadManager::WorkerThread::WorkerThread(grpc::ThreadManager*)::$_0::operator()(void*) const /proc/self/cwd/src/cpp/thread_manager/thread_manager.cc:36:69
    #35 0x7f3ac073730a in grpc::ThreadManager::WorkerThread::WorkerThread(grpc::ThreadManager*)::$_0::__invoke(void*) /proc/self/cwd/src/cpp/thread_manager/thread_manager.cc:36:7
    #36 0x7f3abd756ea9 in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*)::'lambda'(void*)::operator()(void*) const /proc/self/cwd/src/core/lib/gprpp/thd_posix.cc:100:27
    #37 0x7f3abd756499 in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*)::'lambda'(void*)::__invoke(void*) /proc/self/cwd/src/core/lib/gprpp/thd_posix.cc:74:25
    #38 0x7f3ab7c626b9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76b9)
    #39 0x7f3ab6a6741c in clone (/lib/x86_64-linux-gnu/libc.so.6+0x10741c)
  Uninitialized value was created by a heap deallocation
    #0 0x44cd39 in free /tmp/clang-build/src/compiler-rt/lib/msan/msan_interceptors.cc:221:3
    #1 0x7f3abd716ada in gpr_free /proc/self/cwd/src/core/lib/gpr/alloc.cc:77:3
    #2 0x7f3abd717a61 in gpr_free_aligned /proc/self/cwd/src/core/lib/gpr/alloc.cc:99:36
    #3 0x7f3abd718a1b in gpr_arena_destroy(gpr_arena*) /proc/self/cwd/src/core/lib/gpr/arena.cc:165:3
    #4 0x7f3abdadd7cd in release_call(void*, grpc_error*) /proc/self/cwd/src/core/lib/surface/call.cc:507:51
    #5 0x7f3abd953088 in exec_ctx_run(grpc_closure*, grpc_error*) /proc/self/cwd/src/core/lib/iomgr/exec_ctx.cc:40:3
    #6 0x7f3abd9524f0 in grpc_core::ExecCtx::Flush() /proc/self/cwd/src/core/lib/iomgr/exec_ctx.cc:134:9
    #7 0x7f3ac0176b0c in grpc_core::ExecCtx::~ExecCtx() /proc/self/cwd/./src/core/lib/iomgr/exec_ctx.h:108:5
    #8 0x7f3abdacccea in grpc_call_unref /proc/self/cwd/src/core/lib/surface/call.cc:595:1
    #9 0x7f3abffdfab8 in grpc::ClientContext::~ClientContext() /proc/self/cwd/src/cpp/client/client_context.cc:66:5
    #10 0x7f3ac2b22e01 in grpc::testing::SynchronousStreamingClient<grpc::ClientReaderWriter<grpc::testing::SimpleRequest, grpc::testing::SimpleResponse> >::FinishStream(grpc::testing::HistogramEntry*, unsigned long) /proc/self/cwd/test/cpp/qps/client_sync.cc:191:27
    #11 0x7f3ac2a10426 in grpc::testing::SynchronousStreamingPingPongClient::ThreadFuncImpl(grpc::testing::HistogramEntry*, unsigned long) /proc/self/cwd/test/cpp/qps/client_sync.cc:263:5
    #12 0x7f3ac29dc7d1 in grpc::testing::SynchronousClient::ThreadFunc(unsigned long, grpc::testing::Client::Thread*) /proc/self/cwd/test/cpp/qps/client_sync.cc:75:36
    #13 0x7f3ac2745097 in grpc::testing::Client::Thread::ThreadFunc() /proc/self/cwd/./test/cpp/qps/client.h:366:16
    #14 0x7f3ac27520dc in __invoke<void (grpc::testing::Client::Thread::*)(), grpc::testing::Client::Thread *, void> /usr/local/bin/../include/c++/v1/type_traits:4297:1
    #15 0x7f3ac27520dc in __thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (grpc::testing::Client::Thread::*)(), grpc::testing::Client::Thread *, 2> /usr/local/bin/../include/c++/v1/thread:342
    #16 0x7f3ac27520dc in void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (grpc::testing::Client::Thread::*)(), grpc::testing::Client::Thread*> >(void*) /usr/local/bin/../include/c++/v1/thread:352
    #17 0x7f3ab7c626b9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76b9)
SUMMARY: MemorySanitizer: use-of-uninitialized-value /proc/self/cwd/src/core/ext/transport/inproc/inproc_transport.cc:596:7 in (anonymous namespace)::op_state_machine(void*, grpc_error*)
Exiting

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions