GNU bug report logs - #54831
guix home reconfigure fails with “rmdir: No such file or directory”

Previous Next

Package: guix;

Reported by: Brian Cully <bjc <at> spork.org>

Date: Sun, 10 Apr 2022 01:21:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 54831 in the body.
You can then email your comments to 54831 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#54831; Package guix. (Sun, 10 Apr 2022 01:21:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Brian Cully <bjc <at> spork.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 10 Apr 2022 01:21:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Brian Cully <bjc <at> spork.org>
To: bug-guix <at> gnu.org
Subject: guix home reconfigure fails with “rmdir: No
 such file or directory”
Date: Sat, 09 Apr 2022 19:53:36 -0400
For the last few days, attempting to issue a home reconfigure fails:

---[snip]---
$ guix home reconfigure ./guix-home/config-new.scm
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
The following derivations will be built:
  /gnu/store/rbnri9gpvh98qagyk7ws4y5xdvz4skg7-home.drv
  /gnu/store/hg5whdfsq2ldibfsikhbwppr9pms5vc8-provenance.drv
  /gnu/store/rsil5s5fs14y2jvysbiv7vi2f0i3gnw2-activate.drv
  /gnu/store/j85krrfbnc7x6s5wdn0wnp8ikah9gl46-update-symlinks.drv

building /gnu/store/hg5whdfsq2ldibfsikhbwppr9pms5vc8-provenance.drv...
building /gnu/store/j85krrfbnc7x6s5wdn0wnp8ikah9gl46-update-symlinks.drv...
building /gnu/store/rsil5s5fs14y2jvysbiv7vi2f0i3gnw2-activate.drv...
building /gnu/store/rbnri9gpvh98qagyk7ws4y5xdvz4skg7-home.drv...
Cleaning up symlinks from previous home at /gnu/store/zmp2brsdr0nvrhpbk4kqqc6y8jx90kb1-home.

guix home: error: rmdir: No such file or directory
---[snip]---

This fails in the same way even when using a previously working
configuration:

---[snip]---
$ guix home list-generations
	⋮
Generation 27	Apr 05 2022 19:44:03	(current)
  file name: /var/guix/profiles/per-user/bjc/guix-home-27-link
  canonical file name: /gnu/store/zmp2brsdr0nvrhpbk4kqqc6y8jx90kb1-home
  channels:
    guix:
      repository URL: https://git.savannah.gnu.org/git/guix.git
      branch: master
      commit: 3b3cc9dfed30afec70a6feaced3710bf79f8b2bc
  configuration file: /gnu/store/k90xv2x75nfc1wyxbw4171m6wxykqck6-configuration.scm

$ guix home reconfigure /gnu/store/k90xv2x75nfc1wyxbw4171m6wxykqck6-configuration.scm
Cleaning up symlinks from previous home at /gnu/store/zmp2brsdr0nvrhpbk4kqqc6y8jx90kb1-home.

guix home: error: rmdir: No such file or directory
---[snip]---

-bjc




Information forwarded to bug-guix <at> gnu.org:
bug#54831; Package guix. (Sun, 10 Apr 2022 12:24:02 GMT) Full text and rfc822 format available.

Message #8 received at 54831 <at> debbugs.gnu.org (full text, mbox):

From: Madhavan Krishnan <madhavan.make <at> gmail.com>
To: 54831 <at> debbugs.gnu.org
Subject: guix home: error: rmdir: No such file or directory
Date: Sun, 10 Apr 2022 13:12:04 +0100
[Message part 1 (text/plain, inline)]
I am facing the same issue on ec6a585ee2fd91c857276479411eedd0756e0093; and
would like to add to this

The *build* command for the said config works ie)
guix home build config.scm

Whereas the reconfigure fails with
guix home: error: rmdir: No such file or directory

--Madhavan
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#54831; Package guix. (Sun, 10 Apr 2022 16:01:02 GMT) Full text and rfc822 format available.

Message #11 received at 54831 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Rodriguez <yewscion <at> gmail.com>
To: 54831 <at> debbugs.gnu.org
Subject: Unhandled ENOENT exception
Date: Sun, 10 Apr 2022 11:47:54 -0400
[Message part 1 (text/plain, inline)]
Christopher Rodriguez


Table of Contents
─────────────────




I'd like to add my $0.02 as well.

Seems like the issue is during the deployment, as Madhavan
said. Specifically, the error message in that form only appears in
`gnu/home/services/symlink-manager.scm', in the function
`cleanup-symlinks'.

It seems that, right now, the issue is that `ENOTEMPTY' and `ENOTDIR'
are tested for and handled, but `ENOENT' is not. Ideally, this should be
handled and tell the user /which/ file or directory is missing, not halt
the entire process. And, since we are testing for a missing file (and
thus have no chance of overwriting a user's data), it would probably
make the most sense to just create the file that is missing in the next
step, without stopping at all.

I'll throw together a patch real quick to test with. I could be very off
base, but I think this should fix this issue.
[Message part 2 (text/html, inline)]
[Message part 3 (text/plain, inline)]
--

Christopher Rodriguez
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#54831; Package guix. (Sun, 10 Apr 2022 16:02:01 GMT) Full text and rfc822 format available.

Message #14 received at 54831 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Rodriguez <yewscion <at> gmail.com>
To: 54831 <at> debbugs.gnu.org
Subject: Unhandled ENOENT exception
Date: Sun, 10 Apr 2022 11:47:54 -0400
[Message part 1 (text/plain, inline)]
Christopher Rodriguez


Table of Contents
─────────────────




I'd like to add my $0.02 as well.

Seems like the issue is during the deployment, as Madhavan
said. Specifically, the error message in that form only appears in
`gnu/home/services/symlink-manager.scm', in the function
`cleanup-symlinks'.

It seems that, right now, the issue is that `ENOTEMPTY' and `ENOTDIR'
are tested for and handled, but `ENOENT' is not. Ideally, this should be
handled and tell the user /which/ file or directory is missing, not halt
the entire process. And, since we are testing for a missing file (and
thus have no chance of overwriting a user's data), it would probably
make the most sense to just create the file that is missing in the next
step, without stopping at all.

I'll throw together a patch real quick to test with. I could be very off
base, but I think this should fix this issue.
[Message part 2 (text/html, inline)]
[Message part 3 (text/plain, inline)]
--

Christopher Rodriguez
[signature.asc (application/pgp-signature, inline)]

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 11 Apr 2022 20:48:01 GMT) Full text and rfc822 format available.

Notification sent to Brian Cully <bjc <at> spork.org>:
bug acknowledged by developer. (Mon, 11 Apr 2022 20:48:02 GMT) Full text and rfc822 format available.

Message #19 received at 54831-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Brian Cully <bjc <at> spork.org>, Madhavan Krishnan
 <madhavan.make <at> gmail.com>, Christopher Rodriguez <yewscion <at> gmail.com>
Cc: 54831-done <at> debbugs.gnu.org
Subject: Re: bug#54831: guix home reconfigure fails with
 “rmdir: No such
 file or directory”
Date: Mon, 11 Apr 2022 22:46:56 +0200
Hi all,

Brian Cully <bjc <at> spork.org> skribis:

> For the last few days, attempting to issue a home reconfigure fails:
>
> ---[snip]---
> $ guix home reconfigure ./guix-home/config-new.scm
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
> The following derivations will be built:
>   /gnu/store/rbnri9gpvh98qagyk7ws4y5xdvz4skg7-home.drv
>   /gnu/store/hg5whdfsq2ldibfsikhbwppr9pms5vc8-provenance.drv
>   /gnu/store/rsil5s5fs14y2jvysbiv7vi2f0i3gnw2-activate.drv
>   /gnu/store/j85krrfbnc7x6s5wdn0wnp8ikah9gl46-update-symlinks.drv
>
> building /gnu/store/hg5whdfsq2ldibfsikhbwppr9pms5vc8-provenance.drv...
> building /gnu/store/j85krrfbnc7x6s5wdn0wnp8ikah9gl46-update-symlinks.drv...
> building /gnu/store/rsil5s5fs14y2jvysbiv7vi2f0i3gnw2-activate.drv...
> building /gnu/store/rbnri9gpvh98qagyk7ws4y5xdvz4skg7-home.drv...
> Cleaning up symlinks from previous home at /gnu/store/zmp2brsdr0nvrhpbk4kqqc6y8jx90kb1-home.
>
> guix home: error: rmdir: No such file or directory
> ---[snip]---

Christopher Rodriguez <yewscion <at> gmail.com> skribis:

> Seems like the issue is during the deployment, as Madhavan
> said. Specifically, the error message in that form only appears in
> `gnu/home/services/symlink-manager.scm', in the function
> `cleanup-symlinks'.
>
> It seems that, right now, the issue is that `ENOTEMPTY' and `ENOTDIR'
> are tested for and handled, but `ENOENT' is not. Ideally, this should be
> handled and tell the user /which/ file or directory is missing, not halt
> the entire process. And, since we are testing for a missing file (and
> thus have no chance of overwriting a user's data), it would probably
> make the most sense to just create the file that is missing in the next
> step, without stopping at all.
>
> I'll throw together a patch real quick to test with. I could be very off
> base, but I think this should fix this issue.

You were right.

This is fixed by commit 435e1cef0025fbe6cbb71b472218e8d132d1681c, pushed
yesterday.  The patch had been submitted as part of
<https://issues.guix.gnu.org/52808> but had not been applied.  Apologies
for the breakage.

Thanks,
Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 10 May 2022 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 43 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.