Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

Error: too many open files in system #178

Closed
wayou opened this issue Aug 19, 2018 · 2 comments
Closed

Error: too many open files in system #178

wayou opened this issue Aug 19, 2018 · 2 comments

Comments

@wayou
Copy link

wayou commented Aug 19, 2018

Fail to run the example on macOS Mojave 10.14 Beta (18A347e) with the following output:

$ ibazel run src:devserver
Error getting Bazel info Bazel info returned a non key-value pair
Querying for files to watch...
Error watching file /Users/wayou/Documents/dev/github/angular-bazel-example/node_modules/core-js/modules/es7.symbol.async-iterator.js
Error: too many open files in system
Error watching file /Users/wayou/Documents/dev/github/angular-bazel-example/node_modules/@angular/core/esm2015/src/view/errors.js
Error: too many open files in system
Error watching file /Users/wayou/Documents/dev/github/angular-bazel-example/node_modules/resolve/test/subdirs.js
Error: too many open files in system
Error watching file /Users/wayou/Documents/dev/github/angular-bazel-example/node_modules/rxjs/_esm2015/internal/operators/bufferTime.js
Error: too many open files in system
Error watching file /Users/wayou/Documents/dev/github/angular-bazel-example/node_modules/@angular/core/src/error_handler.d.ts
...

Changing the kernal.macfiles helps but I wonder if that's the correct approach, or there's any other workarounds?

$ sudo sysctl -w kern.maxfiles=20480
kern.maxfiles: 12288 -> 20480
@alexeagle
Copy link
Contributor

This should be fixed by the fine-grained npm dependencies:
https://github.com/bazelbuild/rules_nodejs#fine-grained-npm-package-dependencies

Another option under mac is to turn off the sandboxing
--genrule_strategy=standalone

(The root cause is that for each process Bazel starts, it makes an OS level sandbox where the inputs are linked, and that consumes filehandles. You either need fewer files as inputs, or disable the sandboxing feature, though the latter can mask hermeticity bugs.)

@gregmagolan
Copy link
Contributor

Npm fine grained deps is merged into angular-bazel-example so the number of files that need to be watched by iBazel is now much less. Only npm packages that are needed are now included as action inputs instead of all packages under node_modules.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants