‘guile3.0-guix’ sometimes fails to build on i686 (“Too many heap sections”)

DoneSubmitted by Ludovic Courtès.
Details
2 participants
  • Danny Milosavljevic
  • Ludovic Courtès
Owner
unassigned
Severity
important
L
L
Ludovic Courtès wrote on 9 Apr 14:04 +0200
‘guile3.0-guix’ sometimes fails to build on i686 (“Too many heap sections ”)
(address . bug-guix@gnu.org)
877dyo50ht.fsf@inria.fr
‘guile3.0-guix’ occasionally fails to build on i686-linux:
Toggle snippet (13 lines)[ 94%] GUILEC gnu/services/cuirass.go[ 94%] GUILEC gnu/services/cups.goGC Warning: Failed to expand heap by 8388608 bytesGC Warning: Failed to expand heap by 8388608 bytes
[...]
GC Warning: Failed to expand heap by 8388608 bytesGC Warning: Failed to expand heap by 8388608 bytesToo many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS/gnu/store/7ffcr3knh5jrj3lig4qf4fv0iws51l14-bash-minimal-5.0.7/bin/bash: line 7: 28331 Aborted XDG_CACHE_HOME=/nowhere host=i686-unknown-linux-gnu srcdir="." ./pre-inst-env /gnu/store/znlp9v4z0pda450bbsfqzppqj2m61sz9-guile-next-3.0.2/bin/guile -L "." -L "." --no-auto-compile -s "."/build-aux/compile-all.scm […]
(Fromhttps://berlin.guixsd.org/log/czsdfjykhlc4ngjdva17i4rglpnh86fl-guile3.0-guix-1.0.1-15.0984481.)
https://berlin.guixsd.org/search?query=guile3.0-guix+system%3Ai686-linuxsuggests it happens only occasionally. I suspect it’s more likely whendoing ‘-j 96’ than when doing ‘-j 4’ because the former requires morememory.
Ludo’.
D
D
Danny Milosavljevic wrote on 9 Apr 15:29 +0200
Re: bug#40522: ‘guile3.0-guix’ sometimes fails to build on i686 (“Too many heap sections”)
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 40522@debbugs.gnu.org)
20200409152928.681fd892@scratchpost.org
https://github.com/Macaulay2/M2/issues/500says there it's the Boehm GC beingconfigured for small memory by default.
They say setting the environment variable GC_INITIAL_HEAP_SIZE (tolike "50G") helps. Not sure why.
Also, there's an environment variable GC_MAXIMUM_HEAP_SIZE.
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl6PIzgACgkQ5xo1VCwwuqWcZgf+McTFyZYI+6r3hyuJir4Nj5AHGznNbTB7ONeQ6mDbHdY+Ly6x7O36rjlxkjJscOOjP008SaiGYlYpk0OYIWBAaqm5wKqdR7xL38MIoqoK5j1lUZSL4gi+xmERfVV+U3teQVlhfRRsbgueWPtQ9d5NaVFlw92K639vC7RdU3yIeiMq0vCdTjuGg5GNSj3fumBvCOKNXupY1ugTd5u8q+soFSPxcoQNQKi4UUT2ftK4/pBfv24PIMM9cyEK5ZptcEMiJM7muEEIn9YDYcWjZx1ZzSC3yhS15O3et9rz9zhtaiIJW3G9hEH+iWxagvJ5iB8OzPwUKN/DsqjKeAQKNY9j1A===OjyL-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 9 Apr 17:33 +0200
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 40522@debbugs.gnu.org)
87v9m81xox.fsf@gnu.org
Hi,
Danny Milosavljevic <dannym@scratchpost.org> skribis:
Toggle quote (3 lines)> https://github.com/Macaulay2/M2/issues/500says there it's the Boehm GC being> configured for small memory by default.
Hmm, weird. ‘core-updates’ is on libgc 8.x (instead of 7.x), so we’llhave to check if the same happens.
Toggle quote (5 lines)> They say setting the environment variable GC_INITIAL_HEAP_SIZE (to> like "50G") helps. Not sure why.>> Also, there's an environment variable GC_MAXIMUM_HEAP_SIZE.
Looks like an ugly workaround, at best. :-)
Thanks for checking!
Ludo’.
L
L
Ludovic Courtès wrote on 11 Apr 16:03 +0200
control message for bug #40522
(address . control@debbugs.gnu.org)
87ftdarufg.fsf@gnu.org
severity 40522 importantquit
L
L
Ludovic Courtès wrote on 11 Oct 16:39 +0200
Re: bug#40522: ‘guile3.0-guix’ sometimes fails to build on i686 (“Too many heap sections”)
(address . 40522-done@debbugs.gnu.org)
875z7gg72g.fsf@gnu.org
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
Toggle quote (17 lines)> ‘guile3.0-guix’ occasionally fails to build on i686-linux:>> [ 94%] GUILEC gnu/services/cuirass.go> [ 94%] GUILEC gnu/services/cups.go> 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> Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS> /gnu/store/7ffcr3knh5jrj3lig4qf4fv0iws51l14-bash-minimal-5.0.7/bin/bash: line 7: 28331 Aborted XDG_CACHE_HOME=/nowhere host=i686-unknown-linux-gnu srcdir="." ./pre-inst-env /gnu/store/znlp9v4z0pda450bbsfqzppqj2m61sz9-guile-next-3.0.2/bin/guile -L "." -L "." --no-auto-compile -s "."/build-aux/compile-all.scm […]>> (From> <https://berlin.guixsd.org/log/czsdfjykhlc4ngjdva17i4rglpnh86fl-guile3.0-guix-1.0.1-15.0984481>.)
I believe this is fixed by the switch to Guile 3.0.4 in commita2991de0f44a5f4db71ddad67e914fe3344a4505 (June 2020), where ‘-O1’ usesthe new “baseline compiler”, which is much less memory-hungry.
Ludo’.
Closed
?