From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#39727: statx error running 'guix gc' on CentOS 7 Date: Sat, 22 Feb 2020 00:59:13 +0100 Message-ID: <87sgj3ze3y.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:51886) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5IDD-0001LC-At for bug-guix@gnu.org; Fri, 21 Feb 2020 19:00:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5IDC-0002pO-BX for bug-guix@gnu.org; Fri, 21 Feb 2020 19:00:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42468) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j5IDC-0002nd-71 for bug-guix@gnu.org; Fri, 21 Feb 2020 19:00:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j5IDC-0001ZY-5h for bug-guix@gnu.org; Fri, 21 Feb 2020 19:00:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: (Paul Garlick's message of "Fri, 21 Feb 2020 22:49:15 +0000") 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-mx.org@gnu.org Sender: "bug-Guix" To: Paul Garlick Cc: 39727@debbugs.gnu.org Hi, Paul Garlick skribis: > After a 'guix pull' today to commit > 536cc4aae5b58b45b974530646a4916a29a8aa6c I noticed that 'guix gc' fails > with the message: > > guix gc: error: statting `/gnu/store/.links/0pck...': Invalid argument This was during the =E2=80=9Cremoving unused link=E2=80=9D phase, right? > The system is running CentOS 7: > > $ cat /etc/centos-release > CentOS Linux release 7.7.1908 (Core) What does =E2=80=9Cuname -r=E2=80=9D return? This is most likely an issue with the ancient kernel being used. It would be nice if you could try running a C program that does something like this: struct statx st; if (statx(AT_FDCWD, "/", AT_SYMLINK_NOFOLLOW | AT_STATX_DONT_SYNC, STATX_SIZE | STATX_NLINK, &st) =3D=3D -1) printf ("failed: %m\n"); It should fail similarly. Then you can try commenting out AT_STATX_DONT_SYNC and see whether it fails. Let me know how it goes! Thanks, Ludo=E2=80=99.