-
Notifications
You must be signed in to change notification settings - Fork 111
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
Unhandled exception when playlist loading times out (MPD list command) #122
Comments
Anyone? There's realatively the same errors with the soundcloud plugin as well... |
Doesn't timeouts in multiple backends point to your network access being the issue. Are you using a proxy? A firewall maybe? |
Neither. This was like right after installing vanilla Arch. When it was working fine and flawlessly before, but that was with Antergos. This seems to only happen with certain playlists now. Also, my playlists used to be all using colors from my terminal (termite). Now they're all just gray with 'playlist' at the beginning i.e. my Starred playlist is now 'playlistStarred' |
I don't understand what you mean when you talk about colours, if it's in the logs then that's a the responsibility of your terminal to get right. Otherwise it's the responsibility of whatever frontend you are using. Anything special about these broken playlists? Many entries? Followed rather than your own? |
The only one that has tons of entries is my starred, which has 1,000+ songs edit: and my actual song library which is a lot higher. The reason I bring up colors with the playlist is because I feel like they're some how broken with Mopidy-Spotify because when the colors went away (this is for only the playlists list), the "playlistList" error was introduced. |
Alright, so I uninstalled and deleted the configs of ncmpcpp, mopidy, and mopidy-spotify then reinstalled them all. Colors and playlists are back (mind you without changing my terminal at all). Though, number 4, |
Right, so you are using ncmpcpp. I should have asked which client you were using, I assumed it was the just the initial playlist loading on startup. I don't know what mpd commands 'show media library' does. I think a debug log showing what's going on is required. |
Debug log for what? Mopidy, Ncmpcpp, or MPD? |
Experiencing the same issue, haven't had time to look into it. Using ncmpcpp as well, fwiw. Not a clean install either, worked fine in the past. |
@spenserw I ended up uninstalling and reinstalling Mopidy, Mopidy-Spotify, and Ncmpcpp and it seemed to have fixed it. |
Reopened as you might still get the error. Please report back if it does fix it. |
@ErraticFox No, unfortunately didn't solve the issue for me. |
A debug log for Mopidy. |
@kingosticks Can do. Let me know what else you might need. In the following log, I connect via ncmpcpp. I then switch to the "Media Library" page, as Fox mentioned before. This is when the error occurs. Thanks for taking the time. |
Can you confirm what system you are running on? Has it ever worked for you? Have you tried to delete your Spotify cache files and then restart mopidy and wait a few minutes before trying to connect with ncmpcpp? Do you have a particularly large number of playlists or any playlists with a large number of tracks? |
Also, once you get the error, if you disconnect ncmpcpp and then reconnect, does it then work? |
I'm getting this error as well. Whenever opening the media library tab, the |
What system? Do you have a particularly large number of playlists or any playlists with a large number of tracks? |
Not particularly. I have 11 playlists, the max having 366 songs. My library has ~1100 songs. |
Ok, thanks, what system are you using? Raspberrypi? Some other slow cpu? |
CPU: Intel i5-6600K (4) @ 4.5GHz |
Same situation as @artemisbot, almost exactly the same specs. |
Yeh, that blows that theory out the water. Are you also using Arch Linux, @spenserw? We saw something weird with Arch before, I think it was a problem in the particular version of libc/pthreads in that case. |
@kingosticks so was there any solution found for that problem? |
Yes there was (mopidy/mopidy#933) but it sounds quite different to what you guys are seeing here. My point is only that problems with Arch's cutting edge versions are not unheard of. Maybe we could try to get a trace level debug log (-vvvv) to see if pyspotify can tell us anything else? |
@kingosticks Yes, Arch as well. |
This is my log from when I open the Media Library tab. Perhaps it's the ChannelError(s) causing the timeout? |
I find it odd that I can only not look at the Media Library option, searching Spotify and playing from playlists work perfectly. |
Channel errors are one of libspotify's great mysteries. You'll have seen that all code does is loop through all the tracks of all your playlists and pull out the artists. Nothing special. The same that happens when you load any playlist. I suppose you could try and load each one in turn manually in your client and see if that throws any errors. But sounds like you might have already tried that. |
Just to chip in, I'm experiencing the same issue running Manjaro i3 (Linux manjaro-i3 4.8.17-1-MANJARO x86_64 GNU/Linux, ncmpcpp 0.7.7 and Mopidy 2.1.0). Here's the traceback when I try to access Media Library I can still search the spotify library as @artemisbot describes without issues. I will be happy to test any patches you throw my way to see if this can be fixed. |
Hi, I tried to track down the problem and may have found something: The extension goes throufh all user playlists and fills the library with artists that are found in the playlist. One of my playlist was corrupt, eg. the Name of the Playlist was null/none. When the extension tries to call playlist.load() on a corrupted playlist an exception gets thrown. I tried to fix the problem by adding a null check in the method and it seems to work pretty fine, no more timeouts. |
Playlists without names are not necessarily corrupt, they may just not have finished loaded yet. if you are going to do this you probably want to skip those that have not finished loading rather than specifically checking for a valid name. It might make more sense to just catch the timeout exception for each playlist, log it, then continue. But the problem with that is once you've waited for a couple of playlists to time out, your MPD client's connection will probably have timed out and your back to square one. So maybe we should specify a smaller timeout for these get_distinct loads?. |
@f1ndus Out of interest which playlist is corrupt for you? If I change code slightly to get the index I can match that up with what at play.spotify.com and it corresponds to the Discover Weekly playlist.
|
Hi, yes it was the discover weekly playlist, I and for me it was the second playlist in the array. Also it is the only playlist which fails to load. |
From https://developer.spotify.com/technologies/libspotify/faq/
With this in mind might it be faster to call
My theory is that it might be better to queue up the fetches more in parallel instead of risking 10 sec. timeouts on each one. Of course testing such an optimization would be best, instead of just going on a hunch. |
With |
The exact same behaviour also occurs with the 'Release Radar' playlist (https://play.spotify.com/user/spotify/playlist/37i9dQZEVXbwCefoosMjb7). The problem goes away when I unfollow both 'Release Radar' and 'Discover weekly'. Spotify must have changed something in these special playlists which poor old libspotify just doesn't understand. @adamcik: As soon as you login the playlistcontainer starts loading, as well as all the implicitly created playlists it contains, and even the tracks within those. All the loads have already been triggered, us calling |
For me, it seems that any playlist that I followed that caused the issue, not just the Spotify ones. By unfollowing every playlist, I was able to get the library view to work. |
Hello all, |
I also got this issue. I have no local files, only spotify. 39 Playlists, some even in folders. Some are my own, some are public ones. Im also using ncmpcpp on manjaro (thats close to Arch). All the get functions seem to timeout. ncmpcpp also shows "connected 127.0.0.1" and "timeout" for at least 5 minutes until my playlists show up. I changed the timeout in the config to 2 seconds, its still way too long. |
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
Hello, I just reinstalled Arch today and it must be on my end because I just installed mopidy-spotify on my old installation about 5 days ago and it was working. As of now, everything looks fine and then it throws a bunch of errors. This is my output:
The text was updated successfully, but these errors were encountered: