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
Using Yarn 3.3.1 (pnp), TypeScript 4.9.4, and VSCode 1.74.2 (Universal), the TSServer will occasionally crash with "Libzip Error: Can't open file: No file descriptors available".
Can't open file: No file descriptors available
Libzip Error: Can't open file: No file descriptors available
at ZipFS.makeLibzipError (/Users/noah/dev/project/.pnp.cjs:39578:25)
at new ZipFS (/Users/noah/dev/project/.pnp.cjs:39553:20)
at ZipOpenFS.getZipSync (/Users/noah/dev/project/.pnp.cjs:41739:18)
at ZipOpenFS.makeCallSync (/Users/noah/dev/project/.pnp.cjs:41619:17)
at ZipOpenFS.watchFile (/Users/noah/dev/project/.pnp.cjs:41582:17)
at VirtualFS.watchFile (/Users/noah/dev/project/.pnp.cjs:40788:24)
at PosixFS.watchFile (/Users/noah/dev/project/.pnp.cjs:40788:24)
at NodePathFS.watchFile (/Users/noah/dev/project/.pnp.cjs:40788:24)
at fsWatchFileWorker (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:7326:21)
at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6897:133
at createSingleWatcherPerName (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6447:26)
at pollingWatchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6897:20)
at watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6778:28)
at watchMissingFileSystemEntry (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:7006:24)
at fsWatchHandlingExistenceOnHost (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6911:17)
at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6900:168
at createSingleWatcherPerName (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6447:26)
at fsWatch (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6900:20)
at Object.watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6784:28)
at watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118449:90)
at Object.watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118519:115)
at createFileWatcherWithLogging (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118492:50)
at Object.watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118475:34)
at Project.watchAffectingFileLocation (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:173896:57)
at createFileWatcherOfAffectingLocation (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124669:32)
at watchAffectingLocationsOfResolution (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124638:17)
at watchFailedLookupLocationOfResolution (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124626:13)
at Array.forEach (<anonymous>)
at watchFailedLookupLocationOfNonRelativeModuleResolutions (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124702:29)
at Map.forEach (<anonymous>)
at Object.finishCachingPerDirectoryResolution (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124285:50)
at Project.updateGraphWorker (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:174443:38)
at Project.updateGraph (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:174368:42)
at ConfiguredProject.updateGraph (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:175534:63)
at ProjectService.createLoadAndUpdateConfiguredProject (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:177302:25)
at ProjectService.assignProjectToOpenedScriptInfo (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:178389:44)
at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:178729:97
at Object.flatMap (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:524:25)
at ProjectService.applyChangesInOpenFiles (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:178729:41)
at Session.handlers.ts.Map.ts.getEntries._a.<computed> (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:180122:46)
at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182315:96
at Session.executeWithRequestId (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182306:28)
at Session.executeCommand (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182315:41)
at Session.onMessage (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182343:35)
at IpcIOSession.onMessage (/Users/noah/dev/project/.yarn/sdks/typescript/lib/tsserver.js:199:32)
at process.<anonymous> (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:186509:31)
at process.emit (node:events:526:28)
at process.emit (/Users/noah/dev/project/.pnp.cjs:46881:25)
at emit (node:internal/child_process:938:14)
at process.processTicksAndRejections (node:internal/process/task_queues:84:21)
Info 4870 [16:38:55.845] response:
{"seq":0,"type":"response","command":"updateOpen","request_seq":2,"success":false,"message":"Error processing request. Can't open file: No file descriptors available\nLibzip Error: Can't open file: No file descriptors available\n at ZipFS.makeLibzipError (/Users/noah/dev/project/.pnp.cjs:39578:25)\n at new ZipFS (/Users/noah/dev/project/.pnp.cjs:39553:20)\n at ZipOpenFS.getZipSync (/Users/noah/dev/project/.pnp.cjs:41739:18)\n at ZipOpenFS.makeCallSync (/Users/noah/dev/project/.pnp.cjs:41619:17)\n at ZipOpenFS.watchFile (/Users/noah/dev/project/.pnp.cjs:41582:17)\n at VirtualFS.watchFile (/Users/noah/dev/project/.pnp.cjs:40788:24)\n at PosixFS.watchFile (/Users/noah/dev/project/.pnp.cjs:40788:24)\n at NodePathFS.watchFile (/Users/noah/dev/project/.pnp.cjs:40788:24)\n at fsWatchFileWorker (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:7326:21)\n at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6897:133\n at createSingleWatcherPerName (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6447:26)\n at pollingWatchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6897:20)\n at watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6778:28)\n at watchMissingFileSystemEntry (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:7006:24)\n at fsWatchHandlingExistenceOnHost (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6911:17)\n at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6900:168\n at createSingleWatcherPerName (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6447:26)\n at fsWatch (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6900:20)\n at Object.watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:6784:28)\n at watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118449:90)\n at Object.watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118519:115)\n at createFileWatcherWithLogging (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118492:50)\n at Object.watchFile (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:118475:34)\n at Project.watchAffectingFileLocation (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:173896:57)\n at createFileWatcherOfAffectingLocation (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124669:32)\n at watchAffectingLocationsOfResolution (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124638:17)\n at watchFailedLookupLocationOfResolution (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124626:13)\n at Array.forEach (<anonymous>)\n at watchFailedLookupLocationOfNonRelativeModuleResolutions (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124702:29)\n at Map.forEach (<anonymous>)\n at Object.finishCachingPerDirectoryResolution (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:124285:50)\n at Project.updateGraphWorker (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:174443:38)\n at Project.updateGraph (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:174368:42)\n at ConfiguredProject.updateGraph (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:175534:63)\n at ProjectService.createLoadAndUpdateConfiguredProject (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:177302:25)\n at ProjectService.assignProjectToOpenedScriptInfo (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:178389:44)\n at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:178729:97\n at Object.flatMap (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:524:25)\n at ProjectService.applyChangesInOpenFiles (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:178729:41)\n at Session.handlers.ts.Map.ts.getEntries._a.<computed> (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:180122:46)\n at /Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182315:96\n at Session.executeWithRequestId (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182306:28)\n at Session.executeCommand (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182315:41)\n at Session.onMessage (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:182343:35)\n at IpcIOSession.onMessage (/Users/noah/dev/project/.yarn/sdks/typescript/lib/tsserver.js:199:32)\n at process.<anonymous> (/Users/noah/.yarn/berry/cache/typescript-patch-7bc527fc0a-8.zip/node_modules/typescript/lib/tsserver.js:186509:31)\n at process.emit (node:events:526:28)\n at process.emit (/Users/noah/dev/project/.pnp.cjs:46881:25)\n at emit (node:internal/child_process:938:14)\n at process.processTicksAndRejections (node:internal/process/task_queues:84:21)"}
From playing around in my private project, it seems to be related to the number of files? Deleting a number of files (doesn't matter which ones) seems to ensure the TSServer starts up successfully. When I add back the files and reload VSCode, the TSServer gets stuck in a restart loop and gives up after 5 attempts.
I'm only experiencing this issue with TS 4.9.3 and 4.9.4. Downgrading to 4.8.4 works.
When I don't delete any files, I actually get "Cannot find module" for all npm modules, though the server doesn't appear to have failed. Looking at the logs, I see:
Info 4700 [16:52:04.779] DirectoryWatcher:: Added:: WatchInfo: /Users/noah/.yarn/berry/cache/gsap-npm-3.10.4-f56e6163df-8.zip/node_modules 1 undefined Project: /Users/noah/dev/project/tsconfig.json WatchType: Failed Lookup Locations
Info 4701 [16:52:04.779] Exception when creating directory watcher: Can't open file: No file descriptors available
which seems related to the above error.
As a workaround, using the old polling mechanism in vscode seems to work:
Self-service
Describe the bug
Using Yarn 3.3.1 (pnp), TypeScript 4.9.4, and VSCode 1.74.2 (Universal), the TSServer will occasionally crash with "Libzip Error: Can't open file: No file descriptors available".
From playing around in my private project, it seems to be related to the number of files? Deleting a number of files (doesn't matter which ones) seems to ensure the TSServer starts up successfully. When I add back the files and reload VSCode, the TSServer gets stuck in a restart loop and gives up after 5 attempts.
I'm only experiencing this issue with TS 4.9.3 and 4.9.4. Downgrading to 4.8.4 works.
When I don't delete any files, I actually get "Cannot find module" for all npm modules, though the server doesn't appear to have failed. Looking at the logs, I see:
which seems related to the above error.
As a workaround, using the old polling mechanism in vscode seems to work:
(the default watcher changed in 4.9: microsoft/TypeScript@10a7b4e)
To reproduce
Happens on a large project. Haven't been able to reproduce in a dedicated repo yet.
Environment
System: OS: macOS 12.6.2 CPU: (8) arm64 Apple M1 Pro Binaries: Node: 16.18.1 - /private/var/folders/5m/4x2x5y6x5x5ck7rnpzq23dlc0000gn/T/xfs-111d8dba/node Yarn: 3.3.1 - /private/var/folders/5m/4x2x5y6x5x5ck7rnpzq23dlc0000gn/T/xfs-111d8dba/yarn npm: 8.19.2 - ~/.nvm/versions/node/v16.18.1/bin/npm VSCode: Version: 1.74.2 (Universal) Commit: e8a3071ea4344d9d48ef8a4df2c097372b0c5161 Date: 2022-12-20T10:26:09.430Z Electron: 19.1.8 Chromium: 102.0.5005.167 Node.js: 16.14.2 V8: 10.2.154.15-electron.0 OS: Darwin arm64 21.6.0 Sandboxed: No
My tsconfig.json:
Additional context
Possibly related: #4488
The text was updated successfully, but these errors were encountered: