guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Local caching behavior affected by network state


From: Ludovic Courtès
Subject: Re: Local caching behavior affected by network state
Date: Sun, 02 Jul 2017 01:01:48 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Heya,

Thanks for the heads-up, this is terrible indeed.

Ricardo Wurmus <address@hidden> skribis:

> rekado in ~: guix build axoloti
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%

This should be mitigated by b2fde4800d39863d9260509ac0b174b459d42840 (a
cache helpful to the grafting code wasn’t caching anything…).

> /gnu/store/shkwjz6q2x411kf2s4y0n3gcwg792kfz-axoloti-1.0.12
> rekado in ~: [disconnects from the Internet]
> rekado in ~: guix build axoloti
> @ substituter-started 
> /gnu/store/8d05y04l3mrfsrsspyckh413zq6az54w-glibc-2.25.tar.xz 
> /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/libexec/guix/substitute
> Downloading 
> https://mirror.hydra.gnu.org/guix/nar/8d05y04l3mrfsrsspyckh413zq6az54w-glibc-2.25.tar.xz...
> guix substitute: error: connect: Network is unreachable

This one is trickier.  Replacements are also subject to grafting, so the
grafting code queries the references of the replacement of ‘glibc-final’
to determine whether it should be grafted.  The problem is that we
typically have the “out” output of the replacement on disk, but not its
“debug” output.  Because of that, the code keeps asking substitute info
for the “debug” output (that info is cached in /var/guix/substitute/
normally for several days.)

This can be seen with:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build -e '(begin (use-modules (guix)) 
(package-replacement (@@ (gnu packages commencement) glibc-final)))'  
--no-grafts -n
32.6 MB would be downloaded:
   /gnu/store/qx8h0rc2n91bg5jraqgdizsxbdhx53w9-glibc-2.25-debug
   /gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25
--8<---------------cut here---------------end--------------->8---

(Bonus bug: /gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25
doesn’t need to be downloaded, it’s already here.)

On top of that, on my machine, bayfront.guixsd.org is the first
substitute URL.  bayfront is currently off-line, so there’s definitely
no cached substitute info for qx8h0rc2n91bg5jraqgdizsxbdhx53w9 in cache,
so ‘guix substitute’ goes on to try and connect to bayfront.guixsd.org,
fails badly (‘guix substitute’ exits I think), which then leads to the
last-resort case in grafts.scm:189.

Do you also have bayfront on your substitute URLs?  If so, can you try
removing it to verify this hypothesis?

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]