This is the mail archive of the
mailing list for the GCC project.
Re: Cross-testing libsanitizer
- From: Florian Weimer <fweimer at redhat dot com>
- To: Yury Gribov <y dot gribov at samsung dot com>, Christophe Lyon <christophe dot lyon at linaro dot org>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 03 Jun 2014 14:20:07 +0200
- Subject: Re: Cross-testing libsanitizer
- Authentication-results: sourceware.org; auth=none
- References: <CAKdteOZt1FOVXAp0KwQAs7nKeKn=iBSGEEf=KbD_Vcgs66Pgug at mail dot gmail dot com> <538D6DBD dot 4030406 at samsung dot com> <CAKdteOYYg+oAhDPDZN-Q+KDUJMg+Hh-8H4oBgDVUvLYhxV+d2Q at mail dot gmail dot com> <538DA071 dot 8080608 at samsung dot com>
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
Florian Weimer / Red Hat Product Security Team