Subject: Re: bug#47949: Failed to produce output path for guix-package-cache

From: Vagrant Cascadian <[email-masked]>
Date: Wed, 26 Oct 2022 16:25:30 -0700

On 2022-10-26, zimoun wrote:
> On Wed, 26 Oct 2022 at 09:57, Vagrant Cascadian <[email-masked]> wrote:
>
>> It is consistently the same errors in the log, though on further looking
>> i discovered a branch in ~/.cache/guix/checkouts/ that had old removed
>> files in it (including wicd.scm/wicd.go) ... *maybe* that was somehow
>> related. I did remove all the evidence, so so if stale checkouts is
>> somehow the issue, it will be hard to reproduce again... oops.
>
> Hum, what does “guix describe” say?

I'll try this instead, with some annotation:

$ guix pull -l 1w
# Version used when 139 failed:
Generation 138       Oct 19 2022 19:04:26
  guix e61660c
    repository URL: /home/vagrant/src/guix
    branch: master
    commit: e61660c78f1190c578dd6f202bc5529cbdcff84e

# First version where I noticed failures:
Generation 139       Oct 22 2022 13:07:08
  guix bb2701b
    repository URL: /home/vagrant/src/guix
    branch: master
    commit: bb2701b9111a3d82a82ceaaf2b22b51ecd8ac21f

# Failed to pull from 139, successfully pulled from 138:
Generation 140       Oct 24 2022 13:19:21
  guix 8663be6
    repository URL: /home/vagrant/src/guix-master
    branch: master
    commit: 8663be6da7f13a8eeea71dc1f493f7adc5b7672a

# failed to pull from 139, successfully pulled from 138:
Generation 141       Oct 25 2022 13:08:12
  guix a0751e3
    repository URL: /home/vagrant/src/guix-master
    branch: master
    commit: a0751e3250dfea7e52468c8090e18c3118d93a60

# Finally noticed the ~/.cache/guix/... leftover cruft and removed
# cached checkouts, successfully pulled from 141:
Generation 142       Oct 26 2022 10:03:18 (current)
  guix c07b55e
    repository URL: /home/vagrant/src/guix-master
    branch: master
    commit: c07b55eb94f8cfa9d0f56cfd97a16f2f7d842652

Apparently I sometimes used:

  guix pull --url=/home/vagrant/src/guix --branch=master

and sometimes:

  guix pull --url=/home/vagrant/src/guix-master --branch=master

Which end up using different directories in ~/.cache/guix/checkouts/
... and one of the directories has some cruft leftover in it.

After cleaning out the cruft, so far so good...

>> I did manage again to use an old commit to pull up to a more recent
>> master (a0751e3250dfea7e52468c8090e18c3118d93a60), and see there are new
>> commits now so will try again. Will see.
>
> What is your hackish workflow?  You do,
>
>     guix pull --commit=<old> && guix pull

To use the older generations I used:

  /var/guix/profiles/per-user/vagrant/current-guix-138-link/bin/guix pull ...

> right?  From your recent pull, does this
>
>     guix time-machine --commit=<new> -- help
>
> work?  where <new> is newer than your current revision.

Oh yeah, that reminds me to add to the confusion, "guix time-machine
--commit=SOMECOMMIT" worked fine, even where "SOMECOMMIT" didn't
successfully work with guix pull.

Maybe that's a clue pointing to the crufty .cache directories?

live well,
  vagrant