Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

connector-local: fix crash in local service registration when client detaches #2282

Merged
merged 2 commits into from Aug 1, 2019

Conversation

@grondo
Copy link
Contributor

commented Aug 1, 2019

Straightforward fix and test for #2281.

Problem: if a client registers a local service and detaches or
dies before the service.add response from the broker is recieved
by the connector-local module, then the local service object has
been destroyed by the time the service.add continuation is run,
resulting in an assertion failure in flux_msg_handler_start().

Track enough local service object state in connector-local to
prevent destruction of services that aren't yet active during
client disconnect, delaying deregistration and destruction until
the service.add response is recieved.

Fixes #2281
@grondo grondo force-pushed the grondo:issue#2281 branch from 103d882 to 40fe042 Aug 1, 2019
Add a test to ensure clients that exit before service.add response
do not cause a crash in the connector-local module.
@grondo grondo force-pushed the grondo:issue#2281 branch from 40fe042 to e5bd052 Aug 1, 2019
@garlick

This comment has been minimized.

Copy link
Member

commented Aug 1, 2019

Nice fix. Thanks!

@garlick garlick merged commit 4502f5d into flux-framework:master Aug 1, 2019
2 checks passed
2 checks passed
Summary 1 potential rule
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@grondo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 1, 2019

Thanks!

@grondo grondo deleted the grondo:issue#2281 branch Aug 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.