Hello Adar Dembo,
I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/2833
to review the following change.
Change subject: Fix use-after free in accessing InboundCall's MethodInfo
......................................................................
Fix use-after free in accessing InboundCall's MethodInfo
This fixes a regression from 38e16b71b881ad1f276da918cae8977a383906a5 in which
a call is being responded to after the underlying service has shut down. In
this case, the call was holding on to a raw pointer to the RpcMethodInfo
object, and that object was being destroyed when the service stopped.
The fix here is to make it reference-counted. This has a slight penalty of some
extra atomic refcount operations, but any other fix would likely be much more
complex.
No new test since client-test was already failing nearly 50% in ASAN/TSAN
builds.
Change-Id: I30304fe6bd2074578e5cfc09ee18ef616d43e687
---
M src/kudu/rpc/inbound_call.h
M src/kudu/rpc/protoc-gen-krpc.cc
M src/kudu/rpc/service_if.h
3 files changed, 8 insertions(+), 7 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/33/2833/1
--
To view, visit http://gerrit.cloudera.org:8080/2833
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I30304fe6bd2074578e5cfc09ee18ef616d43e687
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>