Hi! Ludovic Courtès <l...@gnu.org> skribis:
> Ludovic Courtès <l...@gnu.org> skribis: > >> ‘guix-packages-base.drv’ fails to build due to a Guile segfault (!): >> >> [653/656] compiling... 99.1% of 328 files[654/656] compiling... >> 99.4% of 328 files[655/656] compiling... 99.7% of 328 filesGC >> Warning: Failed to expand heap by 8388608 bytes >> GC Warning: Failed to expand heap by 8388608 bytes >> GC Warning: Failed to expand heap by 8388608 bytes >> >> [...] >> >> GC Warning: Failed to expand heap by 8388608 bytes >> GC Warning: Failed to expand heap by 8388608 bytes >> builder for >> `/gnu/store/cnrmdbcyy8r9bs2gl2kgpnyplivrzf5c-guix-packages-base.drv' failed >> due to signal 11 (Segmentation fault) >> @ build-failed >> /gnu/store/cnrmdbcyy8r9bs2gl2kgpnyplivrzf5c-guix-packages-base.drv - 1 >> builder for >> `/gnu/store/cnrmdbcyy8r9bs2gl2kgpnyplivrzf5c-guix-packages-base.drv' failed >> due to signal 11 (Segmentation fault) > > On closer inspection, this is caused by OOM, with Guile peaking at 2.8G > resident (!) at that point, more than on x86_64. An update: with changes made in Guile “main” over the last couple of weeks, memory consumption is 20% lower and compilation is 20% faster compared to 3.0.7 (on x86_64): --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env time -f '%U seconds\n%M KiB' guile -c '(use-modules (system base compile)) (compile-file "gnu/packages/crates-io.scm" #:optimization-level 1)' 53.84 seconds 795972 KiB $ ./pre-inst-env time -f '%U seconds\n%M KiB' /data/src/guile-3.0/meta/guile -c '(use-modules (system base compile)) (compile-file "gnu/packages/crates-io.scm" #:optimization-level 1 #:opts (list #:inlinable-exports? #f #:resolve-free-vars? #f))' 43.00 seconds 618724 KiB $ $ guile --version guile (GNU Guile) 3.0.7 Copyright (C) 2021 Free Software Foundation, Inc. License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. $ (cd /data/src/guile-3.0; git log | head -1) commit 2aed3c117c2d667ecca1e38a016f2cb4b524ab50 --8<---------------cut here---------------end--------------->8--- To be continued… Ludo’.