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

  • Done
  • quality assurance status badge
Details
2 participants
  • Danny Milosavljevic
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
important
L
L
Ludovic Courtès wrote on 9 Apr 2020 14:04
‘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.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

suggests it happens only occasionally. I suspect it’s more likely when
doing ‘-j 96’ than when doing ‘-j 4’ because the former requires more
memory.

Ludo’.
D
D
Danny Milosavljevic wrote on 9 Apr 2020 15:29
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 being
configured for small memory by default.

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.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl6PIzgACgkQ5xo1VCww
uqWcZgf+McTFyZYI+6r3hyuJir4Nj5AHGznNbTB7ONeQ6mDbHdY+Ly6x7O36rjlx
kjJscOOjP008SaiGYlYpk0OYIWBAaqm5wKqdR7xL38MIoqoK5j1lUZSL4gi+xmER
fVV+U3teQVlhfRRsbgueWPtQ9d5NaVFlw92K639vC7RdU3yIeiMq0vCdTjuGg5GN
Sj3fumBvCOKNXupY1ugTd5u8q+soFSPxcoQNQKi4UUT2ftK4/pBfv24PIMM9cyEK
5ZptcEMiJM7muEEIn9YDYcWjZx1ZzSC3yhS15O3et9rz9zhtaiIJW3G9hEH+iWxa
gvJ5iB8OzPwUKN/DsqjKeAQKNY9j1A==
=OjyL
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 9 Apr 2020 17:33
(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’ll
have 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 2020 16:03
control message for bug #40522
(address . control@debbugs.gnu.org)
87ftdarufg.fsf@gnu.org
severity 40522 important
quit
L
L
Ludovic Courtès wrote on 11 Oct 2020 16:39
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 commit
a2991de0f44a5f4db71ddad67e914fe3344a4505 (June 2020), where ‘-O1’ uses
the new “baseline compiler”, which is much less memory-hungry.

Ludo’.
Closed
?