Empty store items

  • Open
  • quality assurance status badge
Details
3 participants
  • Jérémy Korwin-Zmijowski
  • Leo Famulari
  • Maxime Devos
Owner
unassigned
Submitted by
Leo Famulari
Severity
normal
L
L
Leo Famulari wrote on 1 Aug 2021 23:00
(address . bug-guix@gnu.org)
617c5895-9d2a-40e4-add4-52357d46345b@www.fastmail.com
Thanks for the report. I'm forwarding it to the bug tracker.

On Sun, Aug 1, 2021, at 16:09, Thorsten Wilms wrote:
Toggle quote (98 lines)
> Hi!
>
> I wanted to try use lv2ls and lv2info, both belonging to lilv and found
> the commands to do nothing, have no man page and no --help. Then I
> tried to start Ardour, but it fails with:
>
> ```
> WARNING: Could not check your glib-2.0 for mutex locking atomic
> operations.
>
> /gnu/store/yxivqfaqiaihycfpzrk5pil6p4x5s4j2-ardour-6.6/lib/ardour6/ardour-6.6.0:
> error while loading shared
> libraries:
> /gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10/lib/liblilv-0.so.
> 0: file too short
> ```
>
> That store item has size zero, indeed.
>
> I tried:
>
> ```
> $: sudo guix build --repair lilv
> path `/gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10' is
> corrupted or missing!
> substituting /gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10...
> downloading from
> https://ci.guix.gnu.org/nar/lzip/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10 ...
> lilv-0.24.10
> 73KiB
> 1.3MiB/s 00:00 [##################] 100.0% path
> `/gnu/store/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8' is corrupted
> or missing! found corrupted or missing path
> `/gnu/store/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8' in the output
> closure of
> `/gnu/store/0l7pb0nf8fpp7ddv576ighprnz29lgjd-lilv-0.24.10.drv' path
> `/gnu/store/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6' is corrupted
> or missing! found corrupted or missing path
> `/gnu/store/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6' in the
> output closure of
> `/gnu/store/0l7pb0nf8fpp7ddv576ighprnz29lgjd-lilv-0.24.10.drv' path
> `/gnu/store/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8' is corrupted
> or missing! found corrupted or missing path
> `/gnu/store/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8' in the output
> closure of
> `/gnu/store/0l7pb0nf8fpp7ddv576ighprnz29lgjd-lilv-0.24.10.drv'
> substituting /gnu/store/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8...
> downloading from
> https://ci.guix.gnu.org/nar/lzip/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8 ...
> serd-0.30.8
> 55KiB
> 1.4MiB/s 00:00 [##################] 100.0%
> substituting /gnu/store/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8...
> downloading from
> https://ci.guix.gnu.org/nar/lzip/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8 ...
> sord-0.16.8
> 35KiB
> 2.1MiB/s 00:00 [##################] 100.0%
> substituting /gnu/store/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6...
> downloading from
> https://ci.guix.gnu.org/nar/lzip/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6 ...
> sratom-0.6.6
> 15KiB
> 2.0MiB/s 00:00 [##################]
> 100.0% /gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10
> ```
>
> But the problem persists. All actual lilv store items remain empty.
>
>
> gc --verify thinks the store is in order, so there’s nothing to repair:
>
> ```
> sudo guix gc --verify=repair
> reading the store...
> checking path existence...
> ```
>
> There are 7694 empty items, even after `guix package
> --delete-generations; guix gc --collect-garbage`:
>
> ```
> $: /gnu/store: find -empty | wc -l
> 7694
> ```
>
> I had trouble with fs corruption before, but this always meant being
> thrown into the initramfs prompt for a round of fsck. Didn’t happen
> this time, and fsck did not find any issues now.
>
> There is 39G free disk space and inode use is at 18%.
>
> Any ideas?
>
> --
> Thorsten Wilms <t_w_@freenet.de>
>
>
M
M
Maxime Devos wrote on 22 Oct 2021 22:11
Empty store items
(address . 49811@debbugs.gnu.org)
27de5d983efa55d8d0b14d6cd5d011c36d8b52b7.camel@telenet.be
Toggle quote (1 lines)
> /gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10/lib/liblilv-
0.so.
Toggle quote (2 lines)
> 0: file too short

IIRC, someone send a bug report about "guix gc --verify=content/repair"
not interacting properly with content duplication. More precisely,
stuff in /gnu/store/.links wasn't checked for corruption. A solution
might be, when repairing, to replace the file in /gnu/store/.links
instead of hard linking to the file therein, and when verifying,
to verify /gnu/store/.links. I can't find the bug report anymore
though.

As a work-around, you could try deleting /gnu/store/.links
(After remounting the store read-write. I don't know how to do that,
but it should be documented somewhere I think.)

Greetings,
Maxime
--
not hacking on guix for a while, only occassionally looking at IRC logs
and bug reports. E-mails are unsigned until backup is located.
J
J
Jérémy Korwin-Zmijowski wrote on 25 Sep 2022 23:57
(address . 49811@debbugs.gnu.org)
5eb5bbe1ea9f438d9685b03be7f10dee8cd311c9.camel@korwin-zmijowski.fr
Hi,

Right now, I have an empty store item : openssh-8.9p1.
Could be the result of brutal shutdown (laptop battery)…

The Guix daemon uses :

# ll /run/current-system/profile/bin/ssh-agent
lrwxrwxrwx 1 root root 71 1 janv. 1970 /run/current-
system/profile/bin/ssh-agent ->
/gnu/store/phympnkbmb96h1x1wkg8mqx2fsdawrr5-openssh-8.9p1/bin/ssh-agent

Which is OK. But, my regular user uses :

$ ll /home/jeko/.guix-profile/bin/ssh-agent
lrwxrwxrwx 1 root root 71 1 janv. 1970 /home/jeko/.guix-
profile/bin/ssh-agent -> /gnu/store/ffp49k0wci7h36lk38lasx4r5lc4i7iv-
openssh-8.9p1/bin/ssh-agent

$ ll /gnu/store/ffp49k0wci7h36lk38lasx4r5lc4i7iv-openssh-8.9p1/bin/ssh-
agent
-r-xr-xr-x 1 root root 0 1 janv. 1970
/gnu/store/ffp49k0wci7h36lk38lasx4r5lc4i7iv-openssh-8.9p1/bin/ssh-agent

Which is empty.
I tried to fix this situation with :

guix gc --verify=repair,contents
guix build --repair openssh
guix build --check openssh
guix build -d openssh
guix gc --optimize
guix gc -D /gnu/store/ffp49k0wci7h36lk38lasx4r5lc4i7iv-openssh-8.9p1

But nothing worked.
I read somewhere deleting /gnu/store/.links could be helpful but as I'm
not sure I did not.

Until I solved my issue, I can provide info haha

Jérémy
M
M
Maxime Devos wrote on 27 Sep 2022 17:17
ebb22f7c-f6cd-f782-0aad-3b0a960d1944@telenet.be
On 25-09-2022 23:57, Jérémy Korwin-Zmijowski wrote:
Toggle quote (4 lines)
> Hi,
>
> Right now, I have an empty store item : openssh-8.9p1.
> Could be the result of brutal shutdown (laptop battery)…
I think this might be caused by https://issues.guix.gnu.org/58035.
Toggle quote (8 lines)
> guix gc --verify=repair,contents
> guix build --repair openssh
> guix build --check openssh
> guix build -d openssh
> guix gc --optimize
> guix gc -D /gnu/store/ffp49k0wci7h36lk38lasx4r5lc4i7iv-openssh-8.9p1
>
> But nothing worked.
One additional trick: openssh is grafted, try repairing the ungrafted
openssh first:
$ sudo guix build --repair $(guix build openssh --no-grafts)
then the grafted version:
$ sudo guix build --repair $(guix build openssh)
(though if that works, I don't know how the ungrafted openssh could have
been considered valid in the first place).
Toggle quote (2 lines)
> I read somewhere deleting /gnu/store/.links could be helpful but as I'm
> not sure I did not.
It might not be helpful, but it can't be harmful (except for more disk
usage, but running a 'guix gc --optimize' afterwards should address that).
(If you try this, first delete .links, then do the "guix build
--repair", in that order.)
Greetings,
Maxime
Attachment: OpenPGP_signature
?