I'm running up against an issue where the shutdownAndExit method is called on a server instance, but seems to wait forever after sending the .shutdown request.
After doing some digging, I think it might have to do with the language server sending null data in response to the shutdown message which doesn't trigger a data response in the JSONRPCServerConnection. I've come up with a minimal reproducing example using the sourcekit-lsp language server and attached it here. It's just a little swift executable that starts and then shuts down the server. When run, it starts and initializes the server but waits forever on the shutdownAndExit call.
I've also confirmed that both the initialize and shutdown messages are being successfully sent and encoded using some breakpoints. See attached screenshot.
Sent message contents

Any help is appreciated!
LanguageClientShutdown.zip
I'm running up against an issue where the
shutdownAndExitmethod is called on a server instance, but seems to wait forever after sending the.shutdownrequest.After doing some digging, I think it might have to do with the language server sending null data in response to the shutdown message which doesn't trigger a data response in the
JSONRPCServerConnection. I've come up with a minimal reproducing example using the sourcekit-lsp language server and attached it here. It's just a little swift executable that starts and then shuts down the server. When run, it starts and initializes the server but waits forever on theshutdownAndExitcall.I've also confirmed that both the initialize and shutdown messages are being successfully sent and encoded using some breakpoints. See attached screenshot.
Sent message contents
Any help is appreciated!
LanguageClientShutdown.zip