Subject: bug#72340: guix should not ask me to report a bug if it fails due to running out of memory

From: "Zack Weinberg" <[email-masked]>
Date: Tue, 03 Sep 2024 11:30:41 -0400

On Tue, Sep 3, 2024, at 10:39 AM, Simon Tournier wrote:
> On Sun, 28 Jul 2024 at 16:02, "Zack Weinberg" via Bug reports for GNU 
> Guix <[email-masked]> wrote:
>
>> Computing Guix derivation for 'x86_64-linux'... \
>> GC Warning: Failed to expand heap by 8388608 bytes
>> [previous line repeats 79 more times]
>> GC Warning: Failed to expand heap by 69632 bytes
>> GC Warning: Out of Memory! Heap size: 402 MiB. Returning NULL!
>> Warning: Unwind-only out of memory exception; skipping pre-unwind handler.
>> guix pull: error: You found a bug: the program
>> '/gnu/store/6pckga173mjbpfz7a2bl93h4gimd8fp5-compute-guix-derivation'
>> failed to compute the derivation for Guix (version:
>> "46a64c7fdd057283063aae6df058579bb07c4b6a"; system: "x86_64-linux";
>> host version: "e4aabf42b33346849cb565199cfafc49d4f0aeff";
>
> I guess this bug had been fixed since then.  Do you still have it?

I reconfigured my Guix system to avoid the bug, so I cannot easily
trigger it anymore.  However, this is not a bug that would go away by
accident.  Until someone writes code specifically intended to produce
a better error message when Guile runs out of memory, the bug will be
live.

> Aside, I am not able to reproduce it:
>
>     guix time-machine -q --commit=e4aabf42b33346849cb565199cfafc49d4f0aeff \
>       -- time-machine -q --commit=46a64c7fdd057283063aae6df058579bb07c4b6a \
>       -- describe

In order to reproduce the bug you need to be working in an environment
(probably a virtual machine is easiest) with a limited amount of
system memory (512MB of RAM and no swap should do it) and memory
overcommit disabled (sysctl -w vm.overcommit_memory=2).

Also, I don't know what "guix time-machine" does but I would not
expect "guix describe" to use substantial amounts of memory.  You need
to run a command that computes a large derivation, such as "guix pull"
or "guix system reconfigure".

zw