Le Sat, 12 Jun 2021 00:23:30 +0200, Julien Lepiller <jul...@lepiller.eu> a écrit :
> Hi Guix! > > I tried updating my system on my armhf board (2GB of RAM), but during > "guix system reconfigure", guix tries to build itself (the guix > package from (gnu packages package-management)). This package uses > too much memory to build, and I start getting GC warnings like so: > > GC Warning: Out of memory - trying to allocate requested amount (552 > bytes)... > GC Warning: Header allocation failed: dropping block > GC Warning: Out of Memory! Heap size: 2571 MiB. Returning NULL! > Warning: Unwind-only out of memory exception; skipping pre-unwind > handler. > > after some more progress and a lot more warnings, the build stops (CPU > is at 2%), but the memory is not freed. The build stayed stuck for a > long time until I decided to cancel it. > > As a work-around, I tried using the guix-daemon package instead (by > changing the guix field in guix-configuration), but "guix system" > still wants to build the guix package anyway. I tried finding usages > of the guix package (grepping for "package-management" yields a > relatively short list of files, and none of them seems to be used by > my config, except (gnu services base) which always uses the guix from > the configuration). Why? > > Can we instead break the build (at the Makefile level) into multiple > smaller chunks, that require less memory, in the same way (guix self) > works? > > > also note it's not an OOM issue at the system level, because guile doesn't seem to care I have 8GB of free swap it could use. Top reports 1.8GB of resident memory being used by the process. I tried to stop all services at the time in the hope it would save some memory and help, but guile just kept swallowing all that free memory I gave it.