Open GoogleCodeExporter opened 9 years ago
Original comment by konstant...@gmail.com
on 6 Mar 2015 at 11:57
We don't have plans yet, but it's in our radar. We need to make ARM stable
runtime first.
Original comment by rengo...@gmail.com
on 7 Mar 2015 at 12:52
Thanks for the update. Do you have any recommendations in the short term? I
have tried using Valgrind for Android but the applications are practically slow
that its hard to execute any use case.
Original comment by vairav...@gmail.com
on 7 Mar 2015 at 2:45
There are several problems here, actually.
1. Make lsan work on AArch64 Linux. I don't know the status of this, but it
should be easy to accomplish.
2. Make lsan work on Android, x86_64 and AArch64.
>> Do you have any recommendations in the short term?
Nope. Unless of course you want to help us with the development. :( / :)
Original comment by konstant...@gmail.com
on 7 Mar 2015 at 2:52
Sure, i can give it a shot. Btw, android apps don't really have an exit unlike
a typical c program with a main. In c terms, android apps have a kind of an
infinite loop which doesn't quit. Would leak sanitizer still work in such cases?
Original comment by vairav...@gmail.com
on 7 Mar 2015 at 3:45
Right now we can call leak checking only once per process,
but this does not necessary has to be done at the very end.
From lsan_interface.h:
// Calling this function makes LSan enter the leak checking phase immediately.
// Use this if normal end-of-process leak checking happens too late (e.g. if
// you have intentional memory leaks in your shutdown code). Calling this
// function overrides end-of-process leak checking; it must be called at
// most once per process. This function will terminate the process if there
// are memory leaks and the exit_code flag is non-zero.
void __lsan_do_leak_check();
Original comment by konstant...@gmail.com
on 7 Mar 2015 at 5:36
For the record, I've recently added a new interface function which allows
multiple leak checks:
// Check for leaks now. Returns zero if no leaks have been found or if leak
// detection is disabled, non-zero otherwise.
// This function may be called repeatedly, e.g. to periodically check a
// long-running process. It prints a leak report if appropriate, but does not
// terminate the process. It does not affect the behavior of
// __lsan_do_leak_check() or the end-of-process leak check, and is not
// affected by them.
int __lsan_do_recoverable_leak_check();
> 1. Make lsan work on AArch64 Linux. I don't know the status of this, but it
should be easy to accomplish.
Recently this was done for MIPS. I invite you (vairavans) to take a look at
those patches to get an idea of the scope of work. Basically you will have to:
- port stoptheworld (reimplementing internal_clone() will probably be the bulk
of this),
- port the TLS discovery code,
- pick up a few platform-dependent bits and pieces in lsan_common.
Original comment by earth...@google.com
on 22 May 2015 at 3:20
Adding Project:AddressSanitizer as part of GitHub migration.
Original comment by ramosian.glider@gmail.com
on 30 Jul 2015 at 9:06
Original issue reported on code.google.com by
vairav...@gmail.com
on 6 Mar 2015 at 11:47