Skip to content

UTF-8 decoding error parsing protobuf #36

niallsmart opened this Issue Mar 28, 2013 · 3 comments

3 participants


I've started to see UTF-8 decoding exceptions being thrown by the google protobuf library when parsing Spotify responses:

Example stack trace below:

  File "../spotify_web/", line 249, in parse_metadata
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/protobuf/", line 179, in ParseFromString
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/protobuf/internal/", line 755, in MergeFromString
    if self._InternalParse(serialized, 0, length) != length:
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/protobuf/internal/", line 782, in InternalParse
    pos = field_decoder(buffer, new_pos, end, self, field_dict)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/protobuf/internal/", line 410, in DecodeField
    field_dict[key] = local_unicode(buffer[pos:new_pos], 'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8d in position 13: invalid start byte
Hexxeh commented Mar 28, 2013

This should now be fixed, please confirm.


Yep, that fixed it – though I am now seeing an error on process exit, not sure if this is related:

Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
  File "/usr/lib/python2.7/", line 552, in __bootstrap_inner
  File "/usr/lib/python2.7/", line 505, in run
  File "/home/pi/local/lib/python2.7/site-packages/SpotifyWebsocketAPI-0.2-py2.7.egg/spotify_web/", line 740, in heartbeat_handler
  File "/home/pi/local/lib/python2.7/site-packages/SpotifyWebsocketAPI-0.2-py2.7.egg/spotify_web/", line 594, in heartbeat
  File "/home/pi/local/lib/python2.7/site-packages/SpotifyWebsocketAPI-0.2-py2.7.egg/spotify_web/", line 643, in send_command
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
adammw commented Jun 19, 2013

FYI, I think the Reply to a MercuryRequest is also another MercuryRequest. Updating to the latest MercuryRequest format and using it for decoding replies works for me with node-spotify-web.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.