<div dir="ltr"><div>привет!</div><div><br></div><div>занимаюсь тестированием 3rd parties модулей.</div><div>один из вариантов тестирования - штатные тесты <a href="https://github.com/nginx/nginx-tests">https://github.com/nginx/nginx-tests</a></div><div><br></div><div>хотелось бы в том числе запускать их с ASAN.</div><div><br></div><div>но на nginx без модулей сейчас получается вот так (половина тестов разваливается)<br></div><div><br></div><div>==3669==ERROR: LeakSanitizer: detected memory leaks<br><br>Indirect leak of 221184 byte(s) in 3 object(s) allocated from:<br>    #0 0x5049a6 in __interceptor_malloc (/home/ilia/nginx-1.19.10/objs/nginx+0x5049a6)<br>    #1 0x5a11ff in ngx_alloc /home/ilia/nginx-1.19.10/src/os/unix/ngx_alloc.c:22:9<br>    #2 0x5b0104 in ngx_worker_process_init /home/ilia/nginx-1.19.10/src/os/unix/ngx_process_cycle.c:900:17<br>    #3 0x5af2c3 in ngx_worker_process_cycle /home/ilia/nginx-1.19.10/src/os/unix/ngx_process_cycle.c:704:5<br>    #4 0x5ad797 in ngx_start_worker_processes /home/ilia/nginx-1.19.10/src/os/unix/ngx_process_cycle.c:344:9<br>    #5 0x53866d in main /home/ilia/nginx-1.19.10/src/core/nginx.c:383:9<br>    #6 0x7f1ec30db554 in __libc_start_main (/lib64/libc.so.6+0x22554)<br><br>SUMMARY: AddressSanitizer: 221184 byte(s) leaked in 3 allocation(s).</div><div><br></div><div><br></div><div>скажите, у вас есть практика запуска с asan ?</div><div><br></div><div><br></div><div>воспроизвести ошибку выше можно примерно так (для CentOS 7)</div><div><br></div><div><br></div><div>    export NGINX_VERSION: 1.19.10<br><br>    yum install -q -y epel-release <br>    yum install -q -y centos-release-scl-rh<br>    yum install -q -y devtoolset-9-toolchain devtoolset-9-libasan-devel<br>    yum install -q -y which wget make gcc git openssl-devel<br>    yum install -q -y "perl(Test::More)" 'perl(IO::Socket::SSL)' 'perl(Net::SSLeay)' 'perl(Protocol::WebSocket)' 'perl(IO::Compress::Gzip)' 'perl(JSON::PP)'<br>    groupadd -r nginx<br>    useradd -r -g nginx -d /var/cache/nginx nginx<br>    usermod -o -u 0 nginx<br>    groupmod -o -g 0 nginx<br>    <br>    wget <a href="http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz">http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz</a><br>    tar xf nginx-${NGINX_VERSION}.tar.gz<br>    cd nginx-${NGINX_VERSION}<br>    . /opt/rh/devtoolset-9/enable<br>    ./configure --with-debug --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O1 -ggdb -fsanitize=address' --with-ld-opt='-fsanitize=address'<br>     make<br>     git clone <a href="https://github.com/nginx/nginx-tests">https://github.com/nginx/nginx-tests</a><br>     cd nginx-tests<br>     TEST_NGINX_BINARY=${CI_PROJECT_DIR}/nginx-${NGINX_VERSION}/objs/nginx prove .</div><div><br></div></div>