Handle JsonRpcService startup failure #27075
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
In
JsonRpcService::new
ifstart_http
failsclose_handle_sender
will be dropped without sending a value to the channel. Subsequentclose_handle_receiver.recv().unwrap()
will fail on the closed channel.Summary of Changes
Send error value over the channel to gracefully handle the failure. Handle errors gracefully in
Validator::new
rather than usingvalidator::abort()
.See #25400 for original change which was reverted by #26130 due to #25941.
Description of issue with original change from #25941:
Fixes #