I was configuring HA with a customer when we encountered the following backtrace on master #2 when master #1 tried to send the sessiondb diff: > 2024-11-14 08:32:45 ERROR vsmserver: Traceback (most recent call last): > 2024-11-14 08:32:45 ERROR vsmserver: File "/usr/lib64/python3.9/asyncio/events.py", line 80, in _run > 2024-11-14 08:32:45 ERROR vsmserver: self._context.run(self._callback, *self._args) > 2024-11-14 08:32:45 ERROR vsmserver: File "/opt/thinlinc/modules/thinlinc/vsm/xmlrpc.py", line 349, in _callback_done > 2024-11-14 08:32:45 ERROR vsmserver: assert future is self . _response > 2024-11-14 08:32:45 ERROR vsmserver: AssertionError > 2024-11-14 08:32:45 ERROR vsmserver: ---------------------------------------- > 2024-11-14 08:32:46 ERROR vsmserver: Exception in callback SessionChangeHandler._verify_sessions_done(<Future>) > 2024-11-14 08:32:46 ERROR vsmserver: handle: <Handle SessionChangeHandler._verify_sessions_done(<Future>)> > 2024-11-14 08:32:46 ERROR vsmserver: ---------------------------------------- > 2024-11-14 08:32:46 ERROR vsmserver: Traceback (most recent call last): > 2024-11-14 08:32:46 ERROR vsmserver: File "/usr/lib64/python3.9/asyncio/events.py", line 80, in _run > 2024-11-14 08:32:46 ERROR vsmserver: self._context.run(self._callback, *self._args) > 2024-11-14 08:32:46 ERROR vsmserver: File "/opt/thinlinc/modules/thinlinc/vsm/handler_sessionchange.py", line 134, in _verify_sessions_done > 2024-11-14 08:32:46 ERROR vsmserver: if iIiIiiIIIiII [ 'error' ] or not iIiIiiIIIiII [ 'alive' ] : > 2024-11-14 08:32:46 ERROR vsmserver: KeyError: 'error' This happened after moving the master to a new machine, leaving stray sessons already running on the agents. Killing the all the stray tl-session and Xvnc processes on the agents and then restarting the vsmagent and vsmserver services resolved the issue.
Not sure why this happens, but we should apparently not assume the `error` key to be part of that dict.