Subject: Corrupted store on top on Debian, you want the output

From: Maze <[email-masked]>
Date: Tue, 13 Sep 2022 18:28:42 +0800

I corrupted my store and it says you want the guix pull output, so
please find it at the end of this message. Mostly I send it because guix
asks, but (see below) at least 2 things broke on that machine, not sure
it's related. I have to explain a little but I don't actually require or
expect that a lot of indivudually-tailored help can be given by GNU in
this case... It's a non-standard use case on more than one account.

I have been doing more than a few unsupported things with this installation.
Over the week-end and Monday, 3 things stand out:

* I have been starting to use guix home on this guix which is not a guix
system but which is on top of Debian. I have some user shepherd
services. They still work as I'm writing this. I think this is
unsupported though.

* I tried to install a guix system to a thumb drive. It is inconvenient
to use the ISO so I decided to do it from Guix on top of Debian. When I
do this I can't start the cow-store service because it's only available
from the ISO installer. Instead I can use the
procedure mount-cow-store from guile REPL as root, and it goes
through. I have done this in the past probably succesfully in virtual
machines running guix system, although I could not say for sure if the
store of the installing virtual machine survived it. This time however,
it failed silently to install GRUB stage 1 correctly on the thumb
drive. Then, I realized my store was broken on the installing machine 
on the next morning.

* Guix was not in my paths because the latest guix profiles were not in
  the store anymore. As a last ditch effort I used rm to remove some
  links to non-existing store locations and ln to restore a chain of
  symbolic links to some recent Guix that were still in the
  store. I did this under /var/guix only. Because rm does what rm does,
  I can suppose I did not remove store files on top of what was
  already missing. guix-daemon did start, but then guix pull failed with
  the backtrace below

The second point is kind of messy because I know for a fact that the
grub-install from Debian was broken either by GRUB upstream, by Debian
or by me, but not by guix. This in turn may or may not be weirdly
related to how I may have corrupted the guix store of that machine when
installing to the thumb drive...

I also have a private channel but I don't think it's the cause. I have
changed some path information, the private channel is accessed from a
local machine filesystem path.

Updating channel 'priv' from Git repository at '/home/aaa/bbb/ccc/ddd'...
Authenticating channel 'priv', commits 8ded6c0 to 3e62002 (1 new commits)...
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 05c5807 (84 new commits)...
Building from these channels:
  guix      https://git.savannah.gnu.org/git/guix.git   05c5807
  priv      /home/maze/src/chan/priv    3e62002
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
 compute-guix-derivation  1011B                                                                                                                                                                                                       94KiB/s 00:00 [##################] 100.0%
Computing Guix derivation for 'x86_64-linux'... -Backtrace:
In ./guix/store.scm:
  1377:11 19|(loop (#<gexp-input #<<computed-file> name: "guix-packages-base-modules" gexp: #<gexp (begin (use-m?> ?) ?)
   1290:4 18 (call-with-build-handler #<procedure 7f3440ab8ea0 at ./guix/store.scm:1330:2 (continue store things mo?> ?)
  2165:24 17 (run-with-store #<store-connection 256.99 7f34440c8d70> #<procedure 7f3438f67c00 at ./guix/gexp.scm:89?> ?)
In ./guix/gexp.scm:
   898:13 16 (_ #<store-connection 256.99 7f34440c8d70>)
In ./guix/store.scm:
   1993:8 15 (_ #<store-connection 256.99 7f34440c8d70>)
In ./guix/gexp.scm:
   300:22 14 (_ #<store-connection 256.99 7f34440c8d70>)
   1181:2 13 (_ #<store-connection 256.99 7f34440c8d70>)
   1047:2 12 (_ #<store-connection 256.99 7f34440c8d70>)
    893:4 11 (_ #<store-connection 256.99 7f34440c8d70>)
In ./guix/store.scm:
  2050:12 10 (_ #<store-connection 256.99 7f34440c8d70>)
   1372:6  9 (map/accumulate-builds #<store-connection 256.99 7f34440c8d70> #<procedure 7f3438f67500 at ./guix/stor?> ?)
  1377:11  8\(loop (#<gexp-input #<<computed-file> name: "guix-packages-base" gexp: #<gexp (begin (use-modules (?> ?) ?)
   1290:4  7 (call-with-build-handler #<procedure 7f3438f674e0 at ./guix/store.scm:1330:2 (continue store things mo?> ?)
  2165:24  6 (run-with-store #<store-connection 256.99 7f34440c8d70> #<procedure 7f3438f67460 at ./guix/gexp.scm:89?> ?)
In ./guix/gexp.scm:
   898:13  5 (_ #<store-connection 256.99 7f34440c8d70>)
In ./guix/store.scm:
   1993:8  4 (_ #<store-connection 256.99 7f34440c8d70>)
In ./guix/gexp.scm:
   300:22  3 (_ #<store-connection 256.99 7f34440c8d70>)
In ./guix/store.scm:
  2037:38  2 (_ #<store-connection 256.99 7f34440c8d70>)
In ./guix/derivations.scm:
   963:17  1 (derivation #<store-connection 256.99 7f34440c8d70> "guix-packages-base" "/gnu/store/1jgcbdzx2ss6xv59w?" ?)
In ./guix/store.scm:
   1033:9  0 (_ #<store-connection 256.99 7f34440c8d70> "guix-packages-base.drv" #vu8(68 101 114 105 118 101 40 91 ?) ?)

./guix/store.scm:1033:9: ERROR:
  1. &store-protocol-error:
      message: "opening file `/gnu/store/406g41s0dgfmsczphv95p56hbs84a3rf-guix-extra.drv': No such file or directory"
      status: 1
guix pull: error: You found a bug: the program '/gnu/store/9xprnlxcag6z3ib6gmw8rs4k04iw808p-compute-guix-derivation'
failed to compute the derivation for Guix (version: "05c5807ea5ce1f8af8068151906d670edda97afe"; system: "x86_64-linux";
host version: "072cc8d1415a2abf66b36249c61658a828dead88"; pull-version: 1).
Please report the COMPLETE output above by email to <[email-masked]>.