Throw more informative exception if tools service process exits before a connection is established. #2648
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.
When StreamJsonRpc throws a ConnectionLostException, it isn't immediately obvious what the underlying issue is. This change adds an extra wrapping exception if the process exited abruptly before a connection was established, since in that case we probably won't be able to get any logs from the tools service exiting so close to startup. I tried to grab the standard output the tools service produces in that scenario, but it looks like it already gets pulled off the stream as part of the RPC client reading off incoming messages. Enabling tracing for the RPC client also didn't reveal what that incoming message was, so this is the best I can do without getting into some weird middleman stream to capture incoming messages from the tools service.