LSP hangs when requested workspace symbols in a workspace with a large number of files

Open
#799 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
typescript

Research direction

Start by reproducing the workspace-symbol request in a workspace with roughly 360,719 files, using the latest Quarto extension and version 1.116.0 for comparison. Trace the LSP process during the request and use the reported CPU saturation and symbol-dialog hang as the completion criteria.

Written by the indexing model from the issue text.

Description

bug LSP

Initially reported in https://github.com/posit-dev/positron/issues/9024 by @rmflight.

When a workspace contains a very large amount of files (I tested with a project that has 360719 files), triggering workspace symbols causes the LSP process to consume 100% CPU for a long while. The symbol dialog hangs during that time.

I've reproduced this with the latest version of the quarto extension and an old one 1.116.0.

https://github.com/user-attachments/assets/0d7621a5-86c2-4df5-9402-653a5a4b96e9

Dominant language
TypeScript
Stars
645
Forks
62
Avg merge
17h 42m
Merged PRs (30d)
13

Contributor guide

No contributing guide indexed for this repository

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.

More from quarto-dev/quarto

All issues in quarto-dev/quarto

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.