Hi Ludovic! Ludovic Courtès <l...@gnu.org> writes:
> 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): > > $ ./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 Impressive! Keep up the good work! Thanks, Maxim