Validation Error When Trying to Stream

Hi all, any help or advice appreciated, this problem is really putting a wrench in my gears :confused:

Whenever I try to stream a track, whether it’s a local file or from any internet source, I’m getting this validation error. It seemed to happen after I culled some orphan packages on my device and edited the mopidy config. I’ve tried reinstalling mopidy and add-on packages and setting my config to default values, and neither did the trick. Here’s the error message:

ERROR    2025-01-08 12:00:41,594 [162266:MpdSession-16 (_actor_loop)] pykka
  Unhandled exception in MpdSession (urn:uuid:14410f92-3453-40c0-9e80-c8fcbe70e107):
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/pykka/_actor.py", line 238, in _actor_loop_running
    response = self._handle_receive(envelope.message)
  File "/usr/lib/python3.13/site-packages/pykka/_actor.py", line 357, in _handle_receive
    return self.on_receive(message)
           ~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/network.py", line 446, in on_receive
    self.on_line_received(line)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/session.py", line 41, in on_line_received
    response = self.dispatcher.handle_request(line)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 46, in handle_request
    return self._call_next_filter(request, response, filter_chain)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 69, in _call_next_filter
    return next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 77, in _catch_mpd_ack_errors_filter
    return self._call_next_filter(request, response, filter_chain)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 69, in _call_next_filter
    return next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 87, in _authenticate_filter
    return self._call_next_filter(request, response, filter_chain)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 69, in _call_next_filter
    return next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 106, in _command_list_filter
    response = self._call_next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 69, in _call_next_filter
    return next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 139, in _idle_filter
    response = self._call_next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 69, in _call_next_filter
    return next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 152, in _add_ok_filter
    response = self._call_next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 69, in _call_next_filter
    return next_filter(request, response, filter_chain)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 164, in _call_handler_filter
    response = self._format_response(self._call_handler(request))
                                     ~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/dispatcher.py", line 178, in _call_handler
    return protocol.commands.call(tokens, context=self.context)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/protocol/__init__.py", line 212, in call
    return self.handlers[tokens[0]](context, *tokens[1:])
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/protocol/__init__.py", line 189, in validate
    return func(**callargs)
  File "/usr/lib/python3.13/site-packages/mopidy_mpd/protocol/playback.py", line 224, in playid
    return context.core.playback.play(tl_tracks[0]).get()
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/pykka/_threading.py", line 68, in get
    raise exc_value
  File "/usr/lib/python3.13/site-packages/pykka/_actor.py", line 238, in _actor_loop_running
    response = self._handle_receive(envelope.message)
  File "/usr/lib/python3.13/site-packages/pykka/_actor.py", line 349, in _handle_receive
    return callee(*message.args, **message.kwargs)
  File "/usr/lib/python3.13/site-packages/mopidy/core/playback.py", line 304, in play
    validation.check_integer(tlid, min=1)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/mopidy/internal/validation.py", line 125, in check_integer
    raise exceptions.ValidationError(msg)
mopidy.exceptions.ValidationError: Expected an integer, not TlTrack(tlid=2, track=Track(album=Album(artists=[Artist(musicbrainz_id='', name='Mort Garson', sortname='Mort Garson', uri='bandcamp:artist:3321371505')], date='2019', musicbrainz_id='', name="Mother Earth's Plantasia", num_tracks=1, uri='bandcamp:album:3321371505-1251308296'), artists=[Artist(musicbrainz_id='', name='Mort Garson', sortname='Mort Garson', uri='bandcamp:artist:3321371505')], bitrate=128, comment='URL: https://mortgarson.bandcamp.com/track/plantasia', date='2019', genre='Electronic; experimental; instrumental; moog; synth; Los Angeles', length=201178, musicbrainz_id='', name='Plantasia', track_no=1, uri='bandcamp:track:3321371505-1251308296-514020827'))

It seems like some part of the validation process is expecting an integer value but is getting the track information instead??

I’m suspecting that the Mopidy 4.0 pre-releases are involved here? Could you share the output of running mopidy deps?

Sure thing! Thanks for the reply!

WARNING  2025-01-09 11:01:14,817 [189158:MainThread] mopidy.config
  Ignoring config section 'podcast' because no matching extension was found
Executable: /usr/bin/mopidy
Platform: Linux-6.12.8-arch1-1-x86_64-with-glibc2.40
Python: CPython 3.13.1 from /usr/lib/python3.13
mopidy: 4.0.0a2 from /usr/lib/python3.13/site-packages
  pygobject: 3.50.0 from /usr/lib/python3.13/site-packages
  pykka: 4.0.2 from /usr/lib/python3.13/site-packages
    typing-extensions: 4.12.2 from /usr/lib/python3.13/site-packages
  requests: 2.32.3 from /usr/lib/python3.13/site-packages
    charset-normalizer: 3.4.1 from /usr/lib/python3.13/site-packages
    idna: 3.10 from /usr/lib/python3.13/site-packages
    urllib3: 2.3.0 from /usr/lib/python3.13/site-packages
  setuptools: 75.2.0 from /usr/lib/python3.13/site-packages
    packaging: 24.2 from /usr/lib/python3.13/site-packages
    more_itertools: 10.5.0 from /usr/lib/python3.13/site-packages
    jaraco: not found
    importlib_resources: not found
    importlib_metadata: 7.2.1 from /usr/lib/python3.13/site-packages
      zipp: 3.21.0 from /usr/lib/python3.13/site-packages
    tomli: not found
    wheel: 0.45.0 from /usr/lib/python3.13/site-packages
    platformdirs: 4.3.6 from /usr/lib/python3.13/site-packages
  tornado: 6.4.2 from /usr/lib/python3.13/site-packages
mopidy-youtube: 3.7 from /usr/lib/python3.13/site-packages
  beautifulsoup4: 4.12.3 from /usr/lib/python3.13/site-packages
    soupsieve: 2.6 from /usr/lib/python3.13/site-packages
  cachetools: 5.5.0 from /usr/lib/python3.13/site-packages
  mopidy: 4.0.0a2 from /usr/lib/python3.13/site-packages
  pykka: 4.0.2 from /usr/lib/python3.13/site-packages
  requests: 2.32.3 from /usr/lib/python3.13/site-packages
  setuptools: 75.2.0 from /usr/lib/python3.13/site-packages
mopidy-mpd: 3.3.0 from /usr/lib/python3.13/site-packages
  mopidy: 4.0.0a2 from /usr/lib/python3.13/site-packages
  pykka: 4.0.2 from /usr/lib/python3.13/site-packages
  setuptools: 75.2.0 from /usr/lib/python3.13/site-packages
mopidy-bandcamp: 1.1.5 from /usr/lib/python3.13/site-packages
  setuptools: 75.2.0 from /usr/lib/python3.13/site-packages
  mopidy: 4.0.0a2 from /usr/lib/python3.13/site-packages
  pykka: 4.0.2 from /usr/lib/python3.13/site-packages
mopidy-internetarchive: 3.0.1 from /usr/lib/python3.13/site-packages
  mopidy: 4.0.0a2 from /usr/lib/python3.13/site-packages
  pykka: 4.0.2 from /usr/lib/python3.13/site-packages
  cachetools: 5.5.0 from /usr/lib/python3.13/site-packages
  requests: 2.32.3 from /usr/lib/python3.13/site-packages
  setuptools: 75.2.0 from /usr/lib/python3.13/site-packages
  uritools: not found
mopidy-autoplay: 0.2.3 from /usr/lib/python3.13/site-packages
  mopidy: 4.0.0a2 from /usr/lib/python3.13/site-packages
  pykka: 4.0.2 from /usr/lib/python3.13/site-packages
  setuptools: 75.2.0 from /usr/lib/python3.13/site-packages
GStreamer: 1.24.10.0 from /usr/lib/python3.13/site-packages/gi
  Detailed information: 
    Python wrapper: python-gi 3.50.0
    Relevant elements:
      Found:
        uridecodebin: 1.24.10
        souphttpsrc: 1.24.10
        alsasink: 1.24.10
        osssink: 1.24.10
        oss4sink: 1.24.10
        pulsesink: 1.24.10
        id3demux: 1.24.10
        id3v2mux: 1.24.10
        lamemp3enc: 1.24.10
        mpegaudioparse: 1.24.10
        mpg123audiodec: 1.24.10
        vorbisdec: 1.24.10
        vorbisenc: 1.24.10
        vorbisparse: 1.24.10
        oggdemux: 1.24.10
        oggmux: 1.24.10
        oggparse: 1.24.10
        flacdec: 1.24.10
        flacparse: 1.24.10
        shout2send: 1.24.10
      Not found:
        spotifyaudiosrc
        flump3dec
        mad

As you mentioned, the issue seemed to be related to the Mopidy 4.0 pre-release. I downgraded to the most recent stable release and was able to stream with no issue.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.