🔎 Search Terms
infinite loop, circular, infinite loop, getExportInfos, invalid array length
🕗 Version & Regression Information
⏯ Playground Link
Does not reproduce on playground
💻 Code
In an empty folder, place this code in types.d.ts
declare module "mymod"{importmymodfrom"mymod";exportdefaultmymod;}In another file index.ts, trigger an autocomplete or getCodeFixes. Typing two characters into an empty file will usually work. It will hang.
🙁 Actual behavior
The LSP server go into an infinite loop and hangs. After about 20 seconds it'll throw because an array gets too big.
The server log contains:
RangeError: Invalid array length
at Array.push (<anonymous>)
at append (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:2822:6)
at forEachNameOfDefaultExport (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:138888:13)
at /Users/myusername/mweb/node_modules/typescript/lib/typescript.js:155493:115
at /Users/myusername/mweb/node_modules/typescript/lib/typescript.js:138720:119
at forEachExternalModule (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:138763:7)
at forEachExternalModuleToImportFrom (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:138720:3)
at getExportInfos (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:155488:3)
at /Users/myusername/mweb/node_modules/typescript/lib/typescript.js:155424:24
at flatMap (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:2502:17)
at getFixesInfoForNonUMDImport (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:155418:10)
at getFixInfos (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:155254:12)
at Object.getCodeActions (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:154389:18)
at /Users/myusername/mweb/node_modules/typescript/lib/typescript.js:151448:46
at flatMap (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:2502:17)
at Object.getFixes (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:151448:10)
at /Users/myusername/mweb/node_modules/typescript/lib/typescript.js:149730:33
at flatMap (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:2502:17)
at Object.getCodeFixesAtPosition (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:149728:12)
at IpcIOSession.getCodeFixes (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:191339:50)
at getCodeFixes (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:189374:43)
at /Users/myusername/mweb/node_modules/typescript/lib/typescript.js:191661:15
at IpcIOSession.executeWithRequestId (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:191650:14)
at IpcIOSession.executeCommand (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:191659:29)
at IpcIOSession.onMessage (/Users/myusername/mweb/node_modules/typescript/lib/typescript.js:191707:68)
at process.<anonymous> (/Users/myusername/mweb/node_modules/typescript/lib/tsserver.js:525:14)
at process.emit (node:events:514:28)
at emit (node:internal/child_process:951:14)
at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

🙂 Expected behavior
Nothing should happen.
Additional information about the issue
No response
🔎 Search Terms
infinite loop, circular, infinite loop, getExportInfos, invalid array length
🕗 Version & Regression Information
⏯ Playground Link
Does not reproduce on playground
💻 Code
In an empty folder, place this code in
types.d.tsIn another file
index.ts, trigger an autocomplete or getCodeFixes. Typing two characters into an empty file will usually work. It will hang.🙁 Actual behavior
The LSP server go into an infinite loop and hangs. After about 20 seconds it'll throw because an array gets too big.
The server log contains:
🙂 Expected behavior
Nothing should happen.
Additional information about the issue
No response