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

Infinite recursion loop in play/next on end of track #17

Closed
jodal opened this Issue Aug 25, 2010 · 8 comments

Comments

2 participants
@jodal
Member

jodal commented Aug 25, 2010

During normal playback both myself and another user has experienced an infinite recursion loop in play/next upon end of track. This probably got to do with the "skip-to-next-track-upon-error" code.

Traceback:

... lots of WARNINGs like this ...
WARNING  Play spotify:track:2AVcyZ66hKKKkkFz58Hyhd failed: The track cannot be played
WARNING  Play spotify:track:2AVcyZ66hKKKkkFz58Hyhd failed: The track cannot be played
WARNING  Play spotify:track:2AVcyZ66hKKKkkFz58Hyhd failed: The track cannot be played
WARNING  Play spotify:track:2AVcyZ66hKKKkkFz58Hyhd failed: The track cannot be played
ERROR    maximum recursion depth exceeded
Traceback (most recent call last):
  File "/home/jodal/dev/mopidy/mopidy/utils/process.py", line 24, in run
    self.run_inside_try()
  File "/home/jodal/dev/mopidy/mopidy/core.py", line 43, in run_inside_try
    self.process_message(message)
  File "/home/jodal/dev/mopidy/mopidy/core.py", line 88, in process_message
    self.backend.playback.on_end_of_track()
  File "/home/jodal/dev/mopidy/mopidy/backends/base/playback.py", line 317, in on_end_of_track
    self.play(self.cp_track_at_eot)
  File "/home/jodal/dev/mopidy/mopidy/backends/base/playback.py", line 398, in play
    self.next()
  File "/home/jodal/dev/mopidy/mopidy/backends/base/playback.py", line 351, in next
    self.play(self.cp_track_at_next)
  File "/home/jodal/dev/mopidy/mopidy/backends/base/playback.py", line 398, in play
    self.next()
... lots of play() and next() calls ...

This is a candidate for a 0.1.1 bugfix release.

@jodal

This comment has been minimized.

Member

jodal commented Aug 29, 2010

Full log of the same bug: http://pastebin.ubuntu.com/485539/

@jodal

This comment has been minimized.

Member

jodal commented Oct 4, 2010

To reproduce:

play
random "1"
next
@jodal

This comment has been minimized.

Member

jodal commented Oct 19, 2010

I believe this bug was fixed by the patch for #18.

@jodal

This comment has been minimized.

Member

jodal commented Oct 19, 2010

Got the following stack trace at http://paste.pocoo.org/show/277362/ when listening to a track and pressing next, so this is clearly not solved by the patch for #18.

@jodal

This comment has been minimized.

Member

jodal commented Oct 21, 2010

Updated reproduce procedure:

  • Play a playlist where one track cannot be played
  • Turn on random mode
  • Press next until you get to the unplayable track
@jodal

This comment has been minimized.

Member

jodal commented Oct 21, 2010

This is fixed in b8be963 in the develop branch.

@jodal

This comment has been minimized.

Member

jodal commented Oct 24, 2010

This is fixed in 0.2.0. Closing.

adamcik added a commit to adamcik/mopidy that referenced this issue Oct 20, 2013

local/core: Add and fix more random related tests.
- Adds tests for eot_track vs next_track as we were only testing the one code
  path.
- Makes test_random_until_end_of_playlist_and_play_from_start actually test
  random and not repeat.
- Adds test_play_track_then_enable_random which is the underlying bug covered
  by the regression test for issue mopidy#17.

adamcik added a commit to adamcik/mopidy that referenced this issue Oct 20, 2013

local/core: Add and fix more random related tests.
- Adds tests for eot_track vs next_track as we were only testing the one code
  path.
- Makes test_random_until_end_of_playlist_and_play_from_start actually test
  random and not repeat.
- Adds test_play_track_then_enable_random which is the underlying bug covered
  by the regression test for issue mopidy#17.
@jcass77

This comment has been minimized.

Member

jcass77 commented Jun 26, 2015

As of Mopidy 1.0.5, the skip-to-next-track-upon-error code can also cause an infinite loop if all tracks are unplayable in repeat mode.

Would it not be a good idea to remove unplayable tracks from the tracklist, at least if we are in repeat mode as suggested in PR #1205?

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment