bug#57474: compute-guix-derivation fails due to insufficient memory

2022-08-30 Thread Michael F. Lamb
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:

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.

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

Cheers,
Mike

bug#57474: compute-guix-derivation fails due to insufficient memory

2022-09-01 Thread Ludovic Courtès
Hi,

"Michael F. Lamb"  skribis:

> 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’.