-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
Steps to Reproduce
- run an example
- stop with CTRL+C
- randomly the shutdown got an exception
Expected behaviour
Close the bot without exceptions
Actual behaviour
These exceptions is very similar to issue #1563 if I run the same code on python3.9 I got the exception described in #1563 while if I run on python3.11 sometime I got these exceptions:
Details
^CTraceback (most recent call last):
File "/usr/lib/python3/dist-packages/anyio/streams/tls.py", line 130, in _call_sslobject_method
result = func(*args)
^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 921, in read
v = self._sslobj.read(len)
^^^^^^^^^^^^^^^^^^^^^^
ssl.SSLWantReadError: The operation did not complete (read) (_ssl.c:2546)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/httpcore/backends/asyncio.py", line 34, in read
return await self._stream.receive(max_bytes=max_bytes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/anyio/streams/tls.py", line 195, in receive
data = await self._call_sslobject_method(self._ssl_object.read, max_bytes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/anyio/streams/tls.py", line 137, in _call_sslobject_method
data = await self.transport_stream.receive()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/anyio/_backends/_asyncio.py", line 1265, in receive
await self._protocol.read_event.wait()
File "/usr/lib/python3.11/asyncio/locks.py", line 213, in wait
await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/httpcore/_exceptions.py", line 10, in map_exceptions
yield
File "/usr/lib/python3/dist-packages/httpcore/backends/asyncio.py", line 32, in read
with anyio.fail_after(timeout):
File "/usr/lib/python3/dist-packages/anyio/_core/_tasks.py", line 118, in __exit__
raise TimeoutError
TimeoutError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/httpx/_transports/default.py", line 60, in map_httpcore_exceptions
yield
File "/usr/lib/python3/dist-packages/httpx/_transports/default.py", line 353, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request
raise exc
File "/usr/lib/python3/dist-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request
response = await connection.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpcore/_async/connection.py", line 90, in handle_async_request
return await self._connection.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpcore/_async/http11.py", line 112, in handle_async_request
raise exc
File "/usr/lib/python3/dist-packages/httpcore/_async/http11.py", line 91, in handle_async_request
) = await self._receive_response_headers(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpcore/_async/http11.py", line 155, in _receive_response_headers
event = await self._receive_event(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpcore/_async/http11.py", line 191, in _receive_event
data = await self._network_stream.read(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpcore/backends/asyncio.py", line 31, in read
with map_exceptions(exc_map):
File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/lib/python3/dist-packages/httpcore/_exceptions.py", line 14, in map_exceptions
raise to_exc(exc)
httpcore.ReadTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/request/_httpxrequest.py", line 219, in do_request
res = await self._client.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpx/_client.py", line 1533, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpx/_client.py", line 1620, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpx/_client.py", line 1648, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpx/_client.py", line 1685, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpx/_client.py", line 1722, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/httpx/_transports/default.py", line 352, in handle_async_request
with map_httpcore_exceptions():
File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/lib/python3/dist-packages/httpx/_transports/default.py", line 77, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ReadTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/john/test/./bot.py", line 98, in <module>
main()
File "/home/john/test/./bot.py", line 95, in main
app.run_polling()
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_application.py", line 765, in run_polling
return self.__run(
^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_application.py", line 963, in __run
loop.run_until_complete(self.updater.stop()) # type: ignore[union-attr]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_updater.py", line 752, in stop
await self._stop_polling()
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_updater.py", line 777, in _stop_polling
await self.__polling_cleanup_cb()
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_updater.py", line 381, in _get_updates_cleanup
await self.bot.get_updates(
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_extbot.py", line 553, in get_updates
updates = await super().get_updates(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/_bot.py", line 394, in decorator
result = await func(self, *args, **kwargs) # skipcq: PYL-E1102
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/_bot.py", line 3542, in get_updates
await self._post(
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/_bot.py", line 482, in _post
return await self._do_post(
^^^^^^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_extbot.py", line 335, in _do_post
return await super()._do_post(
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/_bot.py", line 510, in _do_post
return await request.post(
^^^^^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/request/_baserequest.py", line 168, in post
result = await self._request_wrapper(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/request/_baserequest.py", line 288, in _request_wrapper
raise exc
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/request/_baserequest.py", line 278, in _request_wrapper
code, payload = await self.do_request(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/request/_httpxrequest.py", line 236, in do_request
raise TimedOut from err
telegram.error.TimedOut: Timed out
Exception ignored in: <coroutine object Application._update_fetcher at 0x7f43eb05c400>
Traceback (most recent call last):
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_application.py", line 1101, in _update_fetcher
File "/usr/lib/python3.11/asyncio/queues.py", line 160, in get
File "/usr/lib/python3.11/asyncio/base_events.py", line 761, in call_soon
File "/usr/lib/python3.11/asyncio/base_events.py", line 519, in _check_closed
RuntimeError: Event loop is closedI think depends when I start the shutdown. Something is wrong in shutdown routine.
Operating System
Linux
Version of Python, python-telegram-bot & dependencies
python-telegram-bot 20.5
Bot API 6.8
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0]Relevant log output
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/request/_httpxrequest.py", line 236, in do_request
raise TimedOut from err
telegram.error.TimedOut: Timed out
Exception ignored in: <coroutine object Application._update_fetcher at 0x7f43eb05c400>
Traceback (most recent call last):
File "/home/john/test/.python3/local/lib/python3.11/dist-packages/telegram/ext/_application.py", line 1101, in _update_fetcherAdditional Context
Issue there is only on shutdown, is not a big problem, but is bad to see all those exceptions.
zoedberg
Metadata
Metadata
Assignees
Labels
No labels