Source: python-eventlet
Version: 0.36.1-11
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20250106 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> =================================== FAILURES 
> ===================================
> ____________________________ SSLTest.test_ssl_close 
> ____________________________
> [gw6] linux -- Python 3.13.1 /usr/bin/python3.13
> 
> self = <tests.ssl_test.SSLTest testMethod=test_ssl_close>
> 
>     def test_ssl_close(self):
>         def serve(listener):
>             sock, addr = listener.accept()
>             sock.recv(8192)
>             try:
>                 self.assertEqual(b'', sock.recv(8192))
>             except greenio.SSL.ZeroReturnError:
>                 pass
>     
>         sock = listen_ssl_socket()
>     
>         server_coro = eventlet.spawn(serve, sock)
>     
>         raw_client = eventlet.connect(sock.getsockname())
>         client = ssl.wrap_socket(raw_client)
>         client.sendall(b'X')
>         greenio.shutdown_safe(client)
>         client.close()
> >       server_coro.wait()
> 
> tests/ssl_test.py:95: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> eventlet/greenthread.py:225: in wait
>     return self._exit_event.wait()
> eventlet/event.py:124: in wait
>     result = hub.switch()
> eventlet/hubs/hub.py:310: in switch
>     return self.greenlet.switch()
> eventlet/greenthread.py:265: in main
>     result = function(*args, **kwargs)
> tests/ssl_test.py:82: in serve
>     self.assertEqual(b'', sock.recv(8192))
> eventlet/green/ssl.py:255: in recv
>     return self._base_recv(buflen, flags, into=False)
> eventlet/green/ssl.py:282: in _base_recv
>     read = self.read(nbytes)
> eventlet/green/ssl.py:196: in read
>     return self._call_trampolining(
> eventlet/green/ssl.py:166: in _call_trampolining
>     return func(*a, **kw)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <eventlet.green.ssl.GreenSSLSocket fd=16, family=2, type=1, proto=0, 
> laddr=('127.0.0.1', 52657)>
> len = 8192, buffer = None
> 
>     def read(self, len=1024, buffer=None):
>         """Read up to LEN bytes and return them.
>         Return zero-length string on EOF."""
>     
>         self._checkClosed()
>         if self._sslobj is None:
>             raise ValueError("Read on closed or unwrapped SSL socket.")
>         try:
>             if buffer is not None:
>                 return self._sslobj.read(len, buffer)
>             else:
> >               return self._sslobj.read(len)
> E               BrokenPipeError: [Errno 32] Broken pipe
> 
> /usr/lib/python3.13/ssl.py:1140: BrokenPipeError
> ----------------------------- Captured stderr call 
> -----------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/eventlet/hubs/poll.py", line 111, in wait
>     listener.cb(fileno)
>     ~~~~~~~~~~~^^^^^^^^
>   File "/<<PKGBUILDDIR>>/eventlet/greenthread.py", line 265, in main
>     result = function(*args, **kwargs)
>   File "/<<PKGBUILDDIR>>/tests/ssl_test.py", line 82, in serve
>     self.assertEqual(b'', sock.recv(8192))
>                           ~~~~~~~~~^^^^^^
>   File "/<<PKGBUILDDIR>>/eventlet/green/ssl.py", line 255, in recv
>     return self._base_recv(buflen, flags, into=False)
>            ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/eventlet/green/ssl.py", line 282, in _base_recv
>     read = self.read(nbytes)
>   File "/<<PKGBUILDDIR>>/eventlet/green/ssl.py", line 196, in read
>     return self._call_trampolining(
>            ~~~~~~~~~~~~~~~~~~~~~~~^
>         super().read, len, buffer)
>         ^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/eventlet/green/ssl.py", line 166, in 
> _call_trampolining
>     return func(*a, **kw)
>   File "/usr/lib/python3.13/ssl.py", line 1140, in read
>     return self._sslobj.read(len)
>            ~~~~~~~~~~~~~~~~~^^^^^
> BrokenPipeError: [Errno 32] Broken pipe
> Removing descriptor: 16
> =============================== warnings summary 
> ===============================
> tests/api_test.py: 2 warnings
> tests/greenio_test.py: 1 warning
> tests/convenience_test.py: 2 warnings
> tests/ssl_test.py: 26 warnings
> tests/websocket_test.py: 2 warnings
> tests/wsgi_test.py: 9 warnings
>   /<<PKGBUILDDIR>>/eventlet/green/ssl.py:97: DeprecationWarning: 
> ssl.PROTOCOL_TLS is deprecated
>     context = _original_sslcontext(protocol=ssl_version)
> 
> tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect
> tests/backdoor_test.py::BackdoorTest::test_server
> tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket
>   /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: 
> PytestUnraisableExceptionWarning: Exception ignored in: <_io.TextIOWrapper 
> mode='rw' encoding='UTF-8'>
>   
>   Traceback (most recent call last):
>     File "/usr/lib/python3.13/socket.py", line 737, in write
>       return self._sock.send(b)
>              ~~~~~~~~~~~~~~~^^^
>     File "/<<PKGBUILDDIR>>/eventlet/greenio/base.py", line 383, in send
>       return self._send_loop(self.fd.send, data, flags)
>              ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     File "/<<PKGBUILDDIR>>/eventlet/greenio/base.py", line 370, in _send_loop
>       return send_method(data, *args)
>   BrokenPipeError: [Errno 32] Broken pipe
>   
>   During handling of the above exception, another exception occurred:
>   
>   Traceback (most recent call last):
>     File "/usr/lib/python3.13/socket.py", line 737, in write
>       return self._sock.send(b)
>              ~~~~~~~~~~~~~~~^^^
>     File "/<<PKGBUILDDIR>>/eventlet/greenio/base.py", line 383, in send
>       return self._send_loop(self.fd.send, data, flags)
>              ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     File "/<<PKGBUILDDIR>>/eventlet/greenio/base.py", line 370, in _send_loop
>       return send_method(data, *args)
>   BrokenPipeError: [Errno 32] Broken pipe
>   
>     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> 
> tests/not_asyncio_test.py::test_spawn_from_coroutine_errors
>   /<<PKGBUILDDIR>>/tests/not_asyncio_test.py:22: RuntimeWarning: coroutine 
> 'test_spawn_from_coroutine_errors.<locals>.go' was never awaited
>     with pytest.raises(RuntimeError):
>   Enable tracemalloc to get traceback where the object was allocated.
>   See 
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
>  for more info.
> 
> tests/openssl_test.py::test_import
>   /<<PKGBUILDDIR>>/eventlet/green/OpenSSL/crypto.py:1: DeprecationWarning: 
> X509Extension support in pyOpenSSL is deprecated. You should use the APIs in 
> cryptography.
>     from OpenSSL.crypto import *
> 
> tests/openssl_test.py::test_import
> tests/openssl_test.py::test_import
> tests/openssl_test.py::test_import
>   /<<PKGBUILDDIR>>/eventlet/green/OpenSSL/crypto.py:1: DeprecationWarning: 
> CSR support in pyOpenSSL is deprecated. You should use the APIs in 
> cryptography.
>     from OpenSSL.crypto import *
> 
> tests/openssl_test.py::test_import
>   /<<PKGBUILDDIR>>/eventlet/green/OpenSSL/crypto.py:1: DeprecationWarning: 
> get_elliptic_curve is deprecated. You should use the APIs in cryptography 
> instead.
>     from OpenSSL.crypto import *
> 
> tests/openssl_test.py::test_import
>   /<<PKGBUILDDIR>>/eventlet/green/OpenSSL/crypto.py:1: DeprecationWarning: 
> get_elliptic_curves is deprecated. You should use the APIs in cryptography 
> instead.
>     from OpenSSL.crypto import *
> 
> tests/ssl_test.py::SSLTest::test_context_wrapped_accept
>   /<<PKGBUILDDIR>>/tests/ssl_test.py:332: DeprecationWarning: 
> ssl.PROTOCOL_TLS is deprecated
>     context = ssl.SSLContext(ssl.PROTOCOL_TLS)
> 
> tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror
>   /<<PKGBUILDDIR>>/eventlet/green/ssl.py:97: DeprecationWarning: 
> ssl.PROTOCOL_TLSv1_2 is deprecated
>     context = _original_sslcontext(protocol=ssl_version)
> 
> tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization
>   /<<PKGBUILDDIR>>/eventlet/greenthread.py:265: DeprecationWarning: 
> capitalize_response_headers is disabled.
>    Please, make sure you know what you are doing.
>    HTTP headers names are case-insensitive per RFC standard.
>    Most likely, you need to fix HTTP parsing in your client software.
>     result = function(*args, **kwargs)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED tests/ssl_test.py::SSLTest::test_ssl_close - BrokenPipeError: [Errno 
> 3...
> =========== 1 failed, 623 passed, 89 skipped, 55 warnings in 16.76s 
> ============
> make[1]: *** [debian/rules:52: override_dh_auto_test] Error 1


The full build log is available from:
http://qa-logs.debian.net/2025/01/06/python-eventlet_0.36.1-11_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250106;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250106&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to