Skip to content

[nvim+arduino-language-server] Lsp doesn't work with recommended configuration. #185

@AJGamma

Description

@AJGamma

Describe the problem

I'm suffering from this weird problem that I can't find any relevant information on the internet.
It looks like the issue in #152, but the corresponding solution does not work.
When I open an Arduino project, I get this information: Client 5 quit with exit code 2 and signal 0
I don't know what exit code 2 means and I can't find any piece of information about exit code of lsp's.
The log is as below:


[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.308928 arduino-cli found at /usr/local/bin/arduino-cli\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.309102 clangd found at /Users/mac/.local/share/nvim/mason/bin/clangd\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.311195 \27[97mLS: : Initial board configuration: arduino:mbed_nano\27[0m\n19:35:02.311220 \27[97mLS: : arduino-language-server Version: 0.7.6 Commit: 9c2f44d Date: 2024-02-06T14:12:59Z\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.311245 \27[97mLS: : Language server temp directory: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server3690925152\27[0m\n19:35:02.311253 \27[97mLS: : Language server build path: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server3690925152/build\27[0m\n19:35:02.311265 \27[97mLS: : Language server build sketch root: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server3690925152/build/sketch\27[0m\n19:35:02.311269 \27[97mLS: : Language server FULL build path: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server3690925152/fullbuild\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.311546 IN Elapsed: 60.287µs\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.311907 \27[92mIDE --> LS REQU initialize 1\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.313254 \27[92m                initialize 1: \27[93mwrite-locked\27[0m\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.313541 \27[92m                initialize 1: \27[93mwrite-unlocked\27[0m\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.313777 \27[96mINIT --- : initializing workbench: file:///Users/mac/Code/Proj_Arduino/TestSketch\27[0m\n19:35:02.313805 \27[96mINIT --- : \27[93mread-locked\27[0m\27[0m\n19:35:02.313823 \27[96mINIT --- : \27[93mread-unlocked\27[0m\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.314299 \27[96mINIT --- : running: /usr/local/bin/arduino-cli --config-file /Users/mac/Library/Arduino15/arduino-cli.yaml compile --fqbn arduino:mbed_nano --only-compilation-database --source-override /var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/4011233441 --build-path /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server3690925152/fullbuild --format json /Users/mac/Code/Proj_Arduino/TestSketch\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.314532 \27[92m                initialize 1: initialization parameters: {\"capabilities\":{\"textDocumentSync\":{\"openClose\":true,\"change\":2,\"save\":{\"includeText\":true}},\"completionProvider\":{\"triggerCharacters\":[\".\",\"\\u003c\",\"\\u003e\",\":\",\"\\\"\",\"/\"],\"allCommitCharacters\":[\" \",\"\\t\",\"(\",\")\",\"[\",\"]\",\"{\",\"}\",\"\\u003c\",\"\\u003e\",\":\",\";\",\",\",\"+\",\"-\",\"/\",\"*\",\"%\",\"^\",\"\\u0026\",\"#\",\"?\",\".\",\"=\",\"\\\"\",\"'\",\"|\"],\"completionItem\":{}},\"hoverProvider\":{},\"signatureHelpProvider\":{\"triggerCharacters\":[\"(\",\",\"]},\"definitionProvider\":{},\"documentHighlightProvider\":{},\"documentSymbolProvider\":{},\"codeActionProvider\":{\"codeActionKinds\":[\"quickfix\",\"refactor\",\"info\"]},\"documentFormattingProvider\":{},\"documentRangeFormattingProvider\":{},\"documentOnTypeFormattingProvider\":{\"firstTriggerCharacter\":\"\\n\"},\"renameProvider\":{},\"executeCommandProvider\":{\"commands\":[\"clangd.applyFix\",\"clangd.applyTweak\"]},\"workspaceSymbolProvider\":{}},\"serverInfo\":{\"name\":\"arduino-language-server\",\"version\":\"0.7.6\"}}\27[0m\n19:35:02.314566 \27[32mIDE <-- LS RESP initialize 1\27[0m\n19:35:02.314679 OUT Elapsed: 10.579µs\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.315372 IN Elapsed: 650.82µs\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.315602 \27[92mIDE --> LS NOTIF initialized\27[0m\n19:35:02.315635 \27[92m                 initialized: Notification is not propagated to clangd\27[0m\n19:35:02.315660 IN Elapsed: 15.795µs\n19:35:02.315741 \27[92mIDE --> LS NOTIF textDocument/didOpen\27[0m\n"
[ERROR][2024-04-23 19:35:02] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:02.315830 \27[92m                 textDocument/didOpen: \27[93mwrite-locked\27[0m\27[0m\n19:35:02.315840 \27[92m                 textDocument/didOpen: (throttled: waiting for clangd)\27[0m\n19:35:02.315854 \27[92m                 textDocument/didOpen: \27[93munlocked (waiting clangd)\27[0m\27[0m\n"
[ERROR][2024-04-23 19:35:03] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:03.280467 \27[96mINIT --- : error starting clang: running /usr/local/bin/arduino-cli --config-file /Users/mac/Library/Arduino15/arduino-cli.yaml compile --fqbn arduino:mbed_nano --only-compilation-database --source-override /var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/4011233441 --build-path /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server3690925152/fullbuild --format json /Users/mac/Code/Proj_Arduino/TestSketch: exit status 1\27[0m\n"
[ERROR][2024-04-23 19:35:03] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:35:03.280518 \27[92m                 textDocument/didOpen: \27[93mlocked (waiting clangd)\27[0m\27[0m\n19:35:03.280527 \27[92m                 textDocument/didOpen: clangd startup failed: quitting Language server\27[0m\n"
[ERROR][2024-04-23 19:46:12] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:46:12.364086 \27[97mLS: : Initial board configuration: arduino:mbed_nano\27[0m\n19:46:12.364191 \27[97mLS: : arduino-language-server Version: 0.7.6 Commit: 9c2f44d Date: 2024-02-06T14:12:59Z\27[0m\n19:46:12.364215 \27[97mLS: : Language server temp directory: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server2513295749\27[0m\n19:46:12.364221 \27[97mLS: : Language server build path: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server2513295749/build\27[0m\n19:46:12.364225 \27[97mLS: : Language server build sketch root: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server2513295749/build/sketch\27[0m\n19:46:12.364229 \27[97mLS: : Language server FULL build path: /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server2513295749/fullbuild\27[0m\n19:46:12.364460 IN Elapsed: 52.923µs\n19:46:12.364697 \27[92mIDE --> LS REQU initialize 1\27[0m\n"
[ERROR][2024-04-23 19:46:12] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:46:12.365695 \27[92m                initialize 1: \27[93mwrite-locked\27[0m\27[0m\n19:46:12.365809 \27[92m                initialize 1: \27[93mwrite-unlocked\27[0m\27[0m\n19:46:12.366066 \27[96mINIT --- : initializing workbench: file:///Users/mac/Code/Proj_Arduino/TestSketch\27[0m\n19:46:12.366096 \27[96mINIT --- : \27[93mread-locked\27[0m\27[0m\n19:46:12.366113 \27[96mINIT --- : \27[93mread-unlocked\27[0m\27[0m\n19:46:12.366605 \27[96mINIT --- : running: /usr/local/bin/arduino-cli --config-file /Users/mac/Library/Arduino15/arduino-cli.yaml compile --fqbn arduino:mbed_nano --only-compilation-database --source-override /var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/1820680833 --build-path /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server2513295749/fullbuild --format json /Users/mac/Code/Proj_Arduino/TestSketch\27[0m\n19:46:12.366767 \27[92m                initialize 1: initialization parameters: {\"capabilities\":{\"textDocumentSync\":{\"openClose\":true,\"change\":2,\"save\":{\"includeText\":true}},\"completionProvider\":{\"triggerCharacters\":[\".\",\"\\u003c\",\"\\u003e\",\":\",\"\\\"\",\"/\"],\"allCommitCharacters\":[\" \",\"\\t\",\"(\",\")\",\"[\",\"]\",\"{\",\"}\",\"\\u003c\",\"\\u003e\",\":\",\";\",\",\",\"+\",\"-\",\"/\",\"*\",\"%\",\"^\",\"\\u0026\",\"#\",\"?\",\".\",\"=\",\"\\\"\",\"'\",\"|\"],\"completionItem\":{}},\"hoverProvider\":{},\"signatureHelpProvider\":{\"triggerCharacters\":[\"(\",\",\"]},\"definitionProvider\":{},\"documentHighlightProvider\":{},\"documentSymbolProvider\":{},\"codeActionProvider\":{\"codeActionKinds\":[\"quickfix\",\"refactor\",\"info\"]},\"documentFormattingProvider\":{},\"documentRangeFormattingProvider\":{},\"documentOnTypeFormattingProvider\":{\"firstTriggerCharacter\":\"\\n\"},\"renameProvider\":{},\"executeCommandProvider\":{\"commands\":[\"clangd.applyFix\",\"clangd.applyTweak\"]},\"workspaceSymbolProvider\":{}},\"serverInfo\":{\"name\":\"arduino-language-server\",\"version\":\"0.7.6\"}}\27[0m\n19:46:12.366796 \27[32mIDE <-- LS RESP initialize 1\27[0m\n19:46:12.366898 OUT Elapsed: 12.266µs\n"
[ERROR][2024-04-23 19:46:12] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:46:12.386399 IN Elapsed: 19.45502ms\n19:46:12.386734 \27[92mIDE --> LS NOTIF initialized\27[0m\n19:46:12.386805 \27[92m                 initialized: Notification is not propagated to clangd\27[0m\n19:46:12.386931 IN Elapsed: 103.042µs\n19:46:12.386990 \27[92mIDE --> LS NOTIF textDocument/didOpen\27[0m\n19:46:12.387077 \27[92m                 textDocument/didOpen: \27[93mwrite-locked\27[0m\27[0m\n19:46:12.387281 \27[92m                 textDocument/didOpen: (throttled: waiting for clangd)\27[0m\n19:46:12.387302 \27[92m                 textDocument/didOpen: \27[93munlocked (waiting clangd)\27[0m\27[0m\n"
[ERROR][2024-04-23 19:46:12] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:46:12.947036 \27[96mINIT --- : error starting clang: running /usr/local/bin/arduino-cli --config-file /Users/mac/Library/Arduino15/arduino-cli.yaml compile --fqbn arduino:mbed_nano --only-compilation-database --source-override /var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/1820680833 --build-path /private/var/folders/74/n7cv8hrx2_gbwbzqphkymnj80000gn/T/arduino-language-server2513295749/fullbuild --format json /Users/mac/Code/Proj_Arduino/TestSketch: exit status 1\27[0m\n"
[ERROR][2024-04-23 19:46:12] .../vim/lsp/rpc.lua:734	"rpc"	"/Users/mac/.local/share/nvim/mason/bin/arduino-language-server"	"stderr"	"19:46:12.947070 \27[92m                 textDocument/didOpen: \27[93mlocked (waiting clangd)\27[0m\27[0m\n19:46:12.947080 \27[92m                 textDocument/didOpen: clangd startup failed: quitting Language server\27[0m\n"

The project structure is as below:

└── TestSketch
    ├── .git
    ├── TestSketch.ino
    └── sketch.yaml

The .ino file has the same name as the root directory, and the lsp has no problem detecting the root directory.

My lsp config is as below:

local MY_FQBN = "arduino:mbed_nano"
local status_ok, lspconfig = pcall(require, "lspconfig")
if not status_ok then
	print("ERROR: Failed to load lspconfig")
	return
end
lspconfig.arduino_language_server.setup {
	cmd = {
		"arduino-language-server",
		"-cli", "/usr/local/bin/arduino-cli",
		"-cli-config", "/Users/mac/Library/Arduino15/arduino-cli.yaml",
		"-clangd", "/usr/bin/clangd",           -- I have also tried Mason's clangd, no use either.
		"-fqbn", MY_FQBN
	}
}

Version of arduino-cli:

$ arduino-cli version
arduino-cli  Version: 0.35.3 Commit: 95cfd654 Date: 2024-02-19T13:15:51Z

clangd version:

$ clangd --version
Apple clangd version 14.0.0 (clang-1400.0.29.202)
Features: mac+xpc
Platform: x86_64-apple-darwin22.6.0

clang version:

$ clang --version
Apple clang version 14.0.0 (clang-1400.0.29.202)
Target: x86_64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

arduino-language-server version: 0.7.6
OS version: macOS Ventura 13.6.6
Any clue on how and why this had happened will be highly appreciated.

To reproduce

Use the configuration above and open an Arduino project properly generated by the arduino-cli.

Expected behavior

Client 5 quit with exit code 2 and signal 0

Arduino Language Server version

0.7.6

Arduino CLI version

0.35.3

Operating system

macOS

Operating system version

13.6.6

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest version
  • My report contains all necessary details

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: imperfectionPerceived defect in any part of project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions