Firefox Nightly Asan build did not launch if in kernel disable overcommit.
Categories
(Core :: Sanitizers, defect)
Tracking
()
People
(Reporter: mikhail.v.gavrilov, Unassigned)
Details
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.83 Safari/537.36
Steps to reproduce:
Steps for reproducing:
- Under root user disable overcommit.
echo 2 > /proc/sys/vm/overcommit_memory
echo 100 > /proc/sys/vm/overcommit_ratio
- Launch Firefox Nightly Asan.
$ Downloads/firefox/firefox
==427605==ERROR: AddressSanitizer failed to allocate 0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno: 12)
==427605==ReserveShadowMemoryRange failed while trying to map 0xdfff0001000 bytes. Perhaps you're using ulimit -v
Aborted (core dumped)
Actual results:
Firefox crashes with message:
==427605==ERROR: AddressSanitizer failed to allocate 0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno: 12)
==427605==ReserveShadowMemoryRange failed while trying to map 0xdfff0001000 bytes. Perhaps you're using ulimit -v
Aborted (core dumped)
Expected results:
The browser should launching as usual.
$ free -h
total used free shared buff/cache available
Mem: 31Gi 15Gi 7.4Gi 2.1Gi 7.8Gi 12Gi
Swap: 63Gi 5.3Gi 58Gi
Hi,
I don't have the technical knowledge to confirm this issue but I'll add product and component so the team can make some research on it. Hopefully, someone with a more deep understanding of this matter can help. Feel free to route this ticket to the corresponding team.
Regards,
Jerónimo.
Comment 4•5 years ago
|
||
Reassigning this to Sanitizers.
Based on my understanding on how ASAN works, this is expected. It will create huge shadow VM mappings. If you disable overcommit, there's no room to store those. So this is working as intended, i.e. not at all.
The ASAN documentation specifically calls out this configuration as not supported:
https://github.com/google/sanitizers/wiki/AddressSanitizer
Based on the above, I'm going to close this as INVALID.
Description
•