500 error code when loading radio track
When browser asks server for new radio track I'm sometimes getting status code 500
This is called request:
curl 'https://funkwhale.juniorjpdj.pl/api/v1/radios/tracks/' --data-raw '{"session":233}'
This is response:
<!doctype html>
<html lang="en">
<head>
<title>Server Error (500)</title>
</head>
<body>
<h1>Server Error (500)</h1><p></p>
</body>
</html>
And server log after request:
api_1 | 2021-07-22T16:55:00.474625568Z 2021-07-22 16:55:00,473 django.request ERROR Internal Server Error: /api/v1/radios/tracks/
api_1 | 2021-07-22T16:55:00.474667794Z Traceback (most recent call last):api_1 | 2021-07-22T16:55:00.474677701Z File "/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
api_1 | 2021-07-22T16:55:00.474684657Z response = get_response(request)
api_1 | 2021-07-22T16:55:00.474690634Z File "/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
api_1 | 2021-07-22T16:55:00.474697009Z response = self.process_exception_by_middleware(e, request)
api_1 | 2021-07-22T16:55:00.474703009Z File "/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
api_1 | 2021-07-22T16:55:00.474709081Z response = wrapped_callback(request, *callback_args, **callback_kwargs)
api_1 | 2021-07-22T16:55:00.474714765Z File "/usr/lib/python3.7/contextlib.py", line 74, in inner
api_1 | 2021-07-22T16:55:00.474720664Z return func(*args, **kwds)
api_1 | 2021-07-22T16:55:00.474726311Z File "/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
api_1 | 2021-07-22T16:55:00.474732212Z return view_func(*args, **kwargs)
api_1 | 2021-07-22T16:55:00.474737723Z File "/venv/lib/python3.7/site-packages/rest_framework/viewsets.py", line 114, in view
api_1 | 2021-07-22T16:55:00.474743433Z return self.dispatch(request, *args, **kwargs)
api_1 | 2021-07-22T16:55:00.474748902Z File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 505, in dispatch
api_1 | 2021-07-22T16:55:00.474754635Z response = self.handle_exception(exc)
api_1 | 2021-07-22T16:55:00.474760094Z File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 465, in handle_exception
api_1 | 2021-07-22T16:55:00.474765913Z self.raise_uncaught_exception(exc)
api_1 | 2021-07-22T16:55:00.474771435Z File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
api_1 | 2021-07-22T16:55:00.474777244Z raise exc
api_1 | 2021-07-22T16:55:00.474782762Z File "/venv/lib/python3.7/site-packages/rest_framework/views.py", line 502, in dispatch
api_1 | 2021-07-22T16:55:00.474788463Z response = handler(request, *args, **kwargs)
api_1 | 2021-07-22T16:55:00.474793972Z File "/app/funkwhale_api/radios/views.py", line 140, in create
api_1 | 2021-07-22T16:55:00.474822821Z session.radio.pick()
api_1 | 2021-07-22T16:55:00.474830120Z File "/app/funkwhale_api/radios/radios.py", line 87, in pick
api_1 | 2021-07-22T16:55:00.474836158Z return self.pick_many(quantity=1, **kwargs)[0]
api_1 | 2021-07-22T16:55:00.474841801Z File "/app/funkwhale_api/radios/radios.py", line 91, in pick_many
api_1 | 2021-07-22T16:55:00.474847441Z picked_choices = super().pick_many(choices=choices, quantity=quantity)
api_1 | 2021-07-22T16:55:00.474853228Z File "/app/funkwhale_api/radios/radios.py", line 27, in pick_many
api_1 | 2021-07-22T16:55:00.474858868Z return random.sample(set(choices), quantity)
api_1 | 2021-07-22T16:55:00.474864433Z File "/usr/lib/python3.7/random.py", line 321, in sample
api_1 | 2021-07-22T16:55:00.474871936Z raise ValueError("Sample larger than population or is negative")
api_1 | 2021-07-22T16:55:00.474878115Z ValueError: Sample larger than population or is negative