unit
unit copied to clipboard
test_access_log_keepalive - AssertionError: descriptors leak router
FYI, With git head as of commit fbeb2065b180e2376088387ee150d3975dc08cd5 the test_access_log_keepalive test fails with:
> assert fds_diff <= option.fds_threshold, f'descriptors leak {name}'
E AssertionError: descriptors leak router
E assert 4 <= 0
E + where 0 = <unit.option.Options object at 0x7f3d461fe710>.fds_threshold
test/conftest.py:541: AssertionError
Hi @gene-git! Thank you for the report, could you please tell more about environment where you reproduce this (OS, configure args, env variables, etc)? Also logs could be useful here. Currently, I cant see this fail on our VMs.
Right so sorry about that.
- tool versions
Archlinux
kernel : 6.7.4-stable
gcc: 13.2.1
gcc-libs: 13.2.1
pcre2: 10.42-2
python: 3.11.8
pytest: 7.4.4
openssl: 3.2.1
- package build environment
These are my env which override some of the default ones in /etc/makepkg.conf
MAKEFLAGS="-j4"
BUILDENV=(!distcc color !ccache check sign)
CFLAGS="-march=x86-64-v3 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection -std=gnu18"
_USER='unit'
_GROUP='unit'
- configure (inside PKGBUILD invoked via arch "makepkg")
./configure --prefix='/usr' \
--bindir='/usr/bin' \
--sbindir='/usr/bin' \
--libdir='/usr/lib' \
--modulesdir='/usr/lib/unit/modules' \
--localstatedir='/var' \
--statedir='/var/lib/unit' \
--runstatedir='/run/unit' \
--logdir='/var/log/unit' \
--openssl \
--tests \
--user="$_USER" \
--group="$_GROUP" \
--ld-opt='-Wl,-zrelro -Wl,-znow'
./configure python
- build
make all
- test
pytest
build log - I changed the build to not run all tests since only 1 failed. i.e. pytest -k 'test_access_log'
For completeness here is the archlinux default /etc/makepkg.conf file. Seems the build ignores LDFLAGS which is why I used ld-opt in configure.
FYI - tag 1.32.0 has few additional fails now - build log attached.
=========================== short test summary info ============================
FAILED test/test_tls.py::test_tls_certificate_chain - ssl.SSLCertVerification...
FAILED test/test_tls.py::test_tls_certificate_chain_long - ssl.SSLCertVerific...
FAILED test/test_tls_sni.py::test_tls_sni - ssl.SSLCertVerificationError: [SS...
FAILED test/test_tls_sni.py::test_tls_sni_no_hostname - ssl.SSLCertVerificati...
FAILED test/test_tls_sni.py::test_tls_sni_upper_case - ssl.SSLCertVerificatio...
FAILED test/test_tls_sni.py::test_tls_sni_only_bundle - ssl.SSLCertVerificati...
FAILED test/test_tls_sni.py::test_tls_sni_wildcard - ssl.SSLCertVerificationE...
FAILED test/test_tls_sni.py::test_tls_sni_duplicated_bundle - ssl.SSLCertVeri...
FAILED test/test_tls_sni.py::test_tls_sni_same_alt - ssl.SSLCertVerificationE...
FAILED test/test_tls_sni.py::test_tls_sni_empty_cn - ssl.SSLCertVerificationE...
ERROR test/test_access_log.py::test_access_log_pipeline - AssertionError: des...
= 10 failed, 510 passed, 354 skipped, 1 deselected, 1 error in 352.34s (0:05:52) =
==> ERROR: A failure occurred in check().
Aborting...
Hi,
TLS-related tests run on OpenSSL 3.2 should be fixed now: https://github.com/nginx/unit/pull/1215
Confirm the tls-related ones are fixed. Now only the test_access_log_keepalive remains. thanks!