* bug#74381: High memory usage during guix pull (i686-linux, guile jit)
@ 2024-11-16 12:58 Dariqq
2024-12-19 16:54 ` Dariqq
0 siblings, 1 reply; 2+ messages in thread
From: Dariqq @ 2024-11-16 12:58 UTC (permalink / raw)
To: 74381
Hi,
Using 'guix pull' on i686-linux regularly fails when building
'guix-packages-base':
E.g this recent run on ci.guix.gnu.org:
https://ci.guix.gnu.org/build/6472396/details
Log from me trying to pull 3e8d3d80f41e016cdfe80e488a78c2351c94fef8:
Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 8192 KiB
GC Warning: Failed to expand heap by 64 KiB
GC Warning: Out of Memory! Heap size: 3436 MiB. Returning NULL!
Warning: Unwind-only out of memory exception; skipping pre-unwind handler.
Warning: Unwind-only out of memory exception; skipping pre-unwind handler.
[ 19/ 20] compiling... 90.0% of 10 filesallocating JIT code buffer
failed: Cannot allocate memory
JIT failed due to resource exhaustion
disabling automatic JIT compilation
allocate_stack failed: Cannot allocate memory
Warning: Unwind-only stack overflow exception; skipping pre-unwind handler.
[...]
The error suggests this might be related to guile jit compiling things
Disabling it by adding GUILE_JIT_THRESHOLD=-1 to the guix-daemon
environment got things working for me again.
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#74381: High memory usage during guix pull (i686-linux, guile jit)
2024-11-16 12:58 bug#74381: High memory usage during guix pull (i686-linux, guile jit) Dariqq
@ 2024-12-19 16:54 ` Dariqq
0 siblings, 0 replies; 2+ messages in thread
From: Dariqq @ 2024-12-19 16:54 UTC (permalink / raw)
To: 74381
It turns out disabling guile jit does not work reliably and even without
it guix pull may oom building guix-packages-base using 3GB+ of RAM.
My workaround for now is to run 'guix pull -s i686-linux -p
/tmp/whatever' on an x86_64 machine (to have more RAM available) with
guile jit disabled multiple times until it succeeds (not exactly sure
why that works, is something getting cached somewhere?) and use that
machine to serve substitutes.
After mentioning this on irc today janneke mentioned this commit
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=15c5f1a2c20b21de0f19f42db1ccab4c42117ebb
which reduces the number of files per chunk from 25 to 10 to get guix
pull working on the 32 bit hurd.
I tried reducing that even further to 5 in my local checkout and the max
RAM usage went to (a little bit more reasonable) 1.5-2 GB (both on i686
natively and when emulating with -s i686 with and without guile jit).
This would be still not enough for my little machine but might be enough
for the substitute servers to build it reliably.
I also wanted to try this in a i586-gnu childhurd but guix pull
immediately segfaulted.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-12-19 16:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-16 12:58 bug#74381: High memory usage during guix pull (i686-linux, guile jit) Dariqq
2024-12-19 16:54 ` Dariqq
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.