Skip to content
  • Héctor Orón Martínez's avatar
    worker: override DefaultTasksMax · bf25285f
    Héctor Orón Martínez authored
    
    
    The following error
    ```
    [   67s] Unpacking gcc-7 (7.3.0-16ubuntu3) ...
    [   67s] dpkg-deb: unrecoverable fatal error, aborting:
    [   67s]  fork failed: Resource temporarily unavailable
    [   67s] dpkg: error processing archive /var/cache/apt/archives/gcc-7_7.3.0-16ubuntu3_i386.deb (--unpack):
    [   67s]  dpkg-deb --fsys-tarfile subprocess returned error exit status 2
    [   67s] dpkg: unrecoverable fatal error, aborting:
    [   67s]  fork failed: Resource temporarily unavailable
    [   67s] /usr/sbin/debootstrap: 996: /usr/sbin/debootstrap: Cannot fork
    [...]
    ```
    
    happens since all builds happen in the same cgroup which is limited to 4915,
    while builds have NPROC rlimits (just over 64000). If it reaches a total of
    4915 tasks (processes and threads) calls like `fork()`, `clone()`,
    `pthread_create()` will fail.
    
    This is a short term fix proposed by Simon McVittie, while the long term
    solution should place each `bs_worker` instance in its own systemd-managed
    cgroup. The default task limit of 4915 might then be adequated.
    
    Signed-off-by: default avatarHéctor Orón Martínez <hector.oron@collabora.com>
    bf25285f