Commit 979d871
authored
[asan] suppress the static variable leaks (#2354)
Currently, ASAN sometimes reports the BufferOrch::m_buffer_type_maps and QosOrch::m_qos_maps as leaked. However, their lifetime is the lifetime of a process so they are not really 'leaked'.
This also adds a simple way to add more suppressions later if required.
Example of ASAN report:
Direct leak of 48 byte(s) in 1 object(s) allocated from:
#0 0x7f96aa952d30 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xead30)
Azure#1 0x55ca1da9f789 in __static_initialization_and_destruction_0 /__w/2/s/orchagent/bufferorch.cpp:39
Azure#2 0x55ca1daa02af in _GLOBAL__sub_I_bufferorch.cpp /__w/2/s/orchagent/bufferorch.cpp:1321
Azure#3 0x55ca1e2a9cd4 (/usr/bin/orchagent+0xe89cd4)
Direct leak of 48 byte(s) in 1 object(s) allocated from:
#0 0x7f96aa952d30 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xead30)
Azure#1 0x55ca1da6d2da in __static_initialization_and_destruction_0 /__w/2/s/orchagent/qosorch.cpp:80
Azure#2 0x55ca1da6ecf2 in _GLOBAL__sub_I_qosorch.cpp /__w/2/s/orchagent/qosorch.cpp:2000
Azure#3 0x55ca1e2a9cd4 (/usr/bin/orchagent+0xe89cd4)
- What I did
Added an lsan suppression config with static variable leak suppression
- Why I did it
To suppress ASAN false positives
- How I verified it
Run a test that produces the static variable leaks report and checked that report has these leaks suppressed.
Signed-off-by: Yakiv Huryk <[email protected]>1 parent 5043701 commit 979d871
1 file changed
+6
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
7 | 13 | | |
8 | 14 | | |
9 | 15 | | |
| |||
0 commit comments