music-assistant / hass-music-assistant

Turn your Home Assistant instance into a jukebox, hassle free streaming of your favorite media to Home Assistant media players.
Apache License 2.0
1.34k stars 50 forks source link

MASS Server is using tons of PIDs and causing server (unraid) to freeze. #2668

Closed janstadt closed 1 month ago

janstadt commented 2 months ago

What version of Music Assistant has the issue?

2.1.0rc1

What version of the Home Assistant Integration have you got installed?

2024.7.3

Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

The problem

I've been having issues with my server (unraid) which has been running great for a while and then within the last few weeks it has started to freeze up and requires a reboot. I noticed that

I posted on unraids forums: https://forums.unraid.net/topic/170781-monitor_nchan-fork-retry-resource-temporarily-unavailable/#comment-1445488 and a mod pointed me to this: https://forums.unraid.net/bug-reports/stable-releases/61210-cannot-fork-resource-temporarily-unavailable-r3020/?page=2&tab=comments which made me start looking into my containers and how they're using processes.

I noticed that MASS is using a very high level of PIDs and it grows exponentially.

c74fa0351c36 music-assistant 942.16% 5.43GiB / 23.32GiB 23.29% 0B / 0B 2.08GB / 0B 17877

How to reproduce

Run docker stats while mass is running and see if the the PIDs grow.

Music Providers

Unsure if its provider specific.

Player Providers

I see an error pointing to snapcast but im unsure if its that or something else.

Full log output

AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:17:05.292 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:17:05.297 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:17:05.300 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:17:05.301 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'

Including more logs:

text  error  warn  system  array  login  

  File "/usr/local/lib/python3.12/asyncio/base_subprocess.py", line 189, in _connect_pipes
2024-07-23 19:26:05.247 ERROR (MainThread) [music_assistant] Error doing task: Task was destroyed but it is pending!
    waiter.set_exception(exc)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 795, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 541, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <coroutine object BaseSubprocessTransport._connect_pipes at 0x14796c2bf890>
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/base_subprocess.py", line 189, in _connect_pipes
2024-07-23 19:26:05.247 ERROR (MainThread) [music_assistant] Error doing task: Task was destroyed but it is pending!
    waiter.set_exception(exc)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 795, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 541, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <coroutine object BaseSubprocessTransport._connect_pipes at 0x14796c2bf9a0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/base_subprocess.py", line 189, in _connect_pipes
2024-07-23 19:26:05.248 ERROR (MainThread) [music_assistant] Error doing task: Task was destroyed but it is pending!
    waiter.set_exception(exc)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 795, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 541, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <coroutine object BaseSubprocessTransport._connect_pipes at 0x14796c2bfab0>
Traceback (most recent call last):
2024-07-23 19:26:05.249 ERROR (MainThread) [music_assistant] Error doing task: Task was destroyed but it is pending!
  File "/usr/local/lib/python3.12/asyncio/base_subprocess.py", line 189, in _connect_pipes
    waiter.set_exception(exc)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 795, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 541, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <coroutine object BaseSubprocessTransport._connect_pipes at 0x14796c2bfbc0>
Traceback (most recent call last):
2024-07-23 19:26:05.249 ERROR (MainThread) [music_assistant] Error doing task: Task was destroyed but it is pending!
  File "/usr/local/lib/python3.12/asyncio/base_subprocess.py", line 189, in _connect_pipes
    waiter.set_exception(exc)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 795, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 541, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <coroutine object BaseSubprocessTransport._connect_pipes at 0x14796c2bfcd0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/base_subprocess.py", line 189, in _connect_pipes
2024-07-23 19:26:05.250 ERROR (MainThread) [music_assistant] Error doing task: Task was destroyed but it is pending!
    waiter.set_exception(exc)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 795, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 541, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <coroutine object BaseSubprocessTransport._connect_pipes at 0x14796c2bfde0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/base_subprocess.py", line 189, in _connect_pipes
2024-07-23 19:26:05.251 ERROR (MainThread) [music_assistant] Error doing task: Task was destroyed but it is pending!
    waiter.set_exception(exc)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 795, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 541, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
2024-07-23 19:26:05.253 INFO (MainThread) [aiorun] Leaving. Bye!
2024-07-23 19:30:10.102 INFO (MainThread) [music_assistant] Starting Music Assistant Server (54fc85620754465ebf7f15452bfe1ff7) version 2.1.0rc1 - HA add-on: False - Safe mode: False
2024-07-23 19:30:10.109 INFO (MainThread) [music_assistant.cache] Initializing cache controller...
2024-07-23 19:30:10.863 INFO (MainThread) [music_assistant.music] Using a sync interval of 180 minutes.
2024-07-23 19:30:11.037 INFO (MainThread) [music_assistant.streams] Detected ffmpeg version 6.0.1 with libsoxr support
2024-07-23 19:30:11.037 INFO (MainThread) [music_assistant.streams] Starting server on  0.0.0.0:8097 - base url: http://192.168.1.68:8097
2024-07-23 19:30:11.043 INFO (MainThread) [music_assistant.webserver] Starting server on  0.0.0.0:8095 - base url: http://192.168.1.68:8095
2024-07-23 19:30:11.405 INFO (MainThread) [music_assistant] Loaded metadata provider fanart.tv Metadata provider
2024-07-23 19:30:11.405 INFO (MainThread) [music_assistant] Loaded music provider Music Assistant
2024-07-23 19:30:11.405 INFO (MainThread) [music_assistant] Loaded metadata provider MusicBrainz Metadata provider
2024-07-23 19:30:11.405 INFO (MainThread) [music_assistant] Loaded metadata provider TheAudioDB Metadata provider
2024-07-23 19:30:11.405 INFO (MainThread) [music_assistant] Loaded player provider Universal Group Player
2024-07-23 19:30:11.440 INFO (MainThread) [music_assistant.players] Player registered: ugp_wu3p7a6f/All Speakers
2024-07-23 19:30:11.449 INFO (MainThread) [music_assistant] Loaded music provider localmedia
2024-07-23 19:30:11.459 INFO (MainThread) [music_assistant] Loaded player provider Slimproto (Squeezebox players)
2024-07-23 19:30:11.462 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:11.605 INFO (MainThread) [music_assistant.music] Sync task for Music Assistant completed
2024-07-23 19:30:11.960 INFO (MainThread) [music_assistant] Loaded music provider RadioBrowser
2024-07-23 19:30:12.074 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: b8:27:eb:e4:f5:0b connected
2024-07-23 19:30:12.074 INFO (MainThread) [music_assistant.players] Player registered: b8:27:eb:e4:f5:0b/squeezeplay: b8:27:eb:e4:f5:0b
2024-07-23 19:30:12.080 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: dc:a6:32:83:f9:8c connected
2024-07-23 19:30:12.080 INFO (MainThread) [music_assistant.players] Player registered: dc:a6:32:83:f9:8c/squeezeplay: dc:a6:32:83:f9:8c
2024-07-23 19:30:12.357 INFO (MainThread) [music_assistant.providers.spotify] Successfully logged in to Spotify as ducksoup18
2024-07-23 19:30:12.357 INFO (MainThread) [music_assistant] Loaded music provider Spotify
2024-07-23 19:30:12.493 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:f7:e7:d3 connected
2024-07-23 19:30:12.493 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:f7:e7:d3/squeezeplay: d8:3a:dd:f7:e7:d3
2024-07-23 19:30:12.509 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:f7:e7:07 connected
2024-07-23 19:30:12.509 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:f7:e7:07/squeezeplay: d8:3a:dd:f7:e7:07
2024-07-23 19:30:13.021 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:ba:cd:d1 connected
2024-07-23 19:30:13.021 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:ba:cd:d1/squeezeplay: d8:3a:dd:ba:cd:d1
2024-07-23 19:30:13.062 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Black Crows - Lions/Black Crowes/black crowes - kickin' my heart around.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:13.123 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:f7:e6:a2 connected
2024-07-23 19:30:13.123 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:f7:e6:a2/squeezeplay: d8:3a:dd:f7:e6:a2
2024-07-23 19:30:13.421 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:f7:e6:f9 connected
2024-07-23 19:30:13.422 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:f7:e6:f9/squeezeplay: d8:3a:dd:f7:e6:f9
2024-07-23 19:30:13.623 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:f7:e6:60 connected
2024-07-23 19:30:13.624 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:f7:e6:60/squeezeplay: d8:3a:dd:f7:e6:60
2024-07-23 19:30:13.630 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:ba:cd:16 connected
2024-07-23 19:30:13.630 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:ba:cd:16/squeezeplay: d8:3a:dd:ba:cd:16
2024-07-23 19:30:14.484 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Goldfinger/goldfinger - superman.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:15.233 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:15.233 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:15.234 INFO (MainThread) [music_assistant.players] Player registered: ma_a5bcf733cff84564a309db3d1217ff3c/Parents Tablet
2024-07-23 19:30:15.235 INFO (MainThread) [music_assistant.players] Player registered: ma_36afab2c49f042748f45241da922bcb3/Gretas Tablet
2024-07-23 19:30:15.235 INFO (MainThread) [music_assistant.players] Player registered: ma_f1b9096103194aec902e120f630fb8f8/Lucys Tablet
2024-07-23 19:30:15.236 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:15.594 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Pearl Jam/pearl jam - do the evolution.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:15.774 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:15.776 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:16.467 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-01-crackerman.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:16.573 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:16.574 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:16.624 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-02-creep.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:16.785 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-04-wicked_garden.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:16.952 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-05-andy_warhol.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:17.116 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-06-big_empty.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:17.264 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-07-sex_type_thing.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:17.421 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-08-pretty_penny.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:17.578 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-09-midnight_roundup.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:17.687 INFO (MainThread) [music_assistant.providers.slimproto] Player squeezeplay: d8:3a:dd:f7:e7:9a connected
2024-07-23 19:30:17.687 INFO (MainThread) [music_assistant.players] Player registered: d8:3a:dd:f7:e7:9a/squeezeplay: d8:3a:dd:f7:e7:9a
2024-07-23 19:30:17.737 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-10-kitchenware_n_candybars.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:17.896 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-11-christmastime_is_here.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:18.045 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing Stone Temple Pilots/STP - Acoutstic Type Thing/att-12-lady_picture_show.mp3 - 'NoneType' object has no attribute 'tag'
2024-07-23 19:30:18.135 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:18.136 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:18.846 ERROR (MainThread) [music_assistant.providers.filesystem_local] Error processing underwater.mp3 - 'NoneType' object has no attribute 'unique_file_ids'
2024-07-23 19:30:18.880 INFO (MainThread) [music_assistant.music] Sync task for RadioBrowser completed
2024-07-23 19:30:19.223 INFO (MainThread) [music_assistant.music] Sync task for localmedia completed
2024-07-23 19:30:20.129 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:20.130 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:20.783 WARNING (MainThread) [music_assistant] Error while unload provider Snapcast: 'NoneType' object has no attribute 'state'
2024-07-23 19:30:20.786 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:20.934 INFO (MainThread) [music_assistant.providers.spotify] Attempt 1/5 failed: Spotify Rate Limiter
2024-07-23 19:30:20.934 INFO (MainThread) [music_assistant.providers.spotify] Retrying in 8 seconds...
2024-07-23 19:30:21.584 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:21.794 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:21.795 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:22.794 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:22.794 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:22.796 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:23.142 WARNING (MainThread) [music_assistant] Error while unload provider Snapcast: 'NoneType' object has no attribute 'state'
2024-07-23 19:30:23.146 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:23.593 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:23.593 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:23.594 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:25.137 WARNING (MainThread) [music_assistant] Error while unload provider Snapcast: 'NoneType' object has no attribute 'state'
2024-07-23 19:30:25.139 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:25.157 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:25.157 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:25.158 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:26.424 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:26.425 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:26.425 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:26.427 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:26.429 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 392, in _on_client_disconnect
    self._clients[data.get('id')].update_connected(False)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:26.431 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:26.431 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:26.431 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:26.804 WARNING (MainThread) [music_assistant] Error while unload provider Snapcast: 'NoneType' object has no attribute 'state'
2024-07-23 19:30:26.807 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:27.147 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:27.147 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:27.148 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:27.942 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:27.943 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:27.943 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:27.944 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:27.944 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:27.945 ERROR (MainThread) [music_assistant] Error doing task: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1027, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 54, in data_received
    self.handle_data(item)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 61, in handle_data
    self.handle_notification(data)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/protocol.py", line 73, in handle_notification
    self._callbacks.get(data.get('method'))(data.get('params'))
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/server.py", line 382, in _on_client_connect
    client.update_connected(True)
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 133, in update_connected
    self.callback()
  File "/usr/local/lib/python3.12/site-packages/snapcast/control/client.py", line 159, in callback
    self._callback_func(self)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:27.946 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:27.946 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:27.946 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:27.946 INFO (MainThread) [music_assistant.providers.snapcast] Connection to SnapServer lost, reason: 'NoneType' object has no attribute 'can_sync_with'. Reloading provider in 5 seconds.
2024-07-23 19:30:28.818 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:28.818 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:28.819 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:31.431 WARNING (MainThread) [music_assistant] Error while unload provider Snapcast: 'NoneType' object has no attribute 'state'
2024-07-23 19:30:31.436 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:31.452 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:31.455 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:31.455 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:32.958 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:32.968 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:32.969 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:32.970 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:32.974 INFO (MainThread) [music_assistant.providers.snapcast.snapserver] Starting builtin Snapserver...
2024-07-23 19:30:33.455 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:33.455 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:33.457 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:33.463 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:33.463 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:33.465 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:33.466 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:33.466 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:33.467 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:33.467 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:33.468 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:33.469 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:34.977 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:34.977 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:34.979 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:34.985 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:34.985 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:34.986 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:34.988 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:34.988 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:34.989 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:34.989 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:34.989 INFO (MainThread) [music_assistant.providers.snapcast] Started connection to Snapserver 127.0.0.1:1705
2024-07-23 19:30:34.989 INFO (MainThread) [music_assistant] Loaded player provider Snapcast
2024-07-23 19:30:34.991 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:34.992 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'
2024-07-23 19:30:34.993 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 303, in loaded_in_mass
    self._handle_update()
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 327, in _handle_update
    self._handle_player_update(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 384, in _handle_player_update
    self._can_sync_with(snap_client)
  File "/usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast/__init__.py", line 240, in _can_sync_with
    mass_player.can_sync_with = tuple(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'can_sync_with'

Additional information

No response

What version of Home Assistant Core are your running

2024.7.3

What type of installation are you running?

Home Assistant Container

On what type of hardware are you running?

Linux

janstadt commented 2 months ago

I've disabled the snapcast server (and also had to reboot in order for it to chill out) in MASS and things have calmed down a bit. I think it has something to do with that provider.

OzGav commented 2 months ago

As per the instructions please ATTACH the log. This is impossible to read.

janstadt commented 2 months ago

Ive disabled the provider and dont want to mess up my server due to this issue. Can you attempt to copy the log i pasted (which really is just a bunch of the same errors repeated) to a text editor by any chance?

janstadt commented 2 months ago

mass.log Here you go buddy. I gotta be honest, having been a software engineer for the past 20 years, what i've found is that the attitude of the community and the maintainers are what produce successful products. Its been a bit over 4 months since i submitted an issue with MASS and i've noticed that you've recently added the "attachment" requirement to issues within the last couple months. I'll try harder to abide by your rules.

marcelveldt commented 2 months ago

Can you please test this on a recent version of the MA server ? We have had some issues with spawned processes not closing properly but that should have been fixed weeks (if not months) ago. Also the other snapcast related issues whould have been fixed by now.

So for example the 2.1.3 stable version or the 2.2.0b5 beta version.

janstadt commented 2 months ago

I pinned to 2.1.0rc1 some time ago as it was running well for me until i realized this issue. I just updated to 2.1.4 and i'll let you know how it goes. Thanks.

OzGav commented 2 months ago

@janstadt checking in again as to whether this is still an issue?

OzGav commented 1 month ago

We will close this soon due to no followup