Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 403 by [email protected]: Enable LSAN support for 32bit architecture
https://code.google.com/p/address-sanitizer/issues/detail?id=403

I am working on trying to increase the support of leak sanitizer on 32 bit architectures. My aim is to bring up the leak identification rate, by reducing the number of false negatives we are currently getting from junk data looking like mid pointers. On a 32 bit architecture as the address space is smaller, there is a high probability that an allocation of 4 bytes of random junk can look like a mid pointer, leading to missed leaks.

Valgrind memcheck tries to relieve this problem by reporting any allocation with no start pointer and one or more interior pointer as possibly lost, but this approach has issues as it can often reports too many false positives; leading debuggers to often ignore the possibly lost report. Dr. Memory goes one stage further by using heuristics to remove some of these false positives from the reported possibly leaks (http://drmemory.org/docs/page_leaks.html)

The first stage of my attached working patch is simply the addition of "possible leaks" on 32 bit archs (using preprocessors). Next I would like to work on a way of removing as many false positives from the reported "possible leaks" as possible.

We could do this by using heuristics like the ones used in dr. memory, but I know valgrind memcheck dismissed this guessing approach as looking "scary" (https://bugs.kde.org/show_bug.cgi?id=280271).

Any ideas or thoughts would be greatly appreciated.

My testing is being done on an arm 32 bit device so my patches work on top of the following ARM patch (https://code.google.com/p/address-sanitizer/issues/detail?id=294)

REFERENCE ISSUES:
Port LSan to arm https://code.google.com/p/address-sanitizer/issues/detail?id=294 Leak sanitizer support for Android on arm64 https://code.google.com/p/address-sanitizer/issues/detail?id=379
https://code.google.com/p/valgrind-variant/wiki/LeakCheckingOn32bits

Attachments:
        32bit.patch  10.8 KB

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google Groups 
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to