You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
getOutliningSpans hangs on large, json-like file #27960
Open this file javaScript file in VS Code: dict_en.txt
Notice that intellisense and other features do not work.
Bug
This is caused by the getOutliningSpans request never returning. We do try to cancel the request on the VS Code side when you switch away from that file but it seems the TS Server does not pick up the cancellation
So I think this is actually a dupe of #28540, because I'm tracking us as being stuck inside subtype reduction in the checker most of the time. If that's so, we have two candidate fixes up already, #28707 and #28727.
Activity
DanielRosenwasser commentedon Dec 1, 2018
We can possibly pick an aribtrary high count of nodes to traverse and check the cancellation token ever
nnodes traversed.weswigham commentedon Dec 1, 2018
The cancellation token disk access is already throttled. We don't need to meter when we check it, we just need to check it more.
sheetalkamat commentedon Dec 1, 2018
While at it I noticed that before carrying out operation we check for cancellation token and that is not throttled. (https://github.com/Microsoft/TypeScript/blob/master/src/server/session.ts#L556) we should use throttled cancellation token there as well.
weswigham commentedon Dec 1, 2018
So I think this is actually a dupe of #28540, because I'm tracking us as being stuck inside subtype reduction in the checker most of the time. If that's so, we have two candidate fixes up already, #28707 and #28727.
weswigham commentedon Dec 1, 2018
cc Anders Hejlsberg (@ahejlsberg) this case is a 6MB array literal.
juozhe commentedon Jul 5, 2019
The problem with original file (dict-en.txt, or .js) is fixed for me in VS Code 1.36. I reported the original bug microsoft/vscode#60677.
Thanks. If no other related problems are tracked under this ticket, it can be closed.