Hi all, any help or advice appreciated, this problem is really putting a wrench in my gears
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??