rust-lang / rust-lang/rust-analyzer

Hanging LSP requests on Corrosion (Eclipse)

Open
#14,146 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-third-party-client C-bug C-support S-unactionable
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

For me this isn't fixed in Eclipse with rust-analyzer 0.3.1394-standalone (0b32b65ca 2023-02-05) from https://github.com/rust-lang/rust-analyzer/releases/tag/2023-02-06 (downloaded rust-analyzer-x86_64-pc-windows-msvc.zip and extracted so that i have D:\Users\Hydra\.local\bin\rust-analyzer.exe and the IDE is configured to use that specific file. Old version /without/ the .exe extension that Eclipse downloads and extracts is deleted to be sure.

It's certainly better, but it still dies and in Eclipse 2/ Corrosion the end user experiance is that the IDE shows a 'Language Background Server Job' that never completes, task manager shows multiple instances of 'rust-analyzer.exe' and hover-over always fails with two errors in the IDE log:

image

image

image

Could not get hover region due to timeout after 500 miliseconds

java.util.concurrent.TimeoutException
	at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
	at org.eclipse.lsp4e.operations.hover.LSPTextHover.getHoverRegion(LSPTextHover.java:152)
...

and

Could not get hover information due to timeout after 500 miliseconds

java.util.concurrent.TimeoutException
	at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
	at org.eclipse.lsp4e.operations.hover.LSPTextHover.getHoverInfo(LSPTextHover.java:73)
...

Version details:

rust-analyzer 0.3.1394-standalone (0b32b65ca 2023-02-05)
Eclipse IDE for Embedded C/C++ Developers	4.26.0.20221201-1200	epp.package.embedcpp	Eclipse Packaging Project
Corrosion: Rust edition in Eclipse IDE	1.2.5.202209271915	org.eclipse.corrosion.feature.feature.group	Eclipse Corrosion

Originally posted by @hydra in https://github.com/rust-lang/rust-analyzer/issues/10910#issuecomment-1422332052

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the hanging language background server and hover timeouts with the reported rust-analyzer 0.3.1394-standalone, Eclipse 4.26, and Corrosion 1.2.5 versions. Inspect the Eclipse log entries and multiple rust-analyzer processes; done means identifying an actionable cause and verifying that LSP requests complete without the reported timeouts.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.