Unhandled exception during run

You have multiple issues in your log:

Unhandled exception during run
Traceback (most recent call last):
  File "/home/home/klipper/klippy/klippy.py", line 176, in run
    self.reactor.run()
  File "/home/home/klipper/klippy/reactor.py", line 292, in run
    g_next.switch()
  File "/home/home/klipper/klippy/reactor.py", line 347, in _dispatch_loop
    self._fds[fd].read_callback(eventtime)
  File "/home/home/klipper/klippy/reactor.py", line 192, in _got_pipe_signal
    func, args = self._async_queue.get_nowait()
  File "/usr/lib/python3.9/queue.py", line 199, in get_nowait
    return self.get(block=False)
  File "/usr/lib/python3.9/queue.py", line 165, in get
    with self.not_empty:
  File "/usr/lib/python3.9/threading.py", line 257, in __enter__
    return self._lock.__enter__()
RecursionError: maximum recursion depth exceeded while calling a Python object
Transition to shutdown state: Unhandled exception during run

This is caused by a haywire macro that calls FORCE_MOVE multiple times. This command should never be used during regular printing operations. Not sure what you are trying to achieve here. Fix or better yet, delete this macro. It is likely [gcode_macro blink_led].

You are calling this command throughout multiple macros. I strongly advise against doing so unless you have very good reasons and understand what you are doing.

Then we have:

Timeout with MCU 'mcu' (eventtime=8852.558622)
Transition to shutdown state: Lost communication with MCU 'mcu'
Dumping gcode input 0 blocks
Dumping 20 requests for client 548348020912

See Timeout with MCU / Lost communication with MCU

And finally, the error already discussed above.