"Unsupported manifest format" error

  • Open
  • quality assurance status badge
Details
3 participants
  • bokr
  • Tyler Wolf
  • zimoun
Owner
unassigned
Submitted by
Tyler Wolf
Severity
normal
T
T
Tyler Wolf wrote on 25 Nov 2022 23:06
(name . bug-guix@gnu.org)(address . bug-guix@gnu.org)
Z5CVux4CVeq8xfPo9ox1Y3zUxvSO9h1NuaZ7Rn3ucl4bmvuNd-pVgrQqU1x3YaRKbK7FwcKTtLFekoAJDHndWvB19PyReLnRgmUtvHK6L0U=@twolf.io
Hello,
Yesterday my PC lost power and when I turned it back on I started getting the error "guix package: unsupported manifest format".

I have tried using "guix time-machine" to revert to a working commit and try again but this does not work.

I then can see that my ~/.guix-profile/manifest is empty, thus I think it is safe to say that this is where the issue is originating, however I am unable to rewrite this file, so I was wondering if there was any fix to this?

I also used the command "guix refresh" and saw that many packages needed to be refreshed, however I cannot finish this command as I get the following error:

Backtrace:
13 (primitive-load "/home/tyler/.config/guix/current/bin/g…")
In guix/ui.scm:
2275:7 12 (run-guix . _)
2238:10 11 (run-guix-command _ . _)
In ice-9/boot-9.scm:
1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
1752:10 9 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
661:37 8 (thunk)
2170:25 7 (run-with-store #<store-connection 256.99 7f411174b7d0> …)
In guix/scripts/refresh.scm:
567:14 6 (_ _)
In srfi/srfi-1.scm:
634:9 5 (for-each #<procedure 7f411d493340 at guix/scripts/ref…> …)
In guix/scripts/refresh.scm:
367:10 4 (check-for-package-update #<package xkbset@0.6 gnu/pac…> …)
In srfi/srfi-1.scm:
858:15 3 (any1 #<procedure 7f41202d2da0 at guix/upstream.scm:28…> …)
In guix/gnu-maintenance.scm:
842:10 2 (_ _ . _)
In ice-9/boot-9.scm:
1685:16 1 (raise-exception _ #:continuable? _)
1685:16 0 (raise-exception _ #:continuable? _)

Any help would be greatly appreciated.

Thanks,Tyler Wolf
Attachment: file
Z
Z
zimoun wrote on 27 Nov 2022 13:22
86bkos1ta9.fsf@gmail.com
Hi,

On Fri, 25 Nov 2022 at 22:06, Tyler Wolf via Bug reports for GNU Guix <bug-guix@gnu.org> wrote:

Toggle quote (5 lines)
> I then can see that my ~/.guix-profile/manifest is empty, thus I think
> it is safe to say that this is where the issue is originating, however
> I am unable to rewrite this file, so I was wondering if there was any
> fix to this?

This file lives in the store. Hum, I am surprised that a power shutdown
removed this file.

Well, I do not know if you can recover this empty file. At least, you
can the previous generation; e.g., guix package --roll-back.

Or you can extract a previous manifest with,

guix package -p /var/guix/profiles/per-user/<USER>/guix-profile-<NUMBER>-link \
--export-manifest > /tmp/manifest-<NUMBER>.scm

where <USER> and <NUMBER> depends on. Then,

guix package -m /tmp/manifest-<NUMBER>scm

will reinstall the same list of packages but at their current version
(the ones of current Guix revision; guix describe).


Cheers,
simon
B
(name . zimoun)(address . zimon.toutoune@gmail.com)
20221127233443.GA3070@LionPure
Hi zimoun,

On +2022-11-27 13:22:22 +0100, zimoun wrote:
[...]
Toggle quote (5 lines)
>
> This file lives in the store. Hum, I am surprised that a power shutdown
> removed this file.
>

Are all the conditions for a clean sync
of the file system where /gnu/store is mounted guaranteed?

What is the difference between power shutdown when you let
the battery run down and the OS shuts everything down
vs if you log out and click power down?

Is it not possible that when you have recharged the battery
and boot up that a journaling file system will discover traces
of an incomplete transaction (i.e. the one that was supposed
to record and atomically commit the missing file) and discards
it to reestabllish coherent file system state?

And what about continuations that were possibly waiting for
availability of that file?

Hopefully the OS will recover a good state, but what can
userland innocents expect to be guaranteed, in terms of
work flow they can understand?

(those with the grok-fu to understand internals won't need
much to imagine failure scenarios, but will presumably
appreciate /design/rationale/implementation/ documentation tips)

Toggle quote (4 lines)
> Well, I do not know if you can recover this empty file. At least, you
> can the previous generation; e.g., guix package --roll-back.
>

Assuming the file system recovered -- a pretty good bet, but ... :)

Toggle quote (17 lines)
> Or you can extract a previous manifest with,
>
> guix package -p /var/guix/profiles/per-user/<USER>/guix-profile-<NUMBER>-link \
> --export-manifest > /tmp/manifest-<NUMBER>.scm
>
> where <USER> and <NUMBER> depends on. Then,
>
> guix package -m /tmp/manifest-<NUMBER>scm
>
> will reinstall the same list of packages but at their current version
> (the ones of current Guix revision; guix describe).
>

>
> Cheers,
> simon
>
--
Regards,
Bengt Richter
Z
Z
zimoun wrote on 28 Nov 2022 10:41
(address . bokr@bokr.com)
86wn7f5sca.fsf@gmail.com
Hi,

On Mon, 28 Nov 2022 at 00:34, bokr@bokr.com wrote:

Toggle quote (3 lines)
> Are all the conditions for a clean sync
> of the file system where /gnu/store is mounted guaranteed?

More or less, yes. You can read some discussion in patch#58035 [1].



Toggle quote (4 lines)
> Hopefully the OS will recover a good state, but what can
> userland innocents expect to be guaranteed, in terms of
> work flow they can understand?

Guix cannot be magical here. :-) From my understanding, what you are
asking depends on the properties of your filesystem.


Cheers,
simon
?