Nimblesite / Nimblesite/SharpLsp

workspace symbols: collect_source_files follows directory junctions with no cycle detection or depth cap

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

Nobody has claimed this yet.

bug cluster:workspace-symbols critical
Dominant language
TypeScript
Stars
132
Forks
5
Avg merge
6h 24m
Merged PRs (30d)
27

Description

From the multi-agent audit (src/workspace_symbols.rs ~499): the recursive scan follows directory junctions/symlinks with no visited-set or depth cap. A junction loop inside a workspace (not exotic on Windows — e.g. node_modules mirrors, OneDrive shims) recurses until stack overflow, killing the host. Add a visited set (dev/inode or canonical path) and a sane depth cap.

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.

Research direction

Start by reading collect_source_files around src/workspace_symbols.rs:499 and tracing its recursive calls. Add cycle prevention and a depth limit, then verify that a junction loop cannot recurse indefinitely while normal workspace symbol collection still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.