From: David Marchand <david.marchand@redhat.com>
To: "Juan Pablo L." <jpablolorenzetti@hotmail.com>
Cc: "users@dpdk.org" <users@dpdk.org>,
"Burakov, Anatoly" <anatoly.burakov@intel.com>,
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>, dev <dev@dpdk.org>,
ci@dpdk.org
Subject: Re: dpdk address sanitizer
Date: Fri, 17 Jun 2022 07:45:33 +0200 [thread overview]
Message-ID: <CAJFAV8xMkHtQfeAX6HFBH+5Ddjnr_L-fmv0fUoM+i_fTLTnFDw@mail.gmail.com> (raw)
In-Reply-To: <AM0PR04MB66929C6A4ECBCAC57C8C9C87D9AF9@AM0PR04MB6692.eurprd04.prod.outlook.com>
Hello,
On Fri, Jun 17, 2022 at 6:08 AM Juan Pablo L.
<jpablolorenzetti@hotmail.com> wrote:
>
> Hello, I am new to dpdk ... i would like to trace memory usage and detect memory leaks, valgrind as well as address sanitizer (gcc) report some memory loss at application end. For the life of me, i cannot figure it out ... i just write a simple program that has the rte_eal_init + rte_eal_cleanup and i get the following error (also tried helloworld from examples, with same results):
>
> ==3399==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f6ca3efb480 at pc 0x7f6ca7162b61 bp 0x7f6ca3efb450 sp 0x7f6ca3efac00
> WRITE of size 24 at 0x7f6ca3efb480 thread T-1
> #0 0x7f6ca7162b60 in __interceptor_sigaltstack.part.0 (/lib64/libasan.so.8+0x61b60)
> #1 0x7f6ca71d9337 in __sanitizer::UnsetAlternateSignalStack() (/lib64/libasan.so.8+0xd8337)
> #2 0x7f6ca71c90f4 in __asan::AsanThread::Destroy() (/lib64/libasan.so.8+0xc80f4)
> #3 0x7f6ca679b000 in __GI___nptl_deallocate_tsd (/lib64/libc.so.6+0x8a000)
> #4 0x7f6ca679dc9d in start_thread (/lib64/libc.so.6+0x8cc9d)
> #5 0x7f6ca68235df in __GI___clone3 (/lib64/libc.so.6+0x1125df)
>
> Address 0x7f6ca3efb480 is a wild pointer inside of access range of size 0x000000000018.
> SUMMARY: AddressSanitizer: stack-buffer-overflow (/lib64/libasan.so.8+0x61b60) in __interceptor_sigaltstack.part.0
> Shadow bytes around the buggy address:
> 0x0fee147d7640: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00
> 0x0fee147d7650: 00 00 00 00 00 00 00 00 00 06 f2 f2 f2 f2 00 00
> 0x0fee147d7660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0x0fee147d7670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0x0fee147d7680: 00 00 00 00 00 00 00 00 00 00 00 04 f3 f3 f3 f3
> =>0x0fee147d7690:[f3]f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
> 0x0fee147d76a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0x0fee147d76b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0x0fee147d76c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0x0fee147d76d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0x0fee147d76e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> Shadow byte legend (one shadow byte represents 8 application bytes):
> Addressable: 00
> Partially addressable: 01 02 03 04 05 06 07
> Heap left redzone: fa
> Freed heap region: fd
> Stack left redzone: f1
> Stack mid redzone: f2
> Stack right redzone: f3
> Stack after return: f5
> Stack use after scope: f8
> Global redzone: f9
> Global init order: f6
> Poisoned by user: f7
> Container overflow: fc
> Array cookie: ac
> Intra object redzone: bb
> ASan internal: fe
> Left alloca redzone: ca
> Right alloca redzone: cb
> ==3399==ABORTING
>
> I am not sure what I m doing wrong but it is very frustrating. On top of that, I try other scenarios and see if I can just "ignore" that and still detect other memory leaks but it does not work. I get memory from rte_malloc and don't free it and I still get the above report only, I do not get any report from the memory I leaked intentionally ... no difference what so ever .... I tried the same with the helloworld example and I get the same results ....
I experienced the same issue recently on Fedora 36.
I did not investigate.
I think I waived this warning, by setting
ASAN_OPTIONS="use_sigaltstack=0" in the environment.
HTH.
--
David Marchand
next parent reply other threads:[~2022-06-17 5:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <AM0PR04MB66929C6A4ECBCAC57C8C9C87D9AF9@AM0PR04MB6692.eurprd04.prod.outlook.com>
2022-06-17 5:45 ` David Marchand [this message]
2022-06-17 16:17 ` Stephen Hemminger
2022-06-19 2:39 ` Juan Pablo L.
2022-06-17 21:24 ` Juan Pablo L.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJFAV8xMkHtQfeAX6HFBH+5Ddjnr_L-fmv0fUoM+i_fTLTnFDw@mail.gmail.com \
--to=david.marchand@redhat.com \
--cc=anatoly.burakov@intel.com \
--cc=ci@dpdk.org \
--cc=dev@dpdk.org \
--cc=dmitry.kozliuk@gmail.com \
--cc=jpablolorenzetti@hotmail.com \
--cc=users@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).