Skip to content

Project root computation fails for modules in std:// #968

@toinehartman

Description

@toinehartman

Describe the bug

Sometimes, the path config is computed with a files (instead of folder) as the project root. That leads to bogus configs and subsequent failures in computations that use the configs. Example:

2026-02-10 13:48:07.358 [debug] [rascal-lsp-1] org.rascalmpl.vscode.lsp.rascal.model.PathConfigs Building pcfg from: |std:///IO.rsc| (@1770731287350 ms)
2026-02-10 13:48:07.358 [debug] [rascal-lsp-1] org.rascalmpl.vscode.lsp.rascal.model.PathConfigs New path config: Path configuration items:
projectRoot:|jar+file:///C:/Users/runneradmin/.vscode/extensions/usethesource.rascalmpl-0.13.1-head/assets/jars/rascal.jar!/org/rascalmpl/library/IO.rsc|
srcs:       [|jar+file:///C:/Users/runneradmin/.vscode/extensions/usethesource.rascalmpl-0.13.1-head/assets/jars/rascal.jar!/org/rascalmpl/library/IO.rsc/src|]
ignores:    []
libs:       [|jar+file:///C:/Users/runneradmin/.vscode/extensions/usethesource.rascalmpl-0.13.1-head/assets/jars/rascal.jar!/|,|file:///C:/Users/runneradmin/.vscode/extensions/usethesource.rascalmpl-0.13.1-head/assets/jars/rascal-lsp.jar|,|jar+file:///C:/Users/runneradmin/.vscode/
extensions/usethesource.rascalmpl-0.13.1-head/assets/jars/rascal-lsp.jar!/|]
bin:        |jar+file:///C:/Users/runneradmin/.vscode/extensions/usethesource.rascalmpl-0.13.1-head/assets/jars/rascal.jar!/org/rascalmpl/library/IO.rsc/target/classes|
resources:  []
messages:   [error("Source folder |jar+file:///C:/Users/runneradmin/.vscode/extensions/usethesource.rascalmpl-0.13.1-head/assets/jars/rascal.jar!/org/rascalmpl/library/IO.rsc/src| does not exist.",|jar+file:///C:/Users/runneradmin/.vscode/extensions/usethesource.rascalmpl-0.13.1-head/
assets/jars/rascal.jar!/org/rascalmpl/library/IO.rsc/META-INF/RASCAL.MF|)]
 (@1770731287356 ms)

To Reproduce

https://github.com/usethesource/rascal-language-servers/actions/runs/21866959185/job/63110699388#step:9:200

Expected behavior
Correct computation of the project root.

Desktop (please complete the following information):

  • Context: VS Code extension
  • Rascal Version: rascal-vscode 0.13.1-SNAPSHOT

Additional context
Occurs sometimes, but hard to reproduce. Might be caused be the fact that there are two different code paths to project root/path config computation which can be triggered in parallel, where only one is faulty.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions