watchpack: [Yarn2/PnP] Recompilation fails: "Error: Can't open file: No file descriptors available"
I’m trying to migrate our project to Yarn2 using its new PnP resolution mechanism. In watch mode, using webpack-dev-server, whenever I change a file, something screws up. The initial compilation works fine.
/Users/nkalinov/dev/simonapp/.pnp.js:39844
throw firstError;
^
Error: Can't open file: No file descriptors available
Require stack:
- /Users/nkalinov/dev/simonapp/.yarn/cache/watchpack-npm-1.6.0-2e77885616-1.zip/node_modules/watchpack/lib/watcherManager.js
- /Users/nkalinov/dev/simonapp/.yarn/cache/watchpack-npm-1.6.0-2e77885616-1.zip/node_modules/watchpack/lib/watchpack.js
- /Users/nkalinov/dev/simonapp/.yarn/cache/webpack-npm-4.41.5-ec6f53e9d3-1.zip/node_modules/webpack/lib/node/NodeWatchFileSystem.js
- /Users/nkalinov/dev/simonapp/.yarn/cache/webpack-npm-4.41.5-ec6f53e9d3-1.zip/node_modules/webpack/lib/node/NodeEnvironmentPlugin.js
- /Users/nkalinov/dev/simonapp/.yarn/cache/webpack-npm-4.41.5-ec6f53e9d3-1.zip/node_modules/webpack/lib/webpack.js
- /Users/nkalinov/dev/simonapp/.yarn/$$virtual/webpack-dev-server-virtual-d46dc61805/0/cache/webpack-dev-server-npm-3.10.1-34b49b6a2b-1.zip/node_modules/webpack-dev-server/bin/webpack-dev-server.js
at new ZipFS (/Users/nkalinov/dev/simonapp/.pnp.js:28860:15)
at ZipOpenFS.getZipSync (/Users/nkalinov/dev/simonapp/.pnp.js:33358:52)
at ZipOpenFS.makeCallSync (/Users/nkalinov/dev/simonapp/.pnp.js:33257:17)
at ZipOpenFS.existsSync (/Users/nkalinov/dev/simonapp/.pnp.js:32755:17)
at VirtualFS.existsSync (/Users/nkalinov/dev/simonapp/.pnp.js:27279:24)
at /Users/nkalinov/dev/simonapp/.pnp.js:40152:28
at Array.find (<anonymous>)
at applyNodeExtensionResolution (/Users/nkalinov/dev/simonapp/.pnp.js:40150:10)
at resolveUnqualified (/Users/nkalinov/dev/simonapp/.pnp.js:40504:27)
at resolveRequest (/Users/nkalinov/dev/simonapp/.pnp.js:40536:14)
at Object.resolveRequest (/Users/nkalinov/dev/simonapp/.pnp.js:40598:26)
at Function.module_1.Module._resolveFilename (/Users/nkalinov/dev/simonapp/.pnp.js:39827:34)
at Function.module_1.Module._load (/Users/nkalinov/dev/simonapp/.pnp.js:39712:40)
at Module.require (internal/modules/cjs/loader.js:848:19)
at require (internal/modules/cjs/helpers.js:74:18)
at WatcherManager.getDirectoryWatcher (/Users/nkalinov/dev/simonapp/.yarn/cache/watchpack-npm-1.6.0-2e77885616-1.zip/node_modules/watchpack/lib/watcherManager.js:14:25) {
requireStack: [
'/Users/nkalinov/dev/simonapp/.yarn/cache/watchpack-npm-1.6.0-2e77885616-1.zip/node_modules/watchpack/lib/watcherManager.js',
'/Users/nkalinov/dev/simonapp/.yarn/cache/watchpack-npm-1.6.0-2e77885616-1.zip/node_modules/watchpack/lib/watchpack.js',
'/Users/nkalinov/dev/simonapp/.yarn/cache/webpack-npm-4.41.5-ec6f53e9d3-1.zip/node_modules/webpack/lib/node/NodeWatchFileSystem.js',
'/Users/nkalinov/dev/simonapp/.yarn/cache/webpack-npm-4.41.5-ec6f53e9d3-1.zip/node_modules/webpack/lib/node/NodeEnvironmentPlugin.js',
'/Users/nkalinov/dev/simonapp/.yarn/cache/webpack-npm-4.41.5-ec6f53e9d3-1.zip/node_modules/webpack/lib/webpack.js',
'/Users/nkalinov/dev/simonapp/.yarn/$$virtual/webpack-dev-server-virtual-d46dc61805/0/cache/webpack-dev-server-npm-3.10.1-34b49b6a2b-1.zip/node_modules/webpack-dev-server/bin/webpack-dev-server.js'
]
}
OS: OSX Node version: tried both v12.14.1 and latest v10 Yarn version: 2.0.0-rc.28 Related Yarn issue: https://github.com/yarnpkg/berry/issues/849
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 2
- Comments: 39 (14 by maintainers)
I’m able to reproduce https://github.com/webpack/watchpack/issues/142#issuecomment-675307821, i’ll make a fix to Yarn and let you know
We’re looking into that (although I’m not sure how to repro as our own app is fine 🤔)
@evilebottnawi I’ll try later, but not sure if it will be succeeded
I think I’ve identified a possible workaround: https://github.com/yarnpkg/berry/issues/849#issuecomment-641550874
/cc @arcanis