unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Andy Wingo <wingo@igalia.com>,
	19180@debbugs.gnu.org, guile-devel@gnu.org
Subject: bug#19180: Weak tables harmful to GC?
Date: Thu, 26 Oct 2017 10:35:06 +0200	[thread overview]
Message-ID: <87k1zimhmt.fsf__25660.0784873173$1509013474$gmane$org@elephly.net> (raw)
In-Reply-To: <87a80eie63.fsf@gnu.org>


Hi Ludo,

I tried building Guile with the following Guix package definition:

--8<---------------cut here---------------start------------->8---
(define-public guile-2.2-awesome
  (package (inherit guile-2.2)
    (name "guile-awesome")
    (source (origin (inherit (package-source guile-2.2))
       (patches (list "/home/rwurmus/0001-Remove-weak-tables-and-revert-to-weak-hash-tables.patch"
                      "/home/rwurmus/0002-Keep-weak-hash-table-item-count-consistent.patch"))))
    (arguments
      (substitute-keyword-arguments (package-arguments guile-2.2)
        ((#:phases phases)
         `(modify-phases ,phases
            (add-before 'pre-configure 'bootstrap
              (lambda _
                (zero? (system* "autoreconf" "-vif"))))))))
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
       ("libtool" ,libtool)
       ("flex" ,flex)
       ("texinfo" ,texinfo)
       ("gettext" ,gettext-minimal)
       ,@(package-native-inputs guile-2.2)))))
--8<---------------cut here---------------end--------------->8---

Unfortunately, I cannot bootstrap Guile on this 1.5 TB RAM server:

--8<---------------cut here---------------start------------->8---
…
  BOOTSTRAP GUILEC system/vm/program.go
  BOOTSTRAP GUILEC system/vm/vm.go
  BOOTSTRAP GUILEC system/foreign.go
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30796 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "language/scheme/compile-tree-il.go" "../module/language/scheme/compile-tree-il.scm"
make[2]: *** [Makefile:1928: language/scheme/compile-tree-il.go] Error 134
make[2]: *** Waiting for unfinished jobs....
^GGC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30386 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "language/tree-il/fix-letrec.go" "../module/language/tree-il/fix-letrec.scm"
make[2]: *** [Makefile:1928: language/tree-il/fix-letrec.go] Error 134
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30839 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "language/value/spec.go" "../module/language/value/spec.scm"
make[2]: *** [Makefile:1928: language/value/spec.go] Error 134
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30917 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "system/base/syntax.go" "../module/system/base/syntax.scm"
make[2]: *** [Makefile:1928: system/base/syntax.go] Error 134
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30344 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "ice-9/psyntax-pp.go" "../module/ice-9/psyntax-pp.scm"
make[2]: *** [Makefile:1928: ice-9/psyntax-pp.go] Error 134
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30354 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "srfi/srfi-1.go" "../module/srfi/srfi-1.scm"
make[2]: *** [Makefile:1928: srfi/srfi-1.go] Error 134
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30548 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "language/cps/peel-loops.go" "../module/language/cps/peel-loops.scm"
make[2]: *** [Makefile:1928: language/cps/peel-loops.go] Error 134
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 31410 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "system/vm/dwarf.go" "../module/system/vm/dwarf.scm"
make[2]: *** [Makefile:1928: system/vm/dwarf.go] Error 134
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 31415 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "system/vm/elf.go" "../module/system/vm/elf.scm"
make[2]: *** [Makefile:1928: system/vm/elf.go] Error 134
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 31028 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "ice-9/boot-9.go" "../module/ice-9/boot-9.scm"
make[2]: *** [Makefile:1928: ice-9/boot-9.go] Error 134
GC Warning: Repeated allocation of very large block (appr. size 230096896):
        May lead to memory leak and poor performance
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: line 6: 30348 Aborted                 GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="x86_64-unknown-linux-gnu" -O1 -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/module" -L "/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/guile-readline" -o "language/cps/intset.go" "../module/language/cps/intset.scm"
make[2]: *** [Makefile:1928: language/cps/intset.go] Error 134
…
--8<---------------cut here---------------end--------------->8---

I will try this on a workstation with fewer cores and less memory later.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net






  parent reply	other threads:[~2017-10-26  8:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87wp9gwz8m.fsf@gnu.org>
     [not found] ` <87fug4o8z2.fsf@pobox.com>
     [not found]   ` <87wp54z3p5.fsf@gnu.org>
     [not found]     ` <87zi9th1i6.fsf_-_@gnu.org>
     [not found]       ` <87y3o454pr.fsf@gnu.org>
     [not found]         ` <87r2tvncs5.fsf@dustycloud.org>
     [not found]           ` <87wp3mwwef.fsf@gnu.org>
     [not found]             ` <87po9c88rx.fsf@dustycloud.org>
     [not found]               ` <87o9owm9v1.fsf@gnu.org>
2017-10-25  0:50                 ` bug#19180: Weak tables harmful to GC? Christopher Allan Webber
     [not found]                 ` <87o9ow830m.fsf@dustycloud.org>
2017-10-25 17:11                   ` Ludovic Courtès
     [not found]             ` <87mv4gd0ik.fsf@elephly.net>
2017-10-25  6:38               ` Ricardo Wurmus
2017-10-26  7:03               ` Ludovic Courtès
     [not found]               ` <87a80eie63.fsf@gnu.org>
2017-10-26  8:35                 ` Ricardo Wurmus [this message]
     [not found]                 ` <87k1zimhmt.fsf@elephly.net>
2017-10-26 16:52                   ` Ricardo Wurmus
2017-10-26 17:17                   ` Ludovic Courtès
     [not found]                   ` <87bmktn96e.fsf@elephly.net>
2017-10-27  5:28                     ` Ludovic Courtès
     [not found]                     ` <87tvyl9n22.fsf@gnu.org>
2017-10-28  9:56                       ` Ricardo Wurmus
     [not found]                       ` <87r2tnlhno.fsf@elephly.net>
2017-10-30 12:35                         ` Ludovic Courtès
     [not found]                         ` <87a8087qz7.fsf@gnu.org>
2017-10-30 14:48                           ` Ricardo Wurmus
     [not found]                           ` <87d154lmio.fsf@mdc-berlin.de>
2017-10-30 17:20                             ` Ricardo Wurmus
     [not found]                             ` <878tfslfgl.fsf@mdc-berlin.de>
2017-10-30 22:18                               ` Ludovic Courtès
2017-10-30 17:29                           ` Andy Wingo
2017-10-30 23:13                             ` Ludovic Courtès
     [not found]                             ` <87zi88ut3k.fsf@gnu.org>
2017-10-31  8:25                               ` Andy Wingo
     [not found]                               ` <877evbiuzy.fsf@igalia.com>
2017-10-31 16:56                                 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='87k1zimhmt.fsf__25660.0784873173$1509013474$gmane$org@elephly.net' \
    --to=rekado@elephly.net \
    --cc=19180@debbugs.gnu.org \
    --cc=guile-devel@gnu.org \
    --cc=ludo@gnu.org \
    --cc=wingo@igalia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).