compute-guix-derivation fails due to insufficient memory

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Michael F. Lamb
Owner
unassigned
Submitted by
Michael F. Lamb
Severity
normal
M
M
Michael F. Lamb wrote on 29 Aug 2022 06:57
(address . bug-guix@gnu.org)
4a77aad2-3a62-4c92-abf6-5975fbc1be2b@www.fastmail.com
Hi Guix maintainers!

I was following the instructions in the Guix Reference Manual for running Guix in a VM using the pre-built qcow2 VM image:


The documentation instructs me to create a qemu VM with the option '-m 1024' which provides it 1GB of RAM.

After doing so, each time I attempted to run 'guix pull', I received the error message:

Toggle quote (2 lines)
> You found a bug: the program '/gnu/store/...-compute-guix-derivation' failed to compute the derivation for Guix (version: "..."; system: "x86_64-linux"; host version: "..."; pull-version: 1).

Searching for this error message led me to many reports where "just run 'guix pull' again" eventually worked for the reporter but such was not the case for me.

Watching "top" while running "guix pull" showed the memory usage increasing to 100% whereupon "guix pull" fails. I set the -m option to '4096' and thereafter 'guix pull' worked for me.

A few approaches you might take:

1. Make 'compute-guix-derivation' or the process that executes it better at reporting what variety of failure has occurred.
2. Change the docs to increase the default amount of memory granted to the VM. (But this might not be helpful for users with older machines and limited available memory.)
3. Change the docs to provide the VM with swap space.
4. Attempt to reduce the amount of memory compute-guix-derivation requires to complete.

Apologies for lack of a patch; hopefully once I have some more experience with Guix I can help out more directly!

Cheers,
Mike
Attachment: file
L
L
Ludovic Courtès wrote on 1 Sep 2022 18:41
(name . Michael F. Lamb)(address . mike@orbital.rodeo)(address . 57474-done@debbugs.gnu.org)
87o7vzyrl9.fsf@gnu.org
Hi,

"Michael F. Lamb" <mike@orbital.rodeo> skribis:

Toggle quote (21 lines)
> I was following the instructions in the Guix Reference Manual for running Guix in a VM using the pre-built qcow2 VM image:
>
> https://guix.gnu.org/manual/en/guix.html#Running-Guix-in-a-VM
>
> The documentation instructs me to create a qemu VM with the option '-m 1024' which provides it 1GB of RAM.
>
> After doing so, each time I attempted to run 'guix pull', I received the error message:
>
>> You found a bug: the program '/gnu/store/...-compute-guix-derivation' failed to compute the derivation for Guix (version: "..."; system: "x86_64-linux"; host version: "..."; pull-version: 1).
>
> Searching for this error message led me to many reports where "just run 'guix pull' again" eventually worked for the reporter but such was not the case for me.
>
> Watching "top" while running "guix pull" showed the memory usage increasing to 100% whereupon "guix pull" fails. I set the -m option to '4096' and thereafter 'guix pull' worked for me.
>
> A few approaches you might take:
>
> 1. Make 'compute-guix-derivation' or the process that executes it better at reporting what variety of failure has occurred.
> 2. Change the docs to increase the default amount of memory granted to the VM. (But this might not be helpful for users with older machines and limited available memory.)
> 3. Change the docs to provide the VM with swap space.
> 4. Attempt to reduce the amount of memory compute-guix-derivation requires to complete.

It looks like the memory requirements to build the latest revisions of
Guix have increased (and this is a bit ridiculous).

I checked with
and ‘-m 2048’ gives us enough headroom, so I modified the manual
accordingly in commit 98a8b48a69b8208475c9a1e40d09517f8643b8cb.

Thanks for your report!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 57474@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 57474
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch