home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.93k stars 30.99k forks source link

Detected blocking call by integration 'caldav' #128333

Open gieljnssns opened 1 month ago

gieljnssns commented 1 month ago

The problem

Detected blocking call inside the event loop by integration 'caldav' at homeassistant/components/caldav/coordinator.py

What version of Home Assistant Core has the issue?

core-2024.10.2

What was the last working version of Home Assistant Core?

2024.9

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Caldav

Link to integration documentation on our website

https://www.home-assistant.io/integrations/caldav/

Diagnostics information

No response

Example YAML snippet

- platform: caldav
    url: !secret icloud_url
    username: !secret icloud_username
    password: !secret icloud_pw
    custom_calendars:
      - calendar: "Mondelez"
        name: "Mondelez"
        search: ".*"
      - calendar: "Monnikenheide"
        name: "Monnikenheide"
        search: ".*"
      # - calendar: "De Vuilkar"
      #   name: "De Vuilkar"
      #   search: ".*"
      - calendar: "Noor"
        name: "Noor"
        search: ".*"
      - calendar: "Fien"
        name: "Fien"
        search: ".*"
      - calendar: "Martine"
        name: "Martine"
        search: ".*"
      - calendar: "Giel"
        name: "Giel"
        search: ".*"
      - calendar: "Gezin"
        name: "Gezin"
        search: ".*"
      - calendar: "Noor en Fien"
        name: "Noor en Fien"
        search: ".*"
      - calendar: "Festivallekes"
        name: "Festivallekes"
        search: ".*"
      - calendar: "Mondelez"
        name: "De vroege"
        search: "De vroege"
      - calendar: "Mondelez"
        name: "De late"
        search: "De Late"
      - calendar: "Mondelez"
        name: "De nacht"
        search: "De Nacht"
      - calendar: "Mondelez"
        name: "Weekend nacht"
        search: "Weekend Nacht"
      - calendar: "Mondelez"
        name: "Weekend dag"
        search: "Weekend dag"

Anything in the logs that might be useful for us?

Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 08:50:36 (1 occurrences)
Last logged: 08:50:36

Detected blocking call to open with args ('/usr/local/lib/python3.12/site-packages/pytz/zoneinfo/Europe/Brussels', 'rb') inside the event loop by integration 'caldav' at homeassistant/components/caldav/coordinator.py, line 96: if not hasattr(event.instance, "vevent"): (offender: /usr/local/lib/python3.12/site-packages/pytz/__init__.py, line 108: return open(filename, 'rb')), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+caldav%22 For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 330, in async_refresh await self._async_refresh(log_failures=True) File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh self.data = await self._async_update_data() File "/usr/src/homeassistant/homeassistant/components/caldav/coordinator.py", line 96, in _async_update_data if not hasattr(event.instance, "vevent"):

Additional information

I think this is only at HA restart.

home-assistant[bot] commented 1 month ago

caldav documentation caldav source

tdejneka commented 2 weeks ago

Here's the error message (reported by Home Assistant version 2024.11.0).

Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 14:57:00 (1 occurrences)
Last logged: 14:57:00

Detected blocking call to open with args ('/usr/local/lib/python3.12/site-packages/pytz/zoneinfo/Africa/Abidjan', 'rb')
inside the event loop by integration 'caldav' at homeassistant/components/caldav/coordinator.py,
line 56: if not hasattr(event.instance, "vevent"):
(offender: /usr/local/lib/python3.12/site-packages/pytz/__init__.py,
line 108: return open(filename, 'rb')),

please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+caldav%22

For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open
Traceback (most recent call last): File "<frozen runpy>",
line 198, in _run_module_as_main File "<frozen runpy>",
line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py",
line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py",
line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py",
line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py",
line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py",
line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py",
line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py",
line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/components/calendar/__init__.py",
line 873, in async_get_events_service calendar_event_list = await calendar.async_get_events( File "/usr/src/homeassistant/homeassistant/components/caldav/calendar.py",
line 198, in async_get_events return await self.coordinator.async_get_events(hass, start_date, end_date) File "/usr/src/homeassistant/homeassistant/components/caldav/coordinator.py",
line 56, in async_get_events if not hasattr(event.instance, "vevent"):
sparment commented 2 weeks ago

I'm seeing the same issue. There is another issue reported here:

https://github.com/home-assistant/core/issues/129708