microsoft / microsoft/vscode-json-languageservice

JSON Schema validation fails silently on very large files

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

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
326
Forks
145
Avg merge
22h 10m
Merged PRs (30d)
9

Description

Hello,

The company I work for has an extremely large schema of about ~23k lines which is used in a few different spots. Up until yesterday VS Code/json-language-service chugged along happily providing auto-complete, linting etc but it has since died. I am almost certain that it's related to this schema as other files with much smaller schemas work just fine until a file referencing the large schema is opened.

I have tried removing vsc & it's cache, using a portable version of vsc, disabling & enabling related plugins, adding windows-defender exceptions.

I have also validated that the schema is valid using https://jsonlint.com/

When loading a file with the related schema this is the only output I get from JSON Language Server:

2025-07-04 09:47:42.058 [info] cancelled

I can't seem to consistently replicate it but I also get this error in the extension host output:

2025-07-04 09:09:52.399 [error] Error: Channel has been closed at n (file:///c:/Users/xxxx/Downloads/VSCode-win32-x64-1.101.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:127:2816) at Object.error (file:///c:/Users/xxxx/Downloads/VSCode-win32-x64-1.101.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:127:3250) at T.error (c:\Users\xxxx\Downloads\VSCode-win32-x64-1.101.2\resources\app\extensions\json-language-features\client\dist\node\jsonClientMain.js:2:290769) at c:\Users\xxxx\Downloads\VSCode-win32-x64-1.101.2\resources\app\extensions\json-language-features\client\dist\node\jsonClientMain.js:2:299271 at Object.dispose (c:\Users\xxxx\Downloads\VSCode-win32-x64-1.101.2\resources\app\extensions\json-language-features\client\dist\node\jsonClientMain.js:2:578199) at Object.dispose (c:\Users\xxxx\Downloads\VSCode-win32-x64-1.101.2\resources\app\extensions\json-language-features\client\dist\node\jsonClientMain.js:2:569266) at Object.t.deactivate (c:\Users\xxxx\Downloads\VSCode-win32-x64-1.101.2\resources\app\extensions\json-language-features\client\dist\node\jsonClientMain.js:2:590833) at async Promise.all (index 8) at yY.$ (file:///c:/Users/xxxx/Downloads/VSCode-win32-x64-1.101.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:124:9888)

I get the feeling that due to the size there is no fixing this issue, but maybe the plugin should fail a little more 'loudly'?

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

Reproduce with the referenced ~23k-line schema in VS Code 1.101.2, first checking the JSON Language Server output and extension-host stack trace for the cancellation and closed channel. No repository source file or test is named; done should mean the large-schema failure is diagnosed with an actionable diagnostic or handled with an explicit user-visible failure, with a regression check for the reported scenario.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.