Subject: Re: bug#47717: guix outrageously exhaust itself (freeze) when there is package build failure

From: bo0od <[email-masked]>
Date: Wed, 14 Apr 2021 16:54:51 +0000

> I mean the ‘outrageously’ part.  When Linux runs out of memory, it
 > freezes up.  Moral judgment is futile.  Better to adopt raingloom's
 > earlyoom suggestion or similar.

Im using default guix system nothing special, If this package usable to 
solve these stuff i suggest then to include it by default.

I suggest as well to take a look at solutions similar to this one:

https://forums.whonix.org/t/constrained-system-resources-program-starter-wrapper/10914

or even at least possibility of switch virtual console, login as 
different user and kill the broken processes exhausting system resources.

 > I did, hence the question. ;-)  The file I asked for is missing.

No, Please check the ticket on the website as i provided the needed log 
as .txt file but somehow the website(guix issues) fetching it to plain 
text and seems it didnt reach to you. Here is the link to the ticket:

https://issues.guix.gnu.org/47717

 > 4 GiB is absolutely not enough to build an outrageous amount of ‘modern’
 > software, especially in parallel (so not using --cores=1 --max-jobs=1)
 > to make use of those expensive cores.
 >
 > I'm disgusted too.

Yes it is, But you know this cant be a way of life with guix for end 
user no? Something by default should solve this matter otherwise this is 
not usable distro.

 > Oh, nor do I.  My point is this isn't a bug in Guix, so it's not a bug
 > we can ‘fix’.  A ‘workaround’ is the best we can do.

So you gonna wait for every user to open xyz tickets and you gonna 
answer them 1 by 1 the same answer this is not our issue? I dont see 
this is good idea even if its true its not entirely guix issue but guix 
need to find out something to close this gap otherwise prepare to see 
more like this report.

 > I think the installer now asks whether you want to enable substitutes.
 > Do you remember if it did?  If you chose not to, why not, and do you
 > feel like you were making an informed decision?

I used manual installation, didnt see this.

 > This won't happen.  Enabling substitutes requires informed administrator
 > consent.  If that's an issue -- and I bet it is! -- we need to do a
 > better job educating them during installation, no later.

Yes if guix can indicate the amount of RAM is low then it can popup a 
message telling the user due to low RAM and to avoid resources 
exhausting would you like to activate x to avoid this issue? <- 
something like this can be done.

Tobias Geerinckx-Rice:
> bo0od writes:
>> yes sound dramatic but i couldnt describe what happened better.
> 
> I mean the ‘outrageously’ part.  When Linux runs out of memory, it 
> freezes up.  Moral judgment is futile.  Better to adopt raingloom's 
> earlyoom suggestion or similar.
> 
>> /var/log/guix/drvs/5a/8xxi15g20iqr78daw3w1c7xyqmmd1k-vigra-1.11.1.drv.bz2
>>
>> check the uploaded .txt file
> 
> I did, hence the question. ;-)  The file I asked for is missing.
> 
>> 4G of ram not enough? That would be interesting if its not.
> 
> Prepare to be interested, I guess... y... yaay...
> 
> 4 GiB is absolutely not enough to build an outrageous amount of ‘modern’ 
> software, especially in parallel (so not using --cores=1 --max-jobs=1) 
> to make use of those expensive cores.
> 
> I'm disgusted too.
> 
>> No, i dont like workarounds
> 
> Oh, nor do I.  My point is this isn't a bug in Guix, so it's not a bug 
> we can ‘fix’.  A ‘workaround’ is the best we can do.
> 
> For example, one such workaround would be to ask the user whether they 
> want to run the daemon in ‘slow mode’ (--cores=1 --max-jobs=1 etc.) if 
> we detect <N GiB of RAM during installation.
> 
> But with only 4 GiB of RAM and -j1 some ‘modern’ things will still 
> fail.  At that point you offload or accept substitutes, and I think 
> doing either selectively is pointless.
> 
>> If substitutes are essentials for users then it should be enabled by
>> default ,
> 
> I didn't say they were essential; they're not.  They're an alternative 
> to downloading more RAM.
> 
> I think the installer now asks whether you want to enable substitutes.  
> Do you remember if it did?  If you chose not to, why not, and do you 
> feel like you were making an informed decision?
> 
>> or switched automatically if there is something bad happened like this
>> issue.
> 
> This won't happen.  Enabling substitutes requires informed administrator 
> consent.  If that's an issue -- and I bet it is! -- we need to do a 
> better job educating them during installation, no later.
> 
> Kind regards,
> 
> T G-R