-
Notifications
You must be signed in to change notification settings - Fork 751
Description
Describe the issue you are experiencing
Right after upgrading Docker / containerd via apt full-upgrade and rebooting the host:
Supervisor starts
Home Assistant Core eventually starts
But all add-ons that Supervisor tries to start time out with:
WARNING [supervisor.addons.addon] is already running!
WARNING [supervisor.addons.addon] Timeout while waiting for addon to start, took more than 120 seconds
ERROR [supervisor.resolution.fixups.addon_execute_start] Addon could not start successfully
At the same time, the Supervisor’s Docker events monitor crashes with:
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/threading.py", line 1043, in _bootstrap_inner
self.run()
File "/usr/src/supervisor/supervisor/docker/monitor.py", line 92, in run
id=event["id"],
~~~~~^^^^^^
KeyError: 'id'
So it looks like Docker 29 / containerd 2.1 are emitting at least one event without an id field and supervisor.docker.monitor doesn’t handle that case, causing the monitor thread to die.
From that moment on, Supervisor seems blind to container lifecycle events: it tries to start add-ons, logs that they are “already running”, but then always times out and marks them as failed to start.
What type of installation are you running?
Home Assistant Supervised
Which operating system are you running on?
Debian
Steps to reproduce the issue
1.upgrades
docker-ce / docker-ce-cli / docker-ce-rootless-extras to 5:29.0.1-1
docker-buildx-plugin to 0.30.0-1
containerd.io to 2.1.5-1
...
Anything in the Supervisor logs that might be useful for us?
2025-11-16 14:21:18.226 INFO (MainThread) [supervisor.docker.supervisor] Attaching to Supervisor ghcr.io/home-assistant/aarch64-hassio-supervisor with version 2025.11.2
...
2025-11-16 14:21:35.314 INFO (MainThread) [supervisor.docker.monitor] Started docker events monitor
...
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/threading.py", line 1043, in _bootstrap_inner
self.run()
File "/usr/src/supervisor/supervisor/docker/monitor.py", line 92, in run
id=event["id"],
~~~~~^^^^^^
KeyError: 'id'System information
docker-ce / docker-ce-cli / docker-ce-rootless-extras to 5:29.0.1-1
docker-buildx-plugin to 0.30.0-1
containerd.io to 2.1.5-1
Supervisor diagnostics
No response
Additional information
To get back to a working system, I did a manual downgrade of Docker and containerd to their previous versions and then pinned them:
sudo apt-get install
docker-ce=5:28.5.2-1debian.11bullseye
docker-ce-cli=5:28.5.2-1debian.11bullseye
docker-ce-rootless-extras=5:28.5.2-1debian.11bullseye
docker-buildx-plugin=0.29.1-1debian.11bullseye
containerd.io=1.7.28-2debian.11bullseye
sudo apt-mark hold docker-ce docker-ce-cli docker-ce-rootless-extras docker-buildx-plugin containerd.io
sudo reboot
After the downgrade:
Supervisor no longer crashes in supervisor.docker.monitor,
Add-ons start normally again
The system is back to the previous healthy state.
This strongly suggests that the breakage is caused by a change in the Docker / containerd event stream or API between:
Docker 28.5.2 + containerd 1.7.28 (OK)
Docker 29.0.1 + containerd 2.1.5 (broken)