-
Notifications
You must be signed in to change notification settings - Fork 93
Inifinite recursion in logger #447
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
Comments
The problems are:
I think my best idea is to specifically filter out the |
2.2.0.0 * Many changes relating to client configuration - lsp now sends workspace/configuration requests in response to intialized and workspace/didChangeConfiguration requests. It still attempts to parse configuration from intializationOptions and workspace/didChangeConfiguration as a fallback. - Servers must provide a configuration section for use in workspace/configuration. - parseConfig will now be called on the object corresponding to the configuration section, not the whole object. - New callback for when configuration changes, to allow servers to react. * The logging of messages sent by the protocol has been disabled, as this can prove troublesome for servers that log these to the client: haskell/lsp#447 2.1.0.0 * Fix handling of optional methods. * staticHandlers now takes the client capabilities as an argument. These are static across the lifecycle of the server, so this allows a server to decide at construction e.g. whether to provide handlers for resolve methods depending on whether the client supports it. 2.0.0.0 * Support lsp-types-2.0.0.0.
What is the state of it. 🤔 |
No, I never really figured out a good solution to this. We need to do one of two things to break the recursion:
|
I think I'm leaning towards the latter now, since that means that that |
does it mean we need to do it in hls? |
We also export a client logger from |
This was originally found in haskell/haskell-language-server#3072
In
lsp
, there is a debug log, printing response body:lsp/lsp/src/Language/LSP/Server/Control.hs
Lines 224 to 234 in 8b63438
And in HLS, our logger sends a copy of log to LSP client:
https://github.com/haskell/haskell-language-server/blob/347a7187f20242540926b9927c59a45b18798c67/exe/Main.hs#L72-L82
Then it goes into infinite recursion. A lot of logs like below are produced, and finally OOM on a machine with 64GB RAM.
The text was updated successfully, but these errors were encountered: