It was caused by a forever blocking call to RMIConnector.close() for a tunnelled JMX connection to a remote app that is no longer there (stopped).
headless services
The main parts of the tooling for Spring Boot apps are implemented as headless services, running in separate processes. Those services can be consumed in existing IDEs by using the Language Server Protocol from Visual Studio Code.