1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2025-12-24 20:35:55 +00:00

Handle EOFError with dbus-next (#3246)

This commit is contained in:
Pascal Vizeli
2021-10-20 11:37:44 +02:00
committed by GitHub
parent 36ea8b2bb4
commit f864613ffb

View File

@@ -90,13 +90,22 @@ class DBus:
except Exception as err:
raise DBusFatalError() from err
try:
introspection = await self._bus.introspect(
self.bus_name, self.object_path, timeout=10
)
except InvalidIntrospectionError as err:
_LOGGER.error("Can't parse introspect data: %s", err)
raise DBusParseError() from err
for _ in range(3):
try:
introspection = await self._bus.introspect(
self.bus_name, self.object_path, timeout=10
)
except InvalidIntrospectionError as err:
_LOGGER.error("Can't parse introspect data: %s", err)
raise DBusParseError() from err
except EOFError:
_LOGGER.warning(
"Busy system at %s - %s", self.bus_name, self.object_path
)
else:
break
await asyncio.sleep(3)
self._add_interfaces(introspection)