REditorSupport / languageserver

An implementation of the Language Server Protocol for R
Other
564 stars 91 forks source link

Hex code '\a0' crashes language server #661

Open ManuelHentschel opened 3 months ago

ManuelHentschel commented 3 months ago

Setup:

Workspace containing a single file named "test.R" with content:

'\xa0'

Error: Having this file open and reloading the vscode windows produces the following Error messages: "Connection to server got closed. Server will not be restarted." (Source: R) "Client R Language Server: connection to server is erroring. read ECONNRESET" (Source: R)

R Language Server output channel contains:

R Language Server (11948) started
R library paths: C:/Users/Manuel/AppData/Local/R/win-library/4.3
C:/Program Files/R/R-4.3.3/library

[2024-03-25 10:19:25.933] Error: file name conversion problem -- name too long?
Call: file.exists(str_texts)
Stack trace:
1: file.exists(str_texts)
2: with_wd(rootPath, file.exists(str_texts) & !dir.exists(str_texts))
3: document_link_reply(id, uri, self$workspace, document, rootPath)
4: handler(self, item$id, item$params)
5: parse_callback(self, uri, version, result)
6: private$callback(result)
7: task$check()
8: self$parse_task_manager$check_tasks()
9: self$process_events()

[2024-03-25 10:19:25.935] exiting

[Error - 10:19:25 AM] Client R Language Server: connection to server is erroring.
read ECONNRESET
[Error - 10:19:25 AM] Client R Language Server: connection to server is erroring.
read ECONNRESET
[Error - 10:19:25 AM] Connection to server got closed. Server will not be restarted.
R Language Server (11948) exited with exit code nul

Notes: I could not reproduce using wsl. The file name does not seem to be the issue, the error does not occur with different file contents. If I start with an empty file and add the text '\xa0', the languageserver usually does not crash and features like Go to Definition work on the following:

s <- '\xa0'

s