[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59365: make-dynamic-linker-cache OOMs for LLVM 15 on i686-linux
From: |
Ludovic Courtès |
Subject: |
bug#59365: make-dynamic-linker-cache OOMs for LLVM 15 on i686-linux |
Date: |
Fri, 12 Apr 2024 11:35:47 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hello,
Ludovic Courtès <ludo@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’.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#59365: make-dynamic-linker-cache OOMs for LLVM 15 on i686-linux,
Ludovic Courtès <=