Server starts to error with 504s after a while
I'm experiencing an issue whereby the server will degrade to the point local tracks just won't play. The following is the logs from the browser console:
Console
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
spa-manifest.json:1
Failed to load resource: the server responded with a status of 504 ()
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
getSrcs @ audio.12307258.js:22
getSound @ audio.12307258.js:22
(anonymous) @ audio.12307258.js:22
l @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
(anonymous) @ chunk-index-vendors.a89ff131.js:47
r @ chunk-index-vendors.a89ff131.js:30
s @ chunk-index-vendors.a89ff131.js:30
music.udongein.reisen/:1
Failed to load resource: the server responded with a status of 504 ()
audio.12307258.js:22
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'uploads')
at a.getSrcs (audio.12307258.js:22)
at a.getSound (audio.12307258.js:22)
at audio.12307258.js:22
at l (chunk-index-vendors.a89ff131.js:47)
at Generator._invoke (chunk-index-vendors.a89ff131.js:47)
at Generator.next (chunk-index-vendors.a89ff131.js:47)
at r (chunk-index-vendors.a89ff131.js:30)
at s (chunk-index-vendors.a89ff131.js:30)
API logs
2022-01-05 19:31:00,832 plugins INFO Submitting listen to ListenBrainz
2022-01-05 19:34:42,032 plugins INFO Submitting listen to ListenBrainz
2022-01-05 19:38:45,493 plugins INFO Submitting listen to ListenBrainz
2022-01-05 19:42:11,149 plugins INFO Submitting listen to ListenBrainz
2022-01-05 19:45:29,942 plugins INFO Submitting listen to ListenBrainz
2022-01-05 19:49:39,660 plugins INFO Submitting listen to ListenBrainz
2022-01-05 19:53:35,391 plugins INFO Submitting listen to ListenBrainz
2022-01-05 19:56:39,125 plugins INFO Submitting listen to ListenBrainz
/venv/lib/python3.8/site-packages/rest_framework/pagination.py:200: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'funkwhale_api.playlists.models.Playlist'> PlaylistQuerySet.
paginator = self.django_paginator_class(queryset, page_size)
2022-01-05 20:01:50,516 websockets.server ERROR opening handshake failed
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 162, in handler
await self.handshake(
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 596, in handshake
raise self.connection_closed_exc() # pragma: no cover
websockets.exceptions.ConnectionClosedError: no close frame received or sent
/venv/lib/python3.8/site-packages/dynamic_preferences/registries.py:136: UserWarning: Creating a fallback preference with section "raven" and name "front_dsn".This means you have preferences in your database that don't match any registered preference. If you want to delete these entries, please refer to the documentation: https://django-dynamic-preferences.readthedocs.io/en/latest/lifecycle.html
warnings.warn(message.format(section_name, pref_name))
2022-01-05 20:06:29,115 plugins INFO Submitting listen to ListenBrainz
2022-01-05 20:13:58,624 plugins INFO Submitting listen to ListenBrainz
/venv/lib/python3.8/site-packages/requests_http_signature/__init__.py:25: CryptographyDeprecationWarning: signer and verifier have been deprecated. Please use sign and verify instead.
signer = key.signer(padding=self.PKCS1v15(), algorithm=hasher)
/venv/lib/python3.8/site-packages/rest_framework/pagination.py:200: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'funkwhale_api.playlists.models.Playlist'> PlaylistQuerySet.
paginator = self.django_paginator_class(queryset, page_size)
2022-01-05 20:21:50,976 plugins INFO Submitting listen to ListenBrainz
2022-01-05 20:21:52,007 websockets.server ERROR opening handshake failed
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 162, in handler
await self.handshake(
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 596, in handshake
raise self.connection_closed_exc() # pragma: no cover
websockets.exceptions.ConnectionClosedError: no close frame received or sent
2022-01-05 20:21:52,032 websockets.server ERROR opening handshake failed
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 162, in handler
await self.handshake(
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 596, in handshake
raise self.connection_closed_exc() # pragma: no cover
websockets.exceptions.ConnectionClosedError: no close frame received or sent
2022-01-05 20:21:52,052 websockets.server ERROR opening handshake failed
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 162, in handler
await self.handshake(
File "/venv/lib/python3.8/site-packages/websockets/legacy/server.py", line 596, in handshake
raise self.connection_closed_exc() # pragma: no cover
websockets.exceptions.ConnectionClosedError: no close frame received or sent
My setup is a Raspberry Pi 4 with Docker, and the multi-container deployment on v1.2.0:latest