(address . bug-guix@gnu.org)
Hi,
I’ve been having issues with the filesystem that holds /gnu/store
recently, causing corrupted/broken files. When trying to repair these
broken files with `guix gc --verify=repair,contents` it properly detects
that store items’ hashes do not match the ones recorded in the database
and redownloads/rebuilds them. However, the corrupted store items are
never actually repaired – not by `guix gc` and not by `guix build
--repair`. Attached is a testcase showing that deduplication is the
problem, because repairing will just hardlink the (broken) deduplicated
file instead of replacing it with the downloaded/built file. I tried the
daemon’s `--disable-deduplication` too with same results.
Cheers,
Lars
/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10/bin/hello 0jxnp4f4rac2scvq9lhcvpr4n4w0zrx5wdhcqml4w7zfybbszswp
-r-xr-xr-x 2 root root 0 19. Aug 13:54 /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10/bin/hello
reading the store...
checking path existence...
checking hashes...
path `/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10' was modified! expected hash `9c61184c4b1af09639cee8148bc0c3d7aced4a671615a6e0a3e7ccb927848ffa', got `3330b928ba2d3cf6acfdb0ef3a359fb686eac7ee6e9d49a6515ef7b1701537cf'
fetching path `/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10'...
hello-2.10 51KiB 528KiB/s 00:00 [##################] 100.0%
-r-xr-xr-x 2 root root 0 1. Jan 1970 /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10/bin/hello
path `/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10' is corrupted or missing!
Substituiere /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10 …
Lade von https://ci.guix.gnu.org/nar/lzip/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10herunter …
hello-2.10 51KiB 482KiB/s 00:00 [##################] 100.0%
/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10
-r-xr-xr-x 2 root root 0 1. Jan 1970 /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10/bin/hello
path `/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10' is corrupted or missing!
Substituiere /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10 …
Lade von https://ci.guix.gnu.org/nar/lzip/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10herunter …
hello-2.10 51KiB 455KiB/s 00:00 [##################] 100.0%
/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10
-r-xr-xr-x 2 root root 37K 1. Jan 1970 /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10/bin/hello