Adding files to playlist gives "Sample larger than population or is negative" error
Steps to reproduce
- Start any radio
What happens?
For some tracks there will be an "Error while adding track to queue from radio" on POST https://music.uploadedlobster.com/api/v1/radios/tracks/
.
Server side error:
2020-11-21 13:58:47,999 django.request ERROR Internal Server Error: /api/v1/radios/tracks/
Traceback (most recent call last):
File "/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3.7/contextlib.py", line 74, in inner
return func(*args, **kwds)
File "/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/venv/lib/python3.7/site-packages/rest_framework/viewsets.py", line 114, in view
return self.dispatch(request, *args, **kwargs)
File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
raise exc
File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
File "/app/funkwhale_api/radios/views.py", line 140, in create
session.radio.pick()
File "/app/funkwhale_api/radios/radios.py", line 87, in pick
return self.pick_many(quantity=1, **kwargs)[0]
File "/app/funkwhale_api/radios/radios.py", line 91, in pick_many
picked_choices = super().pick_many(choices=choices, quantity=quantity)
File "/app/funkwhale_api/radios/radios.py", line 27, in pick_many
return random.sample(set(choices), quantity)
File "/usr/lib/python3.7/random.py", line 321, in sample
raise ValueError("Sample larger than population or is negative")
ValueError: Sample larger than population or is negative
What is expected?
Radio plays
Context
I have yet to figure out what kind of files cause this issue.
Funkwhale version(s) affected: x.y