GNU bug report logs -
#59365
make-dynamic-linker-cache OOMs for LLVM 15 on i686-linux
Previous Next
Full log
View this message in rfc822 format
Hello,
Ludovic Courtès <ludo <at> gnu.org> skribis:
>> GC Warning: Failed to expand heap by 285216768 bytes
>> GC Warning: Failed to expand heap by 268439552 bytes
>> GC Warning: Out of Memory! Heap size: 3620 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.
>> Warning: Unwind-only out of memory exception; skipping pre-unwind handler.
>>
>> (excerpt from https://ci.guix.gnu.org/build/1702995/log/raw)
>>
>> Not sure why this phase uses so much memory. Ideas?
>
> Yes: the gremlin.scm code uses ‘file-dynamic-info’, which loads the
> whole file in memory. Ridiculous.
>
> We should instead mmap it (but there are no ‘mmap’ bindings in Guile,
> yet) or arrange to load just the relevant parts (we’ll have to check but
> maybe ‘file-dynamic-info’ can find everything it needs at the beginning
> of a file, the PT_DYNAMIC segment.)
Another instance of the problem that we just stumbled upon is ‘guix pack -RR’:
that too tries to load entire ELF files in memory, in
‘elf-loader-compile-flags’.
Mmap!
Ludo’.
This bug report was last modified 72 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.