[issue44359] test_ftplib.test_makeport() fails as "env changes" if a socket operation times out in a thread: TimeoutError is not catched
STINNER Victor
report at bugs.python.org
Tue Oct 12 17:40:19 EDT 2021
STINNER Victor <vstinner at python.org> added the comment:
I reproduced manually the issue. test_makeport() can trigger the "Uncaught thread exception: Exception".
test_makeport (test.test_ftplib.TestTLS_FTPClassMixin) ...
Warning -- Uncaught thread exception: Exception
Exception in thread Thread-67:
Traceback (most recent call last):
File "/home/vstinner/python/main/Lib/asyncore.py", line 90, in read
obj.handle_read_event()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vstinner/python/main/Lib/test/test_ftplib.py", line 384, in handle_read_event
self._do_ssl_handshake()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vstinner/python/main/Lib/test/test_ftplib.py", line 345, in _do_ssl_handshake
self.socket.do_handshake()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vstinner/python/main/Lib/ssl.py", line 1346, in do_handshake
self._sslobj.do_handshake()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:998)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/vstinner/python/main/Lib/threading.py", line 1031, in _bootstrap_inner
self.run()
^^^^^^^^^^
File "/home/vstinner/python/main/Lib/test/test_ftplib.py", line 298, in run
asyncore.loop(timeout=0.1, count=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vstinner/python/main/Lib/asyncore.py", line 214, in loop
poll_fun(timeout, map)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/vstinner/python/main/Lib/asyncore.py", line 157, in poll
read(obj)
^^^^^^^^^
File "/home/vstinner/python/main/Lib/asyncore.py", line 94, in read
obj.handle_error()
^^^^^^^^^^^^^^^^^^
File "/home/vstinner/python/main/Lib/test/test_ftplib.py", line 421, in handle_error
raise Exception
^^^^^^^^^^^^^^^
Exception
ok
----------
title: test_ftplib fails as "env changes" if a socket operation times out in a thread: TimeoutError is not catched -> test_ftplib.test_makeport() fails as "env changes" if a socket operation times out in a thread: TimeoutError is not catched
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44359>
_______________________________________
More information about the Python-bugs-list
mailing list