Open TomCasavant opened 5 months ago
That's quite weird. I can't repro it, either. Maybe some residual six weirdness. We're going to be removing that, so maybe in the newest version it will be fixed. Once that's out, maybe you can give it another shot?
I wasn't able to consistently reproduce it at the time but I'll give it a shot with the new version
Good morning,
I was able to reproduce it (in fact, I am receiving this error quite often). I am listening the stream_user
endpoint and the server gets timed out. Then apparently six
wants to complain and there we go.
Full traceback:
Traceback (most recent call last):
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/urllib3/response.py", line 737, in _error_catcher
yield
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/urllib3/response.py", line 1184, in read_chunked
self._update_chunk_length()
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/urllib3/response.py", line 1108, in _update_chunk_length
line = self._fp.fp.readline() # type: ignore[union-attr]
File "/usr/lib/python3.9/socket.py", line 704, in readinto
return self._sock.recv_into(b)
File "/usr/lib/python3.9/ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "/usr/lib/python3.9/ssl.py", line 1099, in read
return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/requests/models.py", line 816, in generate
yield from self.raw.stream(chunk_size, decode_content=True)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/urllib3/response.py", line 1040, in stream
yield from self.read_chunked(amt, decode_content=decode_content)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/urllib3/response.py", line 1213, in read_chunked
self._original_response.close()
File "/usr/lib/python3.9/contextlib.py", line 135, in __exit__
self.gen.throw(type, value, traceback)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/urllib3/response.py", line 742, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.") from e # type: ignore[arg-type]
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='**********', port=443): Read timed out.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/mastodon/streaming.py", line 109, in handle_stream
for chunk in response.iter_content(chunk_size=1):
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/requests/models.py", line 822, in generate
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='**********'', port=443): Read timed out.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/xavier/bots/feeder/mastofeed/runners/listener.py", line 33, in run
mastodon_instance.stream_user(mention_listener)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/decorator.py", line 232, in fun
return caller(func, *(extras + args), **kw)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/mastodon/utility.py", line 49, in wrapper
return function(self, *args, **kwargs)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/mastodon/streaming_endpoints.py", line 21, in stream_user
return self.__stream('/api/v1/streaming/user', listener, run_async=run_async, timeout=timeout, reconnect_async=reconnect_async, reconnect_async_wait_sec=reconnect_async_wait_sec)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/mastodon/internals.py", line 540, in __stream
listener.handle_stream(r)
File "/home/xavier/.cache/pypoetry/virtualenvs/mastofeed-XHz1mY8R-py3.9/lib/python3.9/site-packages/mastodon/streaming.py", line 151, in handle_stream
six.raise_from(
File "<string>", line 3, in raise_from
TypeError: exceptions must derive from BaseException
This error popped up after the streaming api timed out
just from glancing at mastodon/streaming.py it looks like the error it's throwing does derive from Exception so I'm not sure what would cause this