Subject: bug#78919: ^C'ed --keep-failed build leaves directory owned by root

From: Ludovic Courtès <[email-masked]>
Date: Tue, 08 Jul 2025 10:00:43 +0200

Hi Janneke,

Janneke Nieuwenhuizen <[email-masked]> writes:

> When running something like
>
> guix build hello --with-configure-flag=hello=foo=bar --keep-failed
>
>
> and hitting ^C during the `build' phase, the guix-daemon leaves
>
> $ sudo ls -ld /tmp/guix-build-hello-2.12.2.drv-0 /tmp/guix-build-hello-2.12.2.drv-0/top
> drwx------ 3 root          root      4096 Jun 28 10:04 /tmp/guix-build-hello-2.12.2.drv-0
> drwxr-xr-x 3 guixbuilder01 guixbuild 4096 Jun 28 10:04 /tmp/guix-build-hello-2.12.2.drv-0/top
>
>
> This is after updating my system yesterday to guix-1.4.0-39.  The
> guix-daemon is running as root, so without using (privileged? #f).

I cannot reproduce it:

--8<---------------cut here---------------start------------->8---
$ timeout -s INT 2s guix build hello --no-grafts --check -K -v1
The following derivation will be built:
  /gnu/store/f0sgfzr1za0mnnm6bk9qiqkyapdby7bv-hello-2.12.2.drv

building /gnu/store/f0sgfzr1za0mnnm6bk9qiqkyapdby7bv-hello-2.12.2.drv...
\ 'configure' phase
$ ls -ld /tmp/guix-build-hello-2.12.2.drv-0/
drwxr-xr-x 3 ludo users 100  8 juil. 09:58 /tmp/guix-build-hello-2.12.2.drv-0/
$ sudo herd status guix-daemon |grep Command
  Command: /gnu/store/l7dp21l1p6hal8hiky44csll9vd9f1j5-guix-1.4.0-39.95d8845/bin/guix-daemon --build-users-group guixbuild --max-silent-time 3600 --timeout 86400 --log-compression gzip --discover=yes --substitute-urls "https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://guix.bordeaux.inria.fr" --cache-failures
--8<---------------cut here---------------end--------------->8---

Is there something else at play?

Thanks,
Ludo’.