Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix blocking call inside the event loop #1426

Closed
hmmbob opened this issue Jun 1, 2024 · 10 comments
Closed

Fix blocking call inside the event loop #1426

hmmbob opened this issue Jun 1, 2024 · 10 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@hmmbob
Copy link
Contributor

hmmbob commented Jun 1, 2024

HA 2024.6 beta is throwing the following error (multiple times):

2024-06-01 16:22:21.706 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f: (offender: /config/custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f:), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues

@lordwizzard
Copy link

HA 2024.6 GA release

Logger: homeassistant.util.loop
Source: util/loop.py:84
First occurred: 4:01:08 PM (23 occurrences)
Last logged: 4:01:08 PM

Detected blocking call to open inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f: (offender: /config/custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f:), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in 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 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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/setup.py", line 165, in async_setup_component result = await _async_setup_component(hass, domain, config) File "/usr/src/homeassistant/homeassistant/setup.py", line 447, in async_setup_component await asyncio.gather( File "/usr/src/homeassistant/homeassistant/setup.py", line 449, in create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async.py", line 37, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 742, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/sonoff/init.py", line 170, in async_setup_entry await system_health.setup_debug(hass, _LOGGER) File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})" File "/config/custom_components/sonoff/core/xutils.py", line 20, in source_hash with open(path, "rb") as f:

@Waank1
Copy link

Waank1 commented Jun 7, 2024

Having similar error:

Detected blocking call to open inside the event loop by custom integration 'alexa_media' at custom_components/alexa_media/sensor.py, line 450: timezone = pytz.timezone( (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/alandtse/alexa_media_player/issues Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in 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 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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/config_entries.py", line 2055, in async_forward_entry_setup return await self._async_forward_entry_setup(entry, domain, True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2081, in _async_forward_entry_setup await entry.async_setup(self.hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup result = await component.async_setup_entry(hass, self) File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 134, in async_setup_entry return await component.async_setup_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 196, in async_setup_entry return await self._platforms[key].async_setup_entry(config_entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 333, in async_setup_entry return await self._async_setup_platform(async_create_setup_awaitable) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 363, in async_setup_platform awaitable = create_eager_task(awaitable, loop=hass.loop) File "/usr/src/homeassistant/homeassistant/util/async.py", line 37, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/config/custom_components/alexa_media/sensor.py", line 162, in async_setup_entry return await async_setup_platform( File "/config/custom_components/alexa_media/sensor.py", line 151, in async_setup_platform return await add_devices( File "/config/custom_components/alexa_media/helpers.py", line 53, in add_devices add_devices_callback(devices, False) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 515, in async_schedule_add_entities_for_entry task = self.config_entry.async_create_task( File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1134, in async_create_task task = hass.async_create_task_internal( File "/usr/src/homeassistant/homeassistant/core.py", line 828, in async_create_task_internal task = create_eager_task(target, name=name, loop=self.loop) File "/usr/src/homeassistant/homeassistant/util/async.py", line 37, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 649, in async_add_entities await add_func(coros, entities, timeout) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 600, in _async_add_entities await coro File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 914, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1354, in add_to_platform_finish await self.async_added_to_hass() File "/config/custom_components/alexa_media/sensor.py", line 541, in async_added_to_hass self._process_raw_notifications() File "/config/custom_components/alexa_media/sensor.py", line 382, in _process_raw_notifications list(map(self._fix_alarm_date_time, self._n_dict.items())) File "/config/custom_components/alexa_media/sensor.py", line 450, in _fix_alarm_date_time timezone = pytz.timezone(

Running:

Core 2024.6.0
Supervisor 2024.06.0
Operating System 12.3
Frontend 20240605.0

@dodavies
Copy link

dodavies commented Jun 10, 2024

2024-06-10 15:48:58.843 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f: (offender: /config/custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f:), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
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 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 77, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 85, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware
response = await handler(request)
File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
result = await handler(request, **request.match_info)
File "/usr/src/homeassistant/homeassistant/components/diagnostics/init.py", line 299, in get
data = await info.device_diagnostics(hass, config_entry, device)
File "/config/custom_components/sonoff/diagnostics.py", line 69, in async_get_device_diagnostics
info = await async_get_config_entry_diagnostics(hass, entry)
File "/config/custom_components/sonoff/diagnostics.py", line 56, in async_get_config_entry_diagnostics
"version": xutils.source_hash(),
File "/config/custom_components/sonoff/core/xutils.py", line 20, in source_hash
with open(path, "rb") as f:

None of the sonoff devices function

Core
2024.6.1
Supervisor
2024.06.0
Operating System
12.3
Frontend
20240605.0

@xriser
Copy link

xriser commented Jun 19, 2024

I have the same issue. Can't upgrade HA, it doesn't start and dies with this error

@istornz
Copy link

istornz commented Jun 22, 2024

Same issue here too:

2024-06-22 18:52:09.035 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f: (offender: /config/custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f:), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues
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 190, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 447, in _async_setup_component
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 449, in <genexpr>
    create_eager_task(
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 742, in async_setup_locked
    await self.async_setup(hass, integration=integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/sonoff/__init__.py", line 170, in async_setup_entry
    await system_health.setup_debug(hass, _LOGGER)
  File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug
    info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})"
  File "/config/custom_components/sonoff/core/xutils.py", line 20, in source_hash
    with open(path, "rb") as f:

@smarthomefamilyverrips
Copy link

smarthomefamilyverrips commented Jun 24, 2024

Same here on HA 2024.6.4 and OS 12.4

Logger: homeassistant.util.loop
Source: util/loop.py:84
First occurred: 15:25:53 (23 occurrences)
Last logged: 15:25:53

Detected blocking call to open inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f: (offender: /config/custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f:), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues 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 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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/system_health/__init__.py", line 89, in get_integration_info data = await registration.info_callback(hass) File "/config/custom_components/sonoff/system_health.py", line 45, in system_health_info "version": f"{integration.version} ({xutils.source_hash()})", File "/config/custom_components/sonoff/core/xutils.py", line 20, in source_hash with open(path, "rb") as f:

@smarthomefamilyverrips
Copy link

smarthomefamilyverrips commented Jul 20, 2024

@AlexxIT Still there on 2024.7.3 #1452

Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 15:57:57 (3 occurrences)
Last logged: 15:57:57

Detected blocking call to walk with args ('/config/custom_components/sonoff',) inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 14: for root, dirs, files in os.walk(path): (offender: /config/custom_components/sonoff/core/xutils.py, line 14: for root, dirs, files in os.walk(path):), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#walk 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 190, 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/system_health/__init__.py", line 89, in get_integration_info data = await registration.info_callback(hass) File "/config/custom_components/sonoff/system_health.py", line 45, in system_health_info "version": f"{integration.version} ({xutils.source_hash()})", File "/config/custom_components/sonoff/core/xutils.py", line 14, in source_hash for root, dirs, files in os.walk(path):
Detected blocking call to scandir with args ('/config/custom_components/sonoff',) inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 14: for root, dirs, files in os.walk(path): (offender: <frozen os>, line 366: ?), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir 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 190, 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/system_health/__init__.py", line 89, in get_integration_info data = await registration.info_callback(hass) File "/config/custom_components/sonoff/system_health.py", line 45, in system_health_info "version": f"{integration.version} ({xutils.source_hash()})", File "/config/custom_components/sonoff/core/xutils.py", line 14, in source_hash for root, dirs, files in os.walk(path):
Detected blocking call to open with args ('/config/custom_components/sonoff/__init__.py', 'rb') inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f: (offender: /config/custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f:), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues 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 190, 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/system_health/__init__.py", line 89, in get_integration_info data = await registration.info_callback(hass) File "/config/custom_components/sonoff/system_health.py", line 45, in system_health_info "version": f"{integration.version} ({xutils.source_hash()})", File "/config/custom_components/sonoff/core/xutils.py", line 20, in source_hash with open(path, "rb") as f:

@fabio-garavini
Copy link
Contributor

fabio-garavini commented Aug 19, 2024

I'm sorry I've created a duplicate issue

@lordwizzard
Copy link

So with 202409.0 core update:
On a Home Assistant Yellow

Still seeing these three errors, even with the pull request merged for #1426:

Detected blocking call to walk with args ('/config/custom_components/sonoff',) inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 14: for root, dirs, files in os.walk(path): (offender: /config/custom_components/sonoff/core/xutils.py, line 14: for root, dirs, files in os.walk(path):), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#walk Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in 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/setup.py", line 165, in async_setup_component result = await _async_setup_component(hass, domain, config) File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in async_setup_component await asyncio.gather( File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async.py", line 45, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/sonoff/init.py", line 170, in async_setup_entry await system_health.setup_debug(hass, _LOGGER) File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})" File "/config/custom_components/sonoff/core/xutils.py", line 14, in source_hash for root, dirs, files in os.walk(path):

Detected blocking call to scandir with args ('/config/custom_components/sonoff',) inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 14: for root, dirs, files in os.walk(path): (offender: , line 366: ?), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in 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/setup.py", line 165, in async_setup_component result = await _async_setup_component(hass, domain, config) File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in async_setup_component await asyncio.gather( File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async.py", line 45, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/sonoff/init.py", line 170, in async_setup_entry await system_health.setup_debug(hass, _LOGGER) File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})" File "/config/custom_components/sonoff/core/xutils.py", line 14, in source_hash for root, dirs, files in os.walk(path):

Detected blocking call to open with args ('/config/custom_components/sonoff/init.py', 'rb') inside the event loop by custom integration 'sonoff' at custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f: (offender: /config/custom_components/sonoff/core/xutils.py, line 20: with open(path, "rb") as f:), please create a bug report at https://github.com/AlexxIT/SonoffLAN/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in 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/setup.py", line 165, in async_setup_component result = await _async_setup_component(hass, domain, config) File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in async_setup_component await asyncio.gather( File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async.py", line 45, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/sonoff/init.py", line 170, in async_setup_entry await system_health.setup_debug(hass, _LOGGER) File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})" File "/config/custom_components/sonoff/core/xutils.py", line 20, in source_hash with open(path, "rb") as f:

Full log:
1st error log:

For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#walk
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
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/setup.py", line 165, in async_setup_component
result = await _async_setup_component(hass, domain, config)
File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in async_setup_component
await asyncio.gather(
File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in
create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async
.py", line 45, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked
await self.async_setup(hass, integration=integration)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/sonoff/init.py", line 170, in async_setup_entry
await system_health.setup_debug(hass, _LOGGER)
File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug
info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})"
File "/config/custom_components/sonoff/core/xutils.py", line 14, in source_hash
for root, dirs, files in os.walk(path):

2nd error log:

For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
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/setup.py", line 165, in async_setup_component
result = await _async_setup_component(hass, domain, config)
File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in async_setup_component
await asyncio.gather(
File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in
create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async
.py", line 45, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked
await self.async_setup(hass, integration=integration)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/sonoff/init.py", line 170, in async_setup_entry
await system_health.setup_debug(hass, _LOGGER)
File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug
info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})"
File "/config/custom_components/sonoff/core/xutils.py", line 14, in source_hash
for root, dirs, files in os.walk(path):

3 error in log:

For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
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/setup.py", line 165, in async_setup_component
result = await _async_setup_component(hass, domain, config)
File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in async_setup_component
await asyncio.gather(
File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in
create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async
.py", line 45, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked
await self.async_setup(hass, integration=integration)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/sonoff/init.py", line 170, in async_setup_entry
await system_health.setup_debug(hass, _LOGGER)
File "/config/custom_components/sonoff/system_health.py", line 62, in setup_debug
info[DOMAIN + "_version"] = f"{integration.version} ({xutils.source_hash()})"
File "/config/custom_components/sonoff/core/xutils.py", line 20, in source_hash
with open(path, "rb") as f:

@AlexxIT AlexxIT changed the title Detected blocking call to open inside the event loop (HA 2024.6) Fix blocking call inside the event loop Sep 7, 2024
@AlexxIT AlexxIT added this to the v3.8.0 milestone Sep 7, 2024
@AlexxIT
Copy link
Owner

AlexxIT commented Sep 8, 2024

@AlexxIT AlexxIT closed this as completed Sep 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants