If I want run asan test for an app process,like "com.android.settings", how to use this asanwrapper? And thanks for your patient.:)
在 2014年7月24日星期四UTC+8下午3时32分38秒,Evgeniy Stepanov写道: > > With asan_device_setup, app_process runs without /system/lib/asan and > therefore without any instrumented libraries. > To run other system services, you can use asanwrapper (add > LD_LIBRARY_PATH to the place where asan_device_setup generates it). > > > On Wed, Jul 23, 2014 at 8:44 PM, ji wang <[email protected] > <javascript:>> wrote: > > That's remind me of something, With the solution you offered in your > first > > reply: > > > > > >>Build both instrumented and > >>non-instrumented versions of libhwui.so, place first in > >>/system/lib/asan and the second in /system/lib. Add > >>LD_LIBRARY_PATH=/system/lib/ > >>asan to asan_wrapper. This way anything > >>started with asan_wrapper will prefer instrumented versions of > >>libraries in /system/lib/asan, and zygote will use the normal version > >>in /system/lib. > > > > a little confused ,that when we use asan_device_setup script for java > apps > > Asan using, this LD_LIBRARY_PATH setting will not helpful for the mem > cost > > problem, because we don't use asanwapper in this situation. > > And Of cource, I've read the asan_device_setup script, we changed the > > app_process to a script and use it to exec the real app_process, I think > > maybe we can add LD_LIBRARY_PATH to the app_process script we added, but > > still not helpful at all,all forked process will use instrumented > versions > > of libraries in /system/lib/asan, and consume all my memory. Am I right? > > In other way said, we must use asanwapper instead of asan_device_setup > > script for java apps, we must setprop.Right? > > > > > > > > > > 在 2014年7月23日星期三UTC+8下午7时23分38秒,Evgeniy Stepanov写道: > >> > >> Well, setprop approach is deprecated. With the new asan_device_setup > >> script, everything should work automatically, because asan runtime is > >> already loaded into zygote, and only activated when an instrumented > >> application is started. > >> > >> Modifying init.rc is really not that hard. There is an idea that I > >> always wanted to implement for ASan applications to re-exec themselves > >> if they are run with asanwrapper (i.e. without ASan runtime library in > >> LD_PRELOAD list). In that case ASan would add itself to LD_PRELOAD and > >> call exec() on itself. It would require changing ASan code. I would > >> not have time for this in the coming months. > >> > >> > >> On Thu, Jul 17, 2014 at 6:34 PM, ji wang <[email protected]> wrote: > >> > Hi, Evgeniy > >> > Thanks for your reply. And yes, the OOM issue happed with > instrumented > >> > libhwui.so. I understood why this memory consume so huge now. > >> > And with the solution u offred, not all process using the > instrumented > >> > libhwui.so, just the process u want to check using asan, this is > useful > >> > for > >> > Problem Two, but we still have Problem One:we must preload > >> > libasan_preload.so to the process first, the app process way to > achive > >> > this > >> > is "setprop wrap.com.android.appname "logwrapper asanwrapper"", the > >> > native > >> > procecess way to achive this is modify the init.rc file. and besides > >> > the > >> > property way for app will not work after reboot, must set it again. > Not > >> > easy > >> > to use. Does we have any solutions for this? Thank u very much. > >> > > >> > 在 2014年7月16日星期三UTC+8下午6时48分41秒,Evgeniy Stepanov写道: > >> >> > >> >> Does this out-of-memory issue happen with instrumented libhwui.so? > >> >> This has an easy explanation. ASan activates all of its > >> >> memory-consuming logic when the first instrumented library is loaded > >> >> into the process. If such library is loaded into zygote pre-fork, > all > >> >> java apps are running with ASan enabled, and consume all your > memory. > >> >> > >> >> There is something you can try. Build both instrumented and > >> >> non-instrumented versions of libhwui.so, place first in > >> >> /system/lib/asan and the second in /system/lib. Add > >> >> LD_LIBRARY_PATH=/system/lib/asan to asan_wrapper. This way anything > >> >> started with asan_wrapper will prefer instrumented versions of > >> >> libraries in /system/lib/asan, and zygote will use the normal > version > >> >> in /system/lib. > >> >> > >> >> > >> >> On Wed, Jul 16, 2014 at 2:00 PM, ji wang <[email protected]> > wrote: > >> >> > Hi, > >> >> > We now want use LLVM Asan to check some android libs like > libhwui.so, > >> >> > but > >> >> > found out is not very easy to use. Is there any way to solve this? > Or > >> >> > I > >> >> > use > >> >> > it the wrong way? > >> >> > The problem is we must preload libasan_preload.so before those > >> >> > checking > >> >> > lib > >> >> > initlized or used in some processes. For example, when we want > check > >> >> > libhwui.so,we must modify init.rc to use asanwrapper to load > >> >> > mediaserver > >> >> > process in order to preload libasan_preload.so , (and the same to > >> >> > app_process,of cource the asan_device_setup.sh already done the > >> >> > app_process > >> >> > part,) otherwise without this step android device will got boot > error > >> >> > failure.This will ask us have to know how many processes use this > >> >> > checking > >> >> > lib and what those processes are exactly! wow.. > >> >> > Besides, there is one more problem, when we use LLVM asan, after > use > >> >> > asan_device_setup.sh to install asan to our device, we didnot add > any > >> >> > libs > >> >> > or binary for check, but still got a huge memory cost after the > >> >> > device > >> >> > bootup, and for 1G ram android devices, we got boot failure, > becauce > >> >> > of > >> >> > the > >> >> > LMK kill launcher and some other app process for no memory lost! > >> >> > > >> >> > > >> >> > -- > >> >> > 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. > >> > > >> > -- > >> > 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. > > > > -- > > 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] <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > -- 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.
