MusicBrainz 400 Bad Request when uplading a track
Steps to reproduce
- Upload a file (In this case AURORA's Runaway)
What happens?
Track errors, with the following traceback:
2019-04-15 00:16:27,461 ERROR Internal Server Error: /api/v1/tracks/1891/lyrics/
Traceback (most recent call last):
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/musicbrainzngs/musicbrainz.py", line 480, in _safe_read
f = opener.open(req)
File "/usr/lib/python3.5/urllib/request.py", line 472, in open
response = meth(req, response)
File "/usr/lib/python3.5/urllib/request.py", line 582, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.5/urllib/request.py", line 510, in error
return self._call_chain(*args)
File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
result = func(*args)
File "/usr/lib/python3.5/urllib/request.py", line 590, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/django/core/handlers/base.py", line 126, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/django/core/handlers/base.py", line 124, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3.5/contextlib.py", line 30, in inner
return func(*args, **kwds)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/rest_framework/viewsets.py", line 116, in view
return self.dispatch(request, *args, **kwargs)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/rest_framework/views.py", line 495, in dispatch
response = self.handle_exception(exc)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/rest_framework/views.py", line 455, in handle_exception
self.raise_uncaught_exception(exc)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/rest_framework/views.py", line 492, in dispatch
response = handler(request, *args, **kwargs)
File "./funkwhale_api/music/views.py", line 208, in lyrics
work = track.get_work()
File "./funkwhale_api/music/models.py", line 514, in get_work
data = self.api.get(self.mbid, includes=["work-rels"])
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/memoize/func.py", line 91, in __call__
return self.cache.get(self.key(args, copy_kwargs), self.func, args, kwargs, **self.opts)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/memoize/core.py", line 116, in get
value = func(*args, **kwargs)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/musicbrainzngs/musicbrainz.py", line 857, in get_recording_by_id
return _do_mb_query("recording", id, includes, params)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/musicbrainzngs/musicbrainz.py", line 711, in _do_mb_query
return _mb_request(path, 'GET', auth_required, args=args)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/musicbrainzngs/musicbrainz.py", line 400, in __call__
return self.fun(*args, **kwargs)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/musicbrainzngs/musicbrainz.py", line 673, in _mb_request
resp = _safe_read(opener, req, body)
File "/srv/funkwhale/virtualenv/lib/python3.5/site-packages/musicbrainzngs/musicbrainz.py", line 486, in _safe_read
raise ResponseError(cause=exc)
musicbrainzngs.musicbrainz.ResponseError: caused by: HTTP Error 400: Bad Request
What is expected?
Track should get processed, as the ID3 tags are correct (and other tracks in the same album, also tagged by Picard work just fine)
Context
Funkwhale version(s) affected: 0.18.3
Instance configuration: Non-docker, Nginx