GNU bug report logs - #61212
guix substitute: EEXISTS

Previous Next

Package: guix;

Reported by: Maxime Devos <maximedevos <at> telenet.be>

Date: Wed, 1 Feb 2023 14:14:02 UTC

Severity: normal

To reply to this bug, email your comments to 61212 AT debbugs.gnu.org.

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#61212; Package guix. (Wed, 01 Feb 2023 14:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxime Devos <maximedevos <at> telenet.be>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 01 Feb 2023 14:14:02 GMT) Full text and rfc822 format available.

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

From: Maxime Devos <maximedevos <at> telenet.be>
To: bug-guix <at> gnu.org
Subject: guix substitute: EEXISTS
Date: Wed, 1 Feb 2023 15:13:11 +0100
[Message part 1 (text/plain, inline)]
I'm getting the following error message when doing "guix home reconfigure":

retrying download of 
'/gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3' with other 
substitute URLs...
guix substitute: fout: mkdir: Bestand bestaat al
vervanging van /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3 
mislukt

I.e.:
  guix substitute: error: mkdir: File already exists.
  substitution of [...] failed.

This "mkdir" error looks like a bug somewhere.
Note that I've configured the daemon with:

          (build-accounts 40)
          (extra-options '("--gc-keep-derivations" "--gc-keep-outputs" 
"--max-jobs=14"))

so maybe this is a concurrency bug in the subsitution code of Guix.

Interestingly, /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3 
does indeed exist:

  stat /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3/
  Bestand: /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3/
  Grootte: 32           Blokken: 0            IO-blok: 4096   map
  Apparaat: 17h/23d   Inode: 48606737     Koppelingen: 1
  Toegang: (0755/drwxr-xr-x)   UID: (    0/    root)   GID: (    0/ 
root)
  Toegang:   2023-02-01 14:25:04.314541307 +0100
  Gewijzigd: 2023-02-01 14:25:12.290587598 +0100
  Veranderd: 2023-02-01 14:25:12.290587598 +0100
  Ontstaan:  2023-02-01 14:25:04.314541307 +0100

(Looking at the clock, this directory _appears_ to be made after the 
first run of "guix home reconfigure" and before the second run, but I 
didn't look at the clock when doing the first run, so don't take my word 
for it.)

Some untested hypotheses:

  * The substitution code first tried to download from substitute server
    A.  It seemed to work for a while, so a bunch of files were being
    written to /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3.
    However, substitution server A bailed out for whatever reason, so
    the substitution code stopped downloading and started with
    downloading from server.  While reasonable on its own, the
    substitution code forgot that there still were some remains
    from the previous attempt by server A and forgot to delete them
    before unpacking the nar from server B.

  * For some reason, the substitution of efl is done twice, each time in
    a different max jobs (I'm running with --max-jobs=14, which I
    _think_ enables concurrency by default instead of only setting a
    maximum).  Hence the two jobs step on each other toes.

  * Maybe a previous build or substitution of efl was interrupted
    or failed, but for whatever reason Guix didn't clean up afterwards,
    and now during the substitution of efl, the substitution code
    neglected to clean up the remains.

(I consider the first the most likely, given the "retrying download ... 
with other substitute URLs" line.)

I've added the full output of "guix home reconfigure" below. As I did 
"guix home reconfigure" twice in a row because the first one failed, 
I've also included the output of the first command in case it's somehow 
relevant.

(Also, lots of missing newlines in 'substitute: updating list of 
substitutes ...')

> antipode <at> antipode ~$ guix home reconfigure ~/source-code/guix-configuration/home-configuration.scm
> substitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerken... 100.0%
> substitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bijwerken... 100.0%
> substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het bijwerken... 100.0%
> The following derivations will be built:
>   /gnu/store/vxp570dv8h5mswhrhxwkikv4m48844ib-icedove-102.7.0.drv
>   /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv
>   /gnu/store/0ps6aaj6ylgq5ljcafzplbdna2xf4lk5-libpng-1.6.39-apng.patch.gz.drv
>   /gnu/store/kw34n5qiqk1y4nr6rjz07l9gdvhrf3v3-libpng-1.6.39.tar.xz.drv
>   /gnu/store/wy59zlpj9qz5bbcr41893v6wsc3vbj96-icecat-102.7.0-guix0-preview1.drv
> 
> 1.150,5 MB zal binnengehaald worden
>  emacs-compat-29.1.3.1  78KiB         1.4MiB/s 00:00 [##################] 100.0%
> /gnu/store/0ps6aaj6ylgq5ljcafzplbdna2xf4lk5-libpng-1.6.39-apng.patch.gz.drv bouwen...
> /
> substitutie van /gnu/store/bblks4c4i69jcpwarfbqzp724k0cgh84-xdg-utils-1.1.3 is klaar
> /gnu/store/kw34n5qiqk1y4nr6rjz07l9gdvhrf3v3-libpng-1.6.39.tar.xz.drv bouwen...
> /
> substitutie van /gnu/store/316vagyi04jy2mxy4d2r2wdc6r8r15gr-emacs-magit-3.3.0-2.c883fab is klaar
> -
> substitutie van /gnu/store/idzvf47w9x3wk6ycyc9n453cqp8y6pcg-libgnome-2.32.1 is klaar
> |
> substitutie van /gnu/store/yl8lc7skdha6fgv5snw1glc7hn72a2ga-rust-cbindgen-0.23.0 is klaar
> 
> substitutie van /gnu/store/3vyv00nfafqm2ngqj83jap50xkf4dnib-ffmpeg-5.1.2 is klaar
> /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv bouwen...
> - 'build' fase
> substitutie van /gnu/store/i80akl23paxs4mqz70lmfaiknl94s31b-ffmpeg-jami-5.0.1 is klaar
> \ 'build' faseguix substitute: waarschuwing: tijdens het binnenhalen van https://substitutes.nonguix.org/nar/zstd/rk9njj43f1bllm2knsakq8iamnhrr688-firefox-109.0: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> guix substitute: fout: connect*: Verbinding is verlopen
> vervanging van /gnu/store/rk9njj43f1bllm2knsakq8iamnhrr688-firefox-109.0 mislukt
> guix home: fout: some substitutes for the outputs of derivation `/gnu/store/ffgjc355r1warf1h1kqxhkk7laxy8kf9-firefox-109.0.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source 
> antipode <at> antipode ~$ guix home reconfigure ~/source-code/guix-configuration/home-configuration.scm
> The following derivations will be built:
>   /gnu/store/vxp570dv8h5mswhrhxwkikv4m48844ib-icedove-102.7.0.drv
>   /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv
>   /gnu/store/wy59zlpj9qz5bbcr41893v6wsc3vbj96-icecat-102.7.0-guix0-preview1.drv
> 
> 1.128,2 MB zal binnengehaald worden
> /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv bouwen...
> - 'check' fase
> substitutie van /gnu/store/8qv0ih19dgv5v4svbvgygzd187fvq3d7-evolution-3.46.0 is klaar
> 
> substitutie van /gnu/store/znm70qmra0xjgrn8qd02k7p070cj6aiw-qtbase-6.3.1 is klaar
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/xdd3wqszjpqdz42vxkjs62r9vn0a80db-qtpositioning-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/88c7xwkk191b4rmhzhq2a2n4gca0psil-qtsvg-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/pcvlf9irb3jrjvf1zl5434cijiqcvdd7-qtdeclarative-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> 
> substitutie van /gnu/store/88c7xwkk191b4rmhzhq2a2n4gca0psil-qtsvg-6.3.1 is klaar
> 
> substitutie van /gnu/store/xdd3wqszjpqdz42vxkjs62r9vn0a80db-qtpositioning-6.3.1 is klaar
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/08r8kp99wr7ckg12ns28ir89hm0ppr9d-qtnetworkauth-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> 
> substitutie van /gnu/store/08r8kp99wr7ckg12ns28ir89hm0ppr9d-qtnetworkauth-6.3.1 is klaar
> 
> substitutie van /gnu/store/pcvlf9irb3jrjvf1zl5434cijiqcvdd7-qtdeclarative-6.3.1 is klaar
> 
> substitutie van /gnu/store/r4siy9s1vbzj0386mibdrkm3h8n836lm-qt5compat-6.3.1 is klaar
> 
> substitutie van /gnu/store/qylfyv55y8iahq7r5vqascmsqq6269sf-qtmultimedia-6.3.1 is klaar
> 
> substitutie van /gnu/store/akf2xghb77nj2iva7gbbb7yvqf1kqqag-libreoffice-7.4.3.2 is klaar
> 
> substitutie van /gnu/store/y194ch6dkn971xph16gyg6p0j48z6ql4-endless-sky-0.9.16.1 is klaar
> 
> substitutie van /gnu/store/zi56fka0w6s7ymm626kjfzz28bgkbapr-rust-1.60.0 is klaar
> 
> substitutie van /gnu/store/1l25vd3l6mz6wbj6y5smik15l2hqmisv-thunderbird-102.7.0-checkout is klaar
> retrying download of '/gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3' with other substitute URLs...
> guix substitute: fout: mkdir: Bestand bestaat al
> vervanging van /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3 mislukt
> guix home: fout: some substitutes for the outputs of derivation `/gnu/store/hi1mnvra4ww1p03ljs02fj8jpij2v2yc-jami-20221220.0956.79e1207.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from 

[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

This bug report was last modified 1 year and 84 days ago.

Previous Next


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