Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unknown Crash #2159

Closed
GhostAndry opened this issue Aug 19, 2024 · 2 comments
Closed

Unknown Crash #2159

GhostAndry opened this issue Aug 19, 2024 · 2 comments
Labels
Bug Unexpected problem or unintended behavior that needs to be fixed

Comments

@GhostAndry
Copy link

System OS

Windows

Python Version

3.11 (CPython)

Install Source

GitHub

Install version / commit hash

4.2.5

Expected Behavior vs Actual Behavior

Expected:
Download this playlist as normal

Actual:
crashed

Steps to reproduce - Ensure to include actual links!

spotdl-4.2.5-win32.exe https://open.spotify.com/playlist/1urYCYIsS66wSxyZJwHodA

Traceback

spotdl-4.2.5-win32.exe https://open.spotify.com/playlist/1urYCYIsS66wSxyZJwHodA
Processing query: https://open.spotify.com/playlist/1urYCYIsS66wSxyZJwHodA
Max Retries reached

An error occurred
ResponseError: too many 429 error responses

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

┌─────────────────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ in send:486                                                                                                                                                                                                                              │
│                                                                                                                                                                                                                                          │
│ in urlopen:948                                                                                                                                                                                                                           │
│                                                                                                                                                                                                                                          │
│ in urlopen:948                                                                                                                                                                                                                           │
│                                                                                                                                                                                                                                          │
│ in urlopen:948                                                                                                                                                                                                                           │
│                                                                                                                                                                                                                                          │
│ in urlopen:938                                                                                                                                                                                                                           │
│                                                                                                                                                                                                                                          │
│ in increment:515                                                                                                                                                                                                                         │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
MaxRetryError: HTTPSConnectionPool(host='api.spotify.com', port=443): Max retries exceeded with url: /v1/playlists/1urYCYIsS66wSxyZJwHodA?additional_types=track (Caused by ResponseError('too many 429 error responses'))

During handling of the above exception, another exception occurred:

┌─────────────────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ in _internal_call:266                                                                                                                                                                                                                    │
│                                                                                                                                                                                                                                          │
│ in request:589                                                                                                                                                                                                                           │
│                                                                                                                                                                                                                                          │
│ in send:703                                                                                                                                                                                                                              │
│                                                                                                                                                                                                                                          │
│ in send:510                                                                                                                                                                                                                              │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
RetryError: HTTPSConnectionPool(host='api.spotify.com', port=443): Max retries exceeded with url: /v1/playlists/1urYCYIsS66wSxyZJwHodA?additional_types=track (Caused by ResponseError('too many 429 error responses'))

During handling of the above exception, another exception occurred:

┌─────────────────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ in console_entry_point:142                                                                                                                                                                                                               │
│                                                                                                                                                                                                                                          │
│ in download:25                                                                                                                                                                                                                           │
│                                                                                                                                                                                                                                          │
│ in get_simple_songs:260                                                                                                                                                                                                                  │
│                                                                                                                                                                                                                                          │
│ in from_url:306                                                                                                                                                                                                                          │
│                                                                                                                                                                                                                                          │
│ in get_metadata:48                                                                                                                                                                                                                       │
│                                                                                                                                                                                                                                          │
│ in playlist:651                                                                                                                                                                                                                          │
│                                                                                                                                                                                                                                          │
│ in _get:195                                                                                                                                                                                                                              │
│                                                                                                                                                                                                                                          │
│ in _internal_call:307                                                                                                                                                                                                                    │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
SpotifyException: http status: 429, code:-1 - /v1/playlists/1urYCYIsS66wSxyZJwHodA?additional_types=track:
 Max Retries, reason: too many 429 error responses

Other details

No response

@GhostAndry GhostAndry added the Bug Unexpected problem or unintended behavior that needs to be fixed label Aug 19, 2024
@GhostAndry GhostAndry changed the title Change this title, poorly formatted issues will not be handled Unknown Crash Aug 19, 2024
@xnetcat
Copy link
Member

xnetcat commented Aug 19, 2024

#2142

@xnetcat xnetcat closed this as not planned Won't fix, can't repro, duplicate, stale Aug 19, 2024
@GhostAndry
Copy link
Author

i tryed to use --user-auth

same error

C:\Users\andre\Desktop\Trap-Rap_Americana>spotdl https://open.spotify.com/playlist/1urYCYIsS66wSxyZJwHodA?si=16cb50e8a7dd452c --user-auth
Scanning for known songs, this might take a while...
Processing query: https://open.spotify.com/playlist/1urYCYIsS66wSxyZJwHodA?si=16cb50e8a7dd452c
Max Retries reached

An error occurred
ResponseError: too many 429 error responses

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

┌─────────────────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\adapters.py:667 in send                                                                                                                                │
│                                                                                                                                                                                                                                          │
│   664 │   │   │   timeout = TimeoutSauce(connect=timeout, read=timeout)                                                                                                                                                                  │
│   665 │   │                                                                                                                                                                                                                              │
│   666 │   │   try:                                                                                                                                                                                                                       │
│ > 667 │   │   │   resp = conn.urlopen(                                                                                                                                                                                                   │
│   668 │   │   │   │   method=request.method,                                                                                                                                                                                             │
│   669 │   │   │   │   url=url,                                                                                                                                                                                                           │
│   670 │   │   │   │   body=request.body,                                                                                                                                                                                                 │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py:944 in urlopen                                                                                                                        │
│                                                                                                                                                                                                                                          │
│    941 │   │   │   response.drain_conn()                                                                                                                                                                                                 │
│    942 │   │   │   retries.sleep(response)                                                                                                                                                                                               │
│    943 │   │   │   log.debug("Retry: %s", url)                                                                                                                                                                                           │
│ >  944 │   │   │   return self.urlopen(                                                                                                                                                                                                  │
│    945 │   │   │   │   method,                                                                                                                                                                                                           │
│    946 │   │   │   │   url,                                                                                                                                                                                                              │
│    947 │   │   │   │   body,                                                                                                                                                                                                             │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py:944 in urlopen                                                                                                                        │
│                                                                                                                                                                                                                                          │
│    941 │   │   │   response.drain_conn()                                                                                                                                                                                                 │
│    942 │   │   │   retries.sleep(response)                                                                                                                                                                                               │
│    943 │   │   │   log.debug("Retry: %s", url)                                                                                                                                                                                           │
│ >  944 │   │   │   return self.urlopen(                                                                                                                                                                                                  │
│    945 │   │   │   │   method,                                                                                                                                                                                                           │
│    946 │   │   │   │   url,                                                                                                                                                                                                              │
│    947 │   │   │   │   body,                                                                                                                                                                                                             │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py:944 in urlopen                                                                                                                        │
│                                                                                                                                                                                                                                          │
│    941 │   │   │   response.drain_conn()                                                                                                                                                                                                 │
│    942 │   │   │   retries.sleep(response)                                                                                                                                                                                               │
│    943 │   │   │   log.debug("Retry: %s", url)                                                                                                                                                                                           │
│ >  944 │   │   │   return self.urlopen(                                                                                                                                                                                                  │
│    945 │   │   │   │   method,                                                                                                                                                                                                           │
│    946 │   │   │   │   url,                                                                                                                                                                                                              │
│    947 │   │   │   │   body,                                                                                                                                                                                                             │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py:934 in urlopen                                                                                                                        │
│                                                                                                                                                                                                                                          │
│    931 │   │   has_retry_after = bool(response.headers.get("Retry-After"))                                                                                                                                                               │
│    932 │   │   if retries.is_retry(method, response.status, has_retry_after):                                                                                                                                                            │
│    933 │   │   │   try:                                                                                                                                                                                                                  │
│ >  934 │   │   │   │   retries = retries.increment(method, url, response=response, _pool=self)                                                                                                                                           │
│    935 │   │   │   except MaxRetryError:                                                                                                                                                                                                 │
│    936 │   │   │   │   if retries.raise_on_status:                                                                                                                                                                                       │
│    937 │   │   │   │   │   response.drain_conn()                                                                                                                                                                                         │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\retry.py:519 in increment                                                                                                                          │
│                                                                                                                                                                                                                                          │
│   516 │   │                                                                                                                                                                                                                              │
│   517 │   │   if new_retry.is_exhausted():                                                                                                                                                                                               │
│   518 │   │   │   reason = error or ResponseError(cause)                                                                                                                                                                                 │
│ > 519 │   │   │   raise MaxRetryError(_pool, url, reason) from reason  # type:                                                                                                                                                           │
│       ignore[arg-type]                                                                                                                                                                                                                   │
│   520 │   │                                                                                                                                                                                                                              │
│   521 │   │   log.debug("Incremented Retry for (url='%s'): %r", url, new_retry)                                                                                                                                                          │
│   522                                                                                                                                                                                                                                    │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
MaxRetryError: HTTPSConnectionPool(host='api.spotify.com', port=443): Max retries exceeded with url: /v1/playlists/1urYCYIsS66wSxyZJwHodA?additional_types=track (Caused by ResponseError('too many 429 error responses'))

During handling of the above exception, another exception occurred:

┌─────────────────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotipy\client.py:270 in _internal_call                                                                                                                         │
│                                                                                                                                                                                                                                          │
│    267 │   │   │   │   │    method, url, args.get("params"), headers, args.get('data'))                                                                                                                                                  │
│    268 │   │                                                                                                                                                                                                                             │
│    269 │   │   try:                                                                                                                                                                                                                      │
│ >  270 │   │   │   response = self._session.request(                                                                                                                                                                                     │
│    271 │   │   │   │   method, url, headers=headers, proxies=self.proxies,                                                                                                                                                               │
│    272 │   │   │   │   timeout=self.requests_timeout, **args                                                                                                                                                                             │
│    273 │   │   │   )                                                                                                                                                                                                                     │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\sessions.py:589 in request                                                                                                                             │
│                                                                                                                                                                                                                                          │
│   586 │   │   │   "allow_redirects": allow_redirects,                                                                                                                                                                                    │
│   587 │   │   }                                                                                                                                                                                                                          │
│   588 │   │   send_kwargs.update(settings)                                                                                                                                                                                               │
│ > 589 │   │   resp = self.send(prep, **send_kwargs)                                                                                                                                                                                      │
│   590 │   │                                                                                                                                                                                                                              │
│   591 │   │   return resp                                                                                                                                                                                                                │
│   592                                                                                                                                                                                                                                    │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\sessions.py:703 in send                                                                                                                                │
│                                                                                                                                                                                                                                          │
│   700 │   │   start = preferred_clock()                                                                                                                                                                                                  │
│   701 │   │                                                                                                                                                                                                                              │
│   702 │   │   # Send the request                                                                                                                                                                                                         │
│ > 703 │   │   r = adapter.send(request, **kwargs)                                                                                                                                                                                        │
│   704 │   │                                                                                                                                                                                                                              │
│   705 │   │   # Total elapsed time of the request (approximately)                                                                                                                                                                        │
│   706 │   │   elapsed = preferred_clock() - start                                                                                                                                                                                        │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\adapters.py:691 in send                                                                                                                                │
│                                                                                                                                                                                                                                          │
│   688 │   │   │   │   │   raise ConnectTimeout(e, request=request)                                                                                                                                                                       │
│   689 │   │   │                                                                                                                                                                                                                          │
│   690 │   │   │   if isinstance(e.reason, ResponseError):                                                                                                                                                                                │
│ > 691 │   │   │   │   raise RetryError(e, request=request)                                                                                                                                                                               │
│   692 │   │   │                                                                                                                                                                                                                          │
│   693 │   │   │   if isinstance(e.reason, _ProxyError):                                                                                                                                                                                  │
│   694 │   │   │   │   raise ProxyError(e, request=request)                                                                                                                                                                               │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
RetryError: HTTPSConnectionPool(host='api.spotify.com', port=443): Max retries exceeded with url: /v1/playlists/1urYCYIsS66wSxyZJwHodA?additional_types=track (Caused by ResponseError('too many 429 error responses'))

During handling of the above exception, another exception occurred:

┌─────────────────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotdl\console\entry_point.py:142 in console_entry_point                                                                                                        │
│                                                                                                                                                                                                                                          │
│   139 │   try:                                                                                                                                                                                                                           │
│   140 │   │   # Pick the operation to perform                                                                                                                                                                                            │
│   141 │   │   # based on the name and run it!                                                                                                                                                                                            │
│ > 142 │   │   OPERATIONS[arguments.operation](                                                                                                                                                                                           │
│   143 │   │   │   query=arguments.query,                                                                                                                                                                                                 │
│   144 │   │   │   downloader=downloader,                                                                                                                                                                                                 │
│   145 │   │   )                                                                                                                                                                                                                          │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotdl\console\download.py:25 in download                                                                                                                       │
│                                                                                                                                                                                                                                          │
│   22 │   """                                                                                                                                                                                                                             │
│   23 │                                                                                                                                                                                                                                   │
│   24 │   # Parse the query                                                                                                                                                                                                               │
│ > 25 │   songs = get_simple_songs(                                                                                                                                                                                                       │
│   26 │   │   query,                                                                                                                                                                                                                      │
│   27 │   │   use_ytm_data=downloader.settings["ytm_data"],                                                                                                                                                                               │
│   28 │   │   playlist_numbering=downloader.settings["playlist_numbering"],                                                                                                                                                               │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotdl\utils\search.py:260 in get_simple_songs                                                                                                                  │
│                                                                                                                                                                                                                                          │
│   257 │   │   │   )                                                                                                                                                                                                                      │
│   258 │   │   │   songs.extend(full_lists)                                                                                                                                                                                               │
│   259 │   │   elif "open.spotify.com" in request and "playlist" in request:                                                                                                                                                              │
│ > 260 │   │   │   lists.append(Playlist.from_url(request, fetch_songs=False))                                                                                                                                                            │
│   261 │   │   elif "open.spotify.com" in request and "album" in request:                                                                                                                                                                 │
│   262 │   │   │   lists.append(Album.from_url(request, fetch_songs=False))                                                                                                                                                               │
│   263 │   │   elif "open.spotify.com" in request and "artist" in request:                                                                                                                                                                │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotdl\types\song.py:306 in from_url                                                                                                                            │
│                                                                                                                                                                                                                                          │
│   303 │   │   - The SongList object.                                                                                                                                                                                                     │
│   304 │   │   """                                                                                                                                                                                                                        │
│   305 │   │                                                                                                                                                                                                                              │
│ > 306 │   │   metadata, songs = cls.get_metadata(url)                                                                                                                                                                                    │
│   307 │   │   urls = [song.url for song in songs]                                                                                                                                                                                        │
│   308 │   │                                                                                                                                                                                                                              │
│   309 │   │   if fetch_songs:                                                                                                                                                                                                            │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotdl\types\playlist.py:48 in get_metadata                                                                                                                     │
│                                                                                                                                                                                                                                          │
│    45 │   │                                                                                                                                                                                                                              │
│    46 │   │   spotify_client = SpotifyClient()                                                                                                                                                                                           │
│    47 │   │                                                                                                                                                                                                                              │
│ >  48 │   │   playlist = spotify_client.playlist(url)                                                                                                                                                                                    │
│    49 │   │   if playlist is None:                                                                                                                                                                                                       │
│    50 │   │   │   raise PlaylistError("Invalid playlist URL.")                                                                                                                                                                           │
│    51                                                                                                                                                                                                                                    │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotipy\client.py:666 in playlist                                                                                                                               │
│                                                                                                                                                                                                                                          │
│    663 │   │   │   │   │   │   │   │   │    valid types are: track and episode                                                                                                                                                           │
│    664 │   │   """                                                                                                                                                                                                                       │
│    665 │   │   plid = self._get_id("playlist", playlist_id)                                                                                                                                                                              │
│ >  666 │   │   return self._get(                                                                                                                                                                                                         │
│    667 │   │   │   f"playlists/{plid}",                                                                                                                                                                                                  │
│    668 │   │   │   fields=fields,                                                                                                                                                                                                        │
│    669 │   │   │   market=market,                                                                                                                                                                                                        │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotdl\utils\spotify.py:195 in _get                                                                                                                             │
│                                                                                                                                                                                                                                          │
│   192 │   │   retries = self.max_retries  # type: ignore # pylint: disable=E1101                                                                                                                                                         │
│   193 │   │   while response is None:                                                                                                                                                                                                    │
│   194 │   │   │   try:                                                                                                                                                                                                                   │
│ > 195 │   │   │   │   response = self._internal_call("GET", url, payload, kwargs)                                                                                                                                                        │
│   196 │   │   │   except (requests.exceptions.Timeout, requests.ConnectionError) as exc:                                                                                                                                                 │
│   197 │   │   │   │   retries -= 1                                                                                                                                                                                                       │
│   198 │   │   │   │   if retries <= 0:                                                                                                                                                                                                   │
│                                                                                                                                                                                                                                          │
│ C:\Users\andre\AppData\Local\Programs\Python\Python312\Lib\site-packages\spotipy\client.py:311 in _internal_call                                                                                                                         │
│                                                                                                                                                                                                                                          │
│    308 │   │   │   │   reason = retry_error.args[0].reason                                                                                                                                                                               │
│    309 │   │   │   except (IndexError, AttributeError):                                                                                                                                                                                  │
│    310 │   │   │   │   reason = None                                                                                                                                                                                                     │
│ >  311 │   │   │   raise SpotifyException(                                                                                                                                                                                               │
│    312 │   │   │   │   429,                                                                                                                                                                                                              │
│    313 │   │   │   │   -1,                                                                                                                                                                                                               │
│    314 │   │   │   │   f"{request.path_url}:\n Max Retries",                                                                                                                                                                             │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
SpotifyException: http status: 429, code:-1 - /v1/playlists/1urYCYIsS66wSxyZJwHodA?additional_types=track:
 Max Retries, reason: too many 429 error responses

C:\Users\andre\Desktop\Trap-Rap_Americana>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Unexpected problem or unintended behavior that needs to be fixed
Projects
None yet
Development

No branches or pull requests

2 participants