Re: [DynInst_API:] building dyninst with -fsanitize-address


Date: Wed, 04 Mar 2020 13:09:08 -0600
From: Xiaozhu Meng <mxz297@xxxxxxxxx>
Subject: Re: [DynInst_API:] building dyninst with -fsanitize-address
Hi Stan,

Most of the listed locations are creating boost::shared_ptr objects. Does address sanitizer work well with Boost library?

Thanks,

âXiaozhu

> On Mar 4, 2020, at 12:58 PM, Stan Cox <scox@xxxxxxxxxx> wrote:
> 
> Anyone try running dyninst with the address sanitizer?  I built upstream sources with -fsanitize=address  -fsanitize=leak, ran the testsuite (partially, not completely), and massaged the output to give the following.
> 
> Direct leak of 40 byte(s) in 1 object(s) allocated from: InstructionDecoder-aarch64.C:2175
> Direct leak of 40 byte(s) in 1 object(s) allocated from: stl_list.h:1908
> Indirect leak of 56 byte(s) in 1 object(s) allocated from: InstructionDecoder-x86.C:181
> Direct leak of 88 byte(s) in 1 object(s) allocated from: InstructionDecoderImpl.C:115
> Direct leak of 176 byte(s) in 2 object(s) allocated from: InstructionDecoderImpl.C:103
> Direct leak of 176 byte(s) in 2 object(s) allocated from: InstructionDecoderImpl.C:109
> Direct leak of 264 byte(s) in 3 object(s) allocated from: Immediate.C:94
> Direct leak of 352 byte(s) in 4 object(s) allocated from: Immediate.C:115
> Indirect leak of 480 byte(s) in 10 object(s) allocated from: Instruction.C:634
> Indirect leak of 480 byte(s) in 20 object(s) allocated from: InstructionDecoderImpl.C:83
> Indirect leak of 480 byte(s) in 20 object(s) allocated from: shared_count.hpp:144
> Indirect leak of 480 byte(s) in 20 object(s) allocated from: shared_ptr.hpp:285
> Indirect leak of 480 byte(s) in 20 object(s) allocated from: shared_ptr.hpp:379
> Direct leak of 640 byte(s) in 16 object(s) allocated from: Immediate.C:44
> Direct leak of 1008 byte(s) in 18 object(s) allocated from: invoke.h:60
> Direct leak of 1008 byte(s) in 18 object(s) allocated from: invoke.h:95
> Direct leak of 1008 byte(s) in 18 object(s) allocated from: Operation.C:60
> Indirect leak of 1120 byte(s) in 28 object(s) allocated from: Instruction.C:623
> Indirect leak of 1120 byte(s) in 28 object(s) allocated from: stl_list.h:1208
> Direct leak of 1672 byte(s) in 19 object(s) allocated from: InstructionDecoderImpl.C:97
> Indirect leak of 1792 byte(s) in 56 object(s) allocated from: shared_count.hpp:181
> Indirect leak of 1792 byte(s) in 56 object(s) allocated from: shared_ptr.hpp:388
> Indirect leak of 1792 byte(s) in 56 object(s) allocated from: singleton_object_pool.h:75
> Indirect leak of 1920 byte(s) in 40 object(s) allocated from: alloc_traits.h:444
> Indirect leak of 1920 byte(s) in 40 object(s) allocated from: Instruction.C:628
> Indirect leak of 1920 byte(s) in 40 object(s) allocated from: stl_list.h:1213
> Indirect leak of 1920 byte(s) in 40 object(s) allocated from: stl_list.h:1907
> Indirect leak of 1920 byte(s) in 40 object(s) allocated from: stl_list.h:438
> Indirect leak of 1920 byte(s) in 40 object(s) allocated from: stl_list.h:630
> Indirect leak of 2128 byte(s) in 38 object(s) allocated from: InstructionDecoderImpl.C:136
> Indirect leak of 4880 byte(s) in 122 object(s) allocated from: InstructionDecoder-x86.C:1572
> Indirect leak of 5560 byte(s) in 139 object(s) allocated from: InstructionDecoder-x86.C:405
> Indirect leak of 8480 byte(s) in 212 object(s) allocated from: InstructionDecoder-x86.C:1605
> Indirect leak of 10040 byte(s) in 251 object(s) allocated from: InstructionDecoder-x86.C:419
> Indirect leak of 15664 byte(s) in 178 object(s) allocated from: InstructionDecoderImpl.C:85
> Direct leak of 15904 byte(s) in 284 object(s) allocated from: InstructionDecoderImpl.C:120
> Direct leak of 15904 byte(s) in 284 object(s) allocated from: singleton_object_pool.h:44
> Direct leak of 17864 byte(s) in 319 object(s) allocated from: InstructionDecoderImpl.C:144
> Direct leak of 30600 byte(s) in 765 object(s) allocated from: InstructionDecoder-x86.C:168
> Indirect leak of 32280 byte(s) in 807 object(s) allocated from: InstructionDecoder-x86.C:388
> Direct leak of 37968 byte(s) in 678 object(s) allocated from: InstructionDecoderImpl.C:128
> Direct leak of 37968 byte(s) in 678 object(s) allocated from: new_allocator.h:114
> Direct leak of 37968 byte(s) in 678 object(s) allocated from: singleton_object_pool.h:53
> Direct leak of 42840 byte(s) in 765 object(s) allocated from: InstructionDecoder-x86.C:169
> Indirect leak of 144760 byte(s) in 2585 object(s) allocated from: InstructionDecoder-x86.C:193
> Indirect leak of 189728 byte(s) in 2156 object(s) allocated from: InstructionDecoderImpl.C:91
> Indirect leak of 324160 byte(s) in 8104 object(s) allocated from: InstructionDecoder-x86.C:377
> Indirect leak of 2411200 byte(s) in 60280 object(s) allocated from: InstructionDecoder-x86.C:1143
> 
> _______________________________________________
> Dyninst-api mailing list
> Dyninst-api@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api


[← Prev in Thread] Current Thread [Next in Thread→]