Package: python3-eventlet Version: 0.26.1-7 Severity: important Dear Maintainer,
Trying to run mapproxy within gunicorn on bullseye (using eventlet workers), i faced DNS issues inside mapproxy, leading to errors like WARNING - mapproxy.source.wms - could not retrieve WMS map: No response from URL "http://ids:9280/wxs/pci/wms?layers=cadastre_2021&transparent=True&format=image%2Fpng&bbox=784853.4374968336,6463266.770836733,786573.2291634664,6464986.562503366&width=1300&height=1300&srs=EPSG%3A2154&request=GetMap&version=1.1.1&service=WMS&styles=": Lookup timed out this shows that the complete stack is hitting an error message from greendns (https://github.com/eventlet/eventlet/blob/v0.26.1/eventlet/support/greendns.py#L80), which is monkeypatching the default socket python module. looking on the interwebs, i found out https://github.com/eventlet/eventlet/issues/629 which is supposedly already fixed in the debian stable package by https://sources.debian.org/patches/python-eventlet/0.26.1-7/Replace-dnspython-_compute_expiration-by-_compute_times.patch/ but in my experience the bug isnt completely fixed, because a simple reproducer (as seen on https://github.com/eventlet/eventlet/issues/629#issuecomment-666549015) still fails on bullseye: [30/11 11:32] [email protected]:/tmp $cat testdnspy.py import eventlet.support.greendns as gd p = gd.ResolverProxy() try: a = p.query('www.dnspython.org') print(a.rrset) except Exception as e: print('bad', e) [30/11 11:40] [email protected]:/tmp $dpkg -l |egrep '(dnsp|eventl|monoto)' ii python3-dnspython 2.0.0-1 all DNS toolkit for Python 3 ii python3-eventlet 0.26.1-7 all concurrent networking library ii python3-monotonic 1.5-3 all implementation of time.monotonic() - Python 3.x [30/11 11:49] [email protected]:/tmp $python3 testdnspy.py bad The DNS operation timed out after 5.105822324752808 seconds using pip to test working envs on another system, eventlet-0.32.0+dnspython-2.0.0 and dnspython-1.16.0+eventlet-0.26.1 both work with the test code: [11:36] daytona:/tmp/ $test/bin/python3 testdnspy.py dmfrjf4ips8xa.cloudfront.net. 60 IN A 52.222.149.64 dmfrjf4ips8xa.cloudfront.net. 60 IN A 52.222.149.128 dmfrjf4ips8xa.cloudfront.net. 60 IN A 52.222.149.51 dmfrjf4ips8xa.cloudfront.net. 60 IN A 52.222.149.55 maybe more bits from https://github.com/eventlet/eventlet/pull/722 should be backported ? -- System Information: Debian Release: 11.1 APT prefers stable-security APT policy: (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-10-amd64 (SMP w/40 CPU threads) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) Versions of packages python3-eventlet depends on: ii netbase 6.3 ii python3 3.9.2-3 pn python3-dnspython <none> pn python3-greenlet <none> pn python3-monotonic <none> ii python3-six 1.16.0-2 python3-eventlet recommends no packages. Versions of packages python3-eventlet suggests: pn python-eventlet-doc <none>

