From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#34016: Git checkouts managed by (guix git) grow indefinitely? Date: Tue, 08 Jan 2019 17:56:55 +0100 Message-ID: <87h8ejw0iw.fsf@inria.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:32857) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gguhY-0001Wb-FA for bug-guix@gnu.org; Tue, 08 Jan 2019 11:58:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gguhX-0000RI-7a for bug-guix@gnu.org; Tue, 08 Jan 2019 11:58:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:50883) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gguhW-0000NU-7a for bug-guix@gnu.org; Tue, 08 Jan 2019 11:58:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gguhV-00073u-Lt for bug-guix@gnu.org; Tue, 08 Jan 2019 11:58:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:60788) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggugk-00011r-4Y for bug-guix@gnu.org; Tue, 08 Jan 2019 11:57:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ggugg-0006xb-0K for bug-guix@gnu.org; Tue, 08 Jan 2019 11:57:14 -0500 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:8251) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ggugf-0006pc-LP for bug-guix@gnu.org; Tue, 08 Jan 2019 11:57:09 -0500 List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 34016@debbugs.gnu.org Cc: Erik Edrosa Hello, On berlin I noticed that Cuirass would run out of file descriptors almost immediately once started. I managed to get the list of open files: --8<---------------cut here---------------start------------->8--- ludo@berlin ~$ sudo ls -l /proc/$(sudo herd status cuirass|grep value|sed -= es'/^.* \([0-9]\+\)\.$/\1/g')/fd [=E2=80=A6] alwq/.git/objects/pack/pack-dde01a576697a783fd12eb73228921153ba18b4b.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 978 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-d65= f5c22414e4864a00ec7bee4cff5ff0b4a2c31.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 979 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-d78= f9f47a68d4254a81d57d6183fe9c9be41752d.pack l-wx------ 1 cuirass cuirass 64 Jan 8 17:46 98 -> 'pipe:[70917334]' lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 980 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-58f= 83b77dbe392bba277f10a1bdd7ed469946feb.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 981 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-d28= d075e1dd259683747b5723a232fa4d60cd1a9.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 982 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-cff= bdad6def559b60bd928173916f3edbb1a4a8f.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 983 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-ac4= 2d4dd95b02bb54d03687c984c67bacf0e1feb.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 984 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-e5e= 26a7aeb5a33889f6ac8cff8bef182b5b8a0b2.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 985 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-ac6= 6439d6b07a0e4cf2e4ccef3be21e8a1c96d55.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 986 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-f73= b60b056634b58f44fb65f20416e22a6c936e8.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 987 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-f8f= 3313f5ec872e43cb1e12a8b6509e7f0a13512.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 988 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-55e= 720e2a4ec09cc996599c5089be871eba8f829.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 989 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-d24= 41e647df889422906a30d06d6d195e522cbd1.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 99 -> 'pipe:[70908233]' lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 990 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-61f= ed4082491ff66716c92fe49fe499cd6a5fa78.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 991 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-0bc= efb4f7953471a0bc944f0f0c3bbe9143df22b.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 992 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-6a5= fbea2046bdc8c94926e9d3d516e1b5351b645.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 993 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-add= 66d8bdd96e4cc67e78a23c428f7b4e46974df.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 994 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-740= 728c75faa0e9179ad977d4e4b2eb6bfa51345.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 995 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-c78= 417a98abdc6a7396fb3f6e4d5633de20c819c.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 996 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-df4= cae77b58d600538f2dc51b7b31b61a92cab23.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 997 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-835= 59c192d41400596d42587bb50d409c121969d.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 998 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-1f4= 6268a2ba6bd3b97d9d7cea4e18233212cc75e.pack lr-x------ 1 cuirass cuirass 64 Jan 8 17:46 999 -> /var/cache/cuirass/pjmk= glp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/objects/pack/pack-55a= 94a468fa892b0128656fc5aa953c667161fcd.pack --8<---------------cut here---------------end--------------->8--- So it=E2=80=99s Guile-Git, called from =E2=80=98update-cached-checkout=E2= =80=99=C2=B9, that would open all these pack files, quickly running out of file descriptors. I wonder if we=E2=80=99re doing something wrong here or if we hit a limitation of libgit2. Ideas? In the meantime, the obvious workaround was to =E2=80=9Crm -rf /var/cache/cuirass/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq=E2= =80=9D. Thanks, Ludo=E2=80=99. =C2=B9 https://git.savannah.gnu.org/cgit/guix.git/tree/guix/git.scm#n122