-
Notifications
You must be signed in to change notification settings - Fork 351
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
Shuffling the queue after the next song is queued results in an infinite loop #2097
Comments
I can't reproduce this and I need more information on where it hangs. For example with a strace (of all threads with time stamps) or a perf report. |
I can reprodude this consistently by: Status:
Threads:
strace
Version:
|
Looks like when changing the next song (shuffle, random) and the decoder has already finished with the current song (near the end of playing the song), it is necessary to restart the decoder for it to start the new-next song. Restoring the code that was removed in the player thread in revision 57212d5 solves the issue. But I'm not sure if it's the right solution. May be restarting the decoder when the next-song is actually changed is better.
|
Bug report
Describe the bug
If I shuffle the play queue while a song is playing and the next song is queued, mpd hangs in a full-CPU loop. It still responds to play commands, does not burn CPU if paused, and the issue goes away if you press Next or Prev.
Expected Behavior
mpd plays the queued song or the next song in the new shuffled order.
Actual Behavior
mpd hangs. gdb indicates the backtrace is in
MainConfigured
, sometimes-> EventLoop::Run
.Version
Music Player Daemon 0.24 (v0.23.15-1511-g965c466e9+)
Configuration
Log
mpd shuffle hang.txt
The text was updated successfully, but these errors were encountered: