Welcome! Log In Create A New Profile

Advanced

Re: запуск тестов https://github.com/nginx/nginx-tests с включенным ASAN (address sanitizer)

Maxim Dounin
April 20, 2021 09:34AM
Hello!

On Tue, Apr 20, 2021 at 04:43:58PM +0500, Илья Шипицин wrote:

> привет!
>
> занимаюсь тестированием 3rd parties модулей.
> один из вариантов тестирования - штатные тесты
> https://github.com/nginx/nginx-tests
>
> хотелось бы в том числе запускать их с ASAN.
>
> но на nginx без модулей сейчас получается вот так (половина тестов
> разваливается)
>
> ==3669==ERROR: LeakSanitizer: detected memory leaks
>
> Indirect leak of 221184 byte(s) in 3 object(s) allocated from:
> #0 0x5049a6 in __interceptor_malloc
> (/home/ilia/nginx-1.19.10/objs/nginx+0x5049a6)
> #1 0x5a11ff in ngx_alloc
> /home/ilia/nginx-1.19.10/src/os/unix/ngx_alloc.c:22:9
> #2 0x5b0104 in ngx_worker_process_init
> /home/ilia/nginx-1.19.10/src/os/unix/ngx_process_cycle.c:900:17
> #3 0x5af2c3 in ngx_worker_process_cycle
> /home/ilia/nginx-1.19.10/src/os/unix/ngx_process_cycle.c:704:5
> #4 0x5ad797 in ngx_start_worker_processes
> /home/ilia/nginx-1.19.10/src/os/unix/ngx_process_cycle.c:344:9
> #5 0x53866d in main /home/ilia/nginx-1.19.10/src/core/nginx.c:383:9
> #6 0x7f1ec30db554 in __libc_start_main (/lib64/libc.so.6+0x22554)
>
> SUMMARY: AddressSanitizer: 221184 byte(s) leaked in 3 allocation(s).
>
>
> скажите, у вас есть практика запуска с asan ?

Практика есть, но конкретно leak sanitizer бесполезен примерно
полностью: реальных утечек в nginx'е он не ловит, так как
используются pool allocator'ы, но при этом ругается на любыые
аллокации, не освобождённые явно перед выходом. Что делать всегда
не обязательно (при выходе процесса вся выделенная память
освобождается автоматически), а в некоторых случаях и вообще
невозможно (скажем, память, выделенную под какой-нибудь environ,
освобождать нельзя, она используется при выходе). Хорошее решение -
выключить leak sanitizer и забыть.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

запуск тестов https://github.com/nginx/nginx-tests с включенным ASAN (address sanitizer)

Илья Шипицин April 20, 2021 07:46AM

Re: запуск тестов https://github.com/nginx/nginx-tests с включенным ASAN (address sanitizer)

Sergey Kandaurov April 20, 2021 09:28AM

Re: запуск тестов https://github.com/nginx/nginx-tests с включенным ASAN (address sanitizer)

Maxim Dounin April 20, 2021 09:34AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 74
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready