(name . bug-guix)(address . bug-guix@gnu.org)
Hello,
While debugging while guix substitution would fail with a "corrupt input
while restoring ..." error message, I saw in the guix-substitute strace
output that it was attempting to substitute a nonexistent store item.
I then narrowed the production of such broken store item to using the
following guix build options together:
Toggle snippet (10 lines)
$ guix build hello --check --rounds=2 --keep-failed
[...]
successfully built /gnu/store/260bk0ch4np4h2yz5yqhf8hjbsyhwpmr-hello-2.10.drv
successfully built /gnu/store/260bk0ch4np4h2yz5yqhf8hjbsyhwpmr-hello-2.10.drv
/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10
stat /gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10
stat: cannot statx '/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10': No such file or directory
That's bad, especially since a subsequent 'guix build hello' doesn't fix
it (it keeps the corrupted cached item, even with --check!).
One needs to run
$ guix gc -D /gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10
$ guix build hello
to recover :-/.
This bug was probably exposed via
0fa0e8df60b0b005a8d9499562464c5a66218a5b, which enabled using --check
along with --rounds.
Thanks,
Maxim