spaam / svtplay-dl

Small command-line program to download videos from some streaming sites.
https://svtplay-dl.se
MIT License
724 stars 122 forks source link

Crash: Incomplete read #1658

Open DendrocoposMajor opened 2 days ago

DendrocoposMajor commented 2 days ago

svtplay-dl versions:

4.101

Operating system and Python version:

Linux xxxx 6.11.5-amd64 https://github.com/spaam/svtplay-dl/issues/1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1 (2024-10-27) x86_64 GNU/Linux (Debian Testing) Python 3.12.7+ Name and version of the operating system and python version (run python --version) Debian Testing

What is the issue:

Crash..

Copied from the terminal:

INFO: Episode 49 of 110 INFO: Url: https://pluto.tv/se/on-demand/series/61bc89280a7fe8001a07a2f1/season/3/episode/61bc894c0a7fe8001a07b26f INFO: Outfile: andromeda.s03.den.ensamma.och.jamna.sanden-plutotv.ts INFO: Selected to download hls, bitrate: 3321 format: h264 [330/518][=========================================================.................................] ETA: 0:00:13Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/response.py", line 710, in _error_catcher yield File "/usr/lib/python3/dist-packages/urllib3/response.py", line 835, in _raw_read raise IncompleteRead(self._fp_bytes_read, self.length_remaining) urllib3.exceptions.IncompleteRead: IncompleteRead(523784 bytes read, 981352 more expected)

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/models.py", line 820, in generate yield from self.raw.stream(chunk_size, decode_content=True) File "/usr/lib/python3/dist-packages/urllib3/response.py", line 936, in stream data = self.read(amt=amt, decode_content=decode_content) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/response.py", line 907, in read data = self._raw_read(amt) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/response.py", line 813, in _raw_read with self._error_catcher(): ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/contextlib.py", line 158, in exit self.gen.throw(value) File "/usr/lib/python3/dist-packages/urllib3/response.py", line 727, in _error_catcher raise ProtocolError(f"Connection broken: {e!r}", e) from e urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(523784 bytes read, 981352 more expected)', IncompleteRead(523784 bytes read, 981352 more expected))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/bin/svtplay-dl", line 11, in load_entry_point('svtplay-dl==4.101+0.gace235c.dirty', 'console_scripts', 'svtplay-dl')() File "/usr/lib/python3/dist-packages/svtplay_dl/init.py", line 69, in main get_media(urls[0], config, version) File "/usr/lib/python3/dist-packages/svtplay_dl/utils/getmedia.py", line 61, in get_media get_all_episodes(stream, url, options) File "/usr/lib/python3/dist-packages/svtplay_dl/utils/getmedia.py", line 93, in get_all_episodes get_one_media(substream) File "/usr/lib/python3/dist-packages/svtplay_dl/utils/getmedia.py", line 202, in get_one_media fstream.download() File "/usr/lib/python3/dist-packages/svtplay_dl/fetcher/hls.py", line 266, in download self._download(self.url) File "/usr/lib/python3/dist-packages/svtplay_dl/fetcher/hls.py", line 312, in _download resb = self.http.request("get", item, cookies=cookies, headers=headers) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/svtplay_dl/utils/http.py", line 48, in request res = Session.request(self, method, url, verify=self.verify, proxies=self.proxy, *args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, send_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 746, in send r.content File "/usr/lib/python3/dist-packages/requests/models.py", line 902, in content self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b"" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 822, in generate raise ChunkedEncodingError(e) requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(523784 bytes read, 981352 more expected)', IncompleteRead(523784 bytes read, 981352 more expected))

Always include the URL you want to download and all switches you are using. You should also add --verbose because it makes it much easier for use to find the issue :)

spaam commented 2 days ago

this is not really a svtplay-dl issue. it looks like your connection is bad

DendrocoposMajor commented 2 days ago

Interesting. Time to consult the networking logs then. Thanks!

spaam commented 2 days ago

it seems to be a two part issue. one with the connection broke and the library i use to fetch http request dont handle it. so 🤷