--- Begin Message ---
Subject: |
grafts cause “guix environment” to get killed with OOM |
Date: |
Tue, 06 Jul 2021 16:38:28 +0200 |
User-agent: |
mu4e 1.4.15; emacs 27.2 |
With a recent version of Guix, “guix environment” will not
terminate on its own, keeps the CPU busy, and gets killed when the
system eventually runs out of memory.
$ guix describe -f channels
--8<---------------cut here---------------start------------->8---
(list (channel
(name 'guix)
(url "/home/rekado/dev/gx/branches/master")
(commit
"685cfdec94e5e48c4ad28de53466a28dfc258edb")))
--8<---------------cut here---------------end--------------->8---
$ guix environment pigx-scrnaseq
[wait until it gets killed]
The problem disappears when grafts are disabled:
$ guix environment --no-grafts pigx-scrnaseq
$ [env] yay!
--
Ricardo
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#49439: grafts cause “guix environment” to get killed with OOM |
Date: |
Tue, 10 Aug 2021 17:36:27 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hello!
Ludovic Courtès <ludo@gnu.org> skribis:
> I added counters and ‘pk’ calls in ‘map/accumulate-builds’ & co. to see
> what happens. AFAICS, a cutoff as in the attached patch does the job.
> It’s a basic heuristic to avoid unbounded growth, at the expense of
> possibly reduced accumulation. For example, here’s the effect on my
> user profile with 300+ packages:
Pushed as fa81971cbae85b39183ccf8f51e8d96ac88fb4ac.
I saw your message on IRC, Sarah; note that because grafts are “dynamic
dependencies” (they depend on previous build results), we cannot know in
advance which grafts we’re going to build, so there’s necessarily at
least a second phase during which grafts get built. See
<https://guix.gnu.org/en/blog/2020/grafts-continued/> for background.
Thanks!
Ludo’.
--- End Message ---