Subject: Re: bug#45992: A "live" profile is missing

From: Leo Famulari <[email-masked]>
Date: Fri, 29 Jan 2021 18:12:08 -0500

I don't think that this message is really relevant to the bug report. It
describes some corrupted store items on my computer and might be
interesting as examples of what goes wrong when /gnu/store is writable.

This is on Debian, where /gnu/store is just a "regular directory",
without the protection you get on Guix System.

I noticed that three store items have been altered somehow:

------
$ guix gc --verify=contents                                               
reading the store... 
checking path existence...
checking hashes...
path `/gnu/store/4aj0ydxfrbfz2yshlv1qg6kr5qw17mjz-profile' was modified! expected hash `2f0a69784b287ba297082209b928e46b2f8f4925cab00996cd23699a468cc8d1', got `bb3067ed7fa0e11b7f57ad9d4d8428ce9312a1b7d0bd638d7ce16e447e452dee'
path `/gnu/store/5kfv0zzf1mmkyl3c9q42piwcb0h3fyzj-profile' was modified! expected hash `9f8281ec9f8e5bc173739b36e8ffc5e088667f17e57e496f51a22f59340d4643', got `b4e187418d96c984f543f50a0fc3709d90056423c66dc09e7548aa06dcdb8e9a'
path `/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37' was modified! expected hash `5f4f3e0d3eb79e67fc38654a1277709a95ec1ca85253d4c40cb2f9e5514cafa7', got `e726b2163b08b3bd7edb95f29d8e29c0c70ae356d7a4d898ade486b71b0f80ed'
------

None of these are the "missing" profile.

Both of the profiles have some suspicious links like these:

------
ls -l /gnu/store/4aj0ydxfrbfz2yshlv1qg6kr5qw17mjz-profile
total 20
lrwxrwxrwx 3 root root   62 Dec 31  1969 bin -> /gnu/store/08rk3q8s9qqzph0hah66mx1ws2ssll15-guix-645a28ee9/bin
lrwxrwxrwx 1 root root   12 Jan 20 13:27 current-guix -> current-guix
lrwxrwxrwx 1 root root   21 Jan 20 13:28 current-guix-112-link -> current-guix-112-link
lrwxrwxrwx 1 root root   21 Jan 20 13:28 current-guix-113-link -> current-guix-113-link
dr-xr-xr-x 2 root root 4096 Dec 31  1969 etc
dr-xr-xr-x 2 root root 4096 Dec 31  1969 lib
-r--r--r-- 2 root root  851 Dec 31  1969 manifest
dr-xr-xr-x 3 root root 4096 Dec 31  1969 share
------

The timestamps lead me to think I messed these up while trying to
workaround the missing profile that spurred this bug report.

In the font-dejavu store item, I noticed that not all the files have
their timestamps set correctly:

------
/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37
└── [Dec 31  1969]  share
    ├── [Dec 31  1969]  doc
    │   └── [Dec 31  1969]  font-dejavu-2.37
    │       └── [Dec 31  1969]  LICENSE
    ├── [Dec 31  1969]  fontconfig
    │   └── [Dec 31  1969]  conf.avail
    │       ├── [Dec 31  1969]  20-unhint-small-dejavu-sans.conf
    │       ├── [Dec 31  1969]  20-unhint-small-dejavu-sans-mono.conf
    │       ├── [Dec 31  1969]  20-unhint-small-dejavu-serif.conf
    │       ├── [Dec 31  1969]  57-dejavu-sans.conf
    │       ├── [Dec 31  1969]  57-dejavu-sans-mono.conf
    │       └── [Dec 31  1969]  57-dejavu-serif.conf
    └── [Dec 31  1969]  fonts
        ├── [Dec 31  1969]  truetype
        │   ├── [Dec 31  1969]  DejaVuMathTeXGyre.ttf
        │   ├── [Dec 31  1969]  DejaVuSans-BoldOblique.ttf
        │   ├── [Dec 31  1969]  DejaVuSans-Bold.ttf
        │   ├── [Dec 31  1969]  DejaVuSansCondensed-BoldOblique.ttf
        │   ├── [Dec 31  1969]  DejaVuSansCondensed-Bold.ttf
        │   ├── [Dec 31  1969]  DejaVuSansCondensed-Oblique.ttf
        │   ├── [Dec 31  1969]  DejaVuSansCondensed.ttf
        │   ├── [Dec 31  1969]  DejaVuSans-ExtraLight.ttf
        │   ├── [Dec 31  1969]  DejaVuSansMono-BoldOblique.ttf
        │   ├── [Dec 31  1969]  DejaVuSansMono-Bold.ttf
        │   ├── [Dec 31  1969]  DejaVuSansMono-Oblique.ttf
        │   ├── [Dec 31  1969]  DejaVuSansMono.ttf
        │   ├── [Dec 31  1969]  DejaVuSans-Oblique.ttf
        │   ├── [Dec 31  1969]  DejaVuSans.ttf
        │   ├── [Dec 31  1969]  DejaVuSerif-BoldItalic.ttf
        │   ├── [Dec 31  1969]  DejaVuSerif-Bold.ttf
        │   ├── [Dec 31  1969]  DejaVuSerifCondensed-BoldItalic.ttf
        │   ├── [Dec 31  1969]  DejaVuSerifCondensed-Bold.ttf
        │   ├── [Dec 31  1969]  DejaVuSerifCondensed-Italic.ttf
        │   ├── [Dec 31  1969]  DejaVuSerifCondensed.ttf
        │   ├── [Dec 31  1969]  DejaVuSerif-Italic.ttf
        │   ├── [Dec 31  1969]  DejaVuSerif.ttf
        │   └── [Jun 17  2020]  .uuid
        └── [Jun 17  2020]  .uuid
------

What's up with those '.uuid' files?