github / github/copilot-cli

LSP server initialization failure reported as timeout

未关闭
#3,413 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area:tools
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### Describe the bug

In some cases, when an LSP server fails to initialize, the logs report the error as a timeout, instead of the real process launch failure. For example this session failed to launch the server due to a configuration error, but is reported as the following:
```
2026-04-22T20:45:35.358Z [ERROR] LSP csharp server for /testbed: failed to start, cleaning up: Error: LSP csharp server for /testbed:: Server initialize timed out after 60000ms. The language server may need more time for initial project analysis. Server exited with code 1.
```

This leads a copilot to believe the server timed out, and missed the real process initialization failure:
Image

The debug logs do capture the actual error, but that is not surfaced.
```
2026-04-22T20:44:35.521Z [DEBUG] LSP csharp server for /testbed: [stderr] Could not execute because the specified command or file was not found.
```

Additionally, the `lsp test ` command doesn't seem to really test the server - it seems to report success if the process can launch (for example run using a trampoline like dnx), even if it fails seconds later due to an error. Ideally the /lsp test would actually verify that the `initialize` / `initialized` request / responses are successful.

### Affected version

v1.0.51-1

### Steps to reproduce the behavior

Create an LSP server that fails seconds after launching the process.

### Expected behavior

Copilot receives the actual server launch error, not a timeout unless the server actually times out.

`lsp test ` actually attempts verifies an LSP server can be initialized.

### Additional context

_No response_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。