So while pid1 survives the EMFILES, udevd does not. Working container:
1058 writev(2, [{"rules contain 49152 bytes tokens (4096 * 12 bytes), 13886
bytes strings", 71}, {"\n", 1}], 2) = 72
[...]
1058 inotify_init1(O_CLOEXEC) = 8
Failing container:
writev(2, [{"rules contain 49152 bytes tokens (4096 * 12 bytes), 13886 bytes
strings", 71}, {"\n", 1}], 2rules contain 49152 bytes tokens (4096 * 12 bytes),
13886 bytes strings
) = 72
[...]
inotify_init1(O_CLOEXEC) = -1 EMFILE (Too many open files)
writev(2, [{"inotify_init failed: Too many open files", 40}, {"\n", 1}],
2inotify_init failed: Too many open files
) = 41
writev(2, [{"error initializing inotify", 26}, {"\n", 1}], 2error initializing
inotify
) = 27
[...]
writev(2, [{"failed to allocate manager object: Cannot allocate memory", 57},
{"\n", 1}],
src/udev/udevd.c, manager_new():
manager->fd_inotify = udev_watch_init(manager->udev);
if (manager->fd_inotify < 0)
return log_error_errno(ENOMEM, "error initializing inotify");
So the "cannot allocate memory" is the wrong error code, but it does
fail because of running out of file descriptors.
** Summary changed:
- deploy 30 nodes on lxd, machines never leave pending
+ when starting many LXD containers, they start failing to boot with "Too many
open files"
** Changed in: lxd (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1602192
Title:
when starting many LXD containers, they start failing to boot with
"Too many open files"
To manage notifications about this bug go to:
https://bugs.launchpad.net/juju-core/+bug/1602192/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs