On 06/03/2014 12:16 PM, Yury Gribov wrote:
Is this 8G of RAM? If yes - I'd be curious to know which part of
libsanitizer needs so much memory.

Here is what I have in gcc.log:
==12356==ERROR: AddressSanitizer failed to allocate 0x200001000
(8589938688) bytes at address ffffff000 (errno: 12)^M
==12356==ReserveShadowMemoryRange failed while trying to map
0x200001000 bytes. Perhaps you're using ulimit -v^M

Interesting. AFAIK Asan maps shadow memory with NORESERVE flag so it
should not consume any RAM at all...

Even NORESERVE mappings count towards the commit limit. You'd need to map with PROT_NONE in order to avoid that.

At present, it is necessary to run with vm.overcommit_memory=0 (or 1), with vm.overcommit_memory=2, there will be test suite failures. I suspect that there is a possibility to hit this on loaded systems even with vm.overcommit_memory=0.

--
Florian Weimer / Red Hat Product Security Team

Reply via email to