AlexxIT / YandexStation

Управление Яндекс.Станцией и другими устройствами умного дома с Алисой из Home Assistant
https://t.me/AlexxIT_SmartHome
MIT License
1.36k stars 124 forks source link

Detected blocking call to read_text inside the event loop by integration 'conversation' #559

Open Drafteed opened 1 week ago

Drafteed commented 1 week ago

Related: #530 HA 2024.10.2 После обновления на 3.16.0:

2024-10-16 03:26:08.918 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to read_text with args (PosixPath('/usr/local/lib/python3.12/site-packages/unicode_rbnf/VERSION'),) inside the event loop by integration 'conversation' at homeassistant/components/conversation/default_agent.py, line 15: from hassil.expression import Expression, ListReference, Sequence (offender: /usr/local/lib/python3.12/site-packages/unicode_rbnf/__init__.py, line 7: __version__ = (_DIR / "VERSION").read_text(encoding="utf-8").strip()), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+conversation%22
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#read_text
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/setup.py", line 165, in async_setup_component
result = await _async_setup_component(hass, domain, config)
File "/usr/src/homeassistant/homeassistant/setup.py", line 416, in _async_setup_component
result = await task
File "/config/custom_components/yandex_station/__init__.py", line 124, in async_setup
from . import conversation
File "<frozen importlib._bootstrap>", line 1415, in _handle_fromlist
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/config/custom_components/yandex_station/conversation.py", line 3, in <module>
from homeassistant.components.conversation import (
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/src/homeassistant/homeassistant/components/conversation/__init__.py", line 47, in <module>
from .default_agent import async_setup_default_agent
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/src/homeassistant/homeassistant/components/conversation/default_agent.py", line 15, in <module>
from hassil.expression import Expression, ListReference, Sequence
2024-10-16 03:26:08.932 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open with args (PosixPath('/usr/local/lib/python3.12/site-packages/unicode_rbnf/VERSION'),) inside the event loop by integration 'conversation' at homeassistant/components/conversation/default_agent.py, line 15: from hassil.expression import Expression, ListReference, Sequence (offender: /usr/local/lib/python3.12/pathlib.py, line 1027: with self.open(mode='r', encoding=encoding, errors=errors) as f:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+conversation%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/setup.py", line 165, in async_setup_component
result = await _async_setup_component(hass, domain, config)
File "/usr/src/homeassistant/homeassistant/setup.py", line 416, in _async_setup_component
result = await task
File "/config/custom_components/yandex_station/__init__.py", line 124, in async_setup
from . import conversation
File "<frozen importlib._bootstrap>", line 1415, in _handle_fromlist
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/config/custom_components/yandex_station/conversation.py", line 3, in <module>
from homeassistant.components.conversation import (
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/src/homeassistant/homeassistant/components/conversation/__init__.py", line 47, in <module>
from .default_agent import async_setup_default_agent
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/src/homeassistant/homeassistant/components/conversation/default_agent.py", line 15, in <module>
from hassil.expression import Expression, ListReference, Sequence
AlexxIT commented 1 week ago

Судя по логу и ошибке - это проблема интеграции conversation.

Drafteed commented 1 week ago

Возможно. Но появилось сразу после обновления компонента и в стак трейсе фигурирует yandex_station/conversation.py.

AlexxIT commented 1 week ago

Верно. Потому что в обновлении добавлена поддержка этой интеграции.

Возможно её нужно как-то иначе подключать. Сложно сказать

dmitkam commented 1 week ago

То же предупреждение на версии 3.16.0. При откате на 3.15.1 исчезает. Home Assistant Supervised 2024.10.2 Debian GNU/Linux 12

Detected blocking call to read_text with args (PosixPath('/usr/local/lib/python3.12/site-packages/unicode_rbnf/VERSION'),) inside the event loop by integration 'conversation' at homeassistant/components/conversation/default_agent.py, line 15: from hassil.expression import Expression, ListReference, Sequence (offender: /usr/local/lib/python3.12/site-packages/unicode_rbnf/init.py, line 7: version = (_DIR / "VERSION").read_text(encoding="utf-8").strip()), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+conversation%22 For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#read_text 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 416, in _async_setup_component result = await task File "/config/custom_components/yandex_station/init.py", line 124, in async_setup from . import conversation File "", line 1415, in _handle_fromlist File "", line 488, in _call_with_frames_removed File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/config/custom_components/yandex_station/conversation.py", line 3, in from homeassistant.components.conversation import ( File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/usr/src/homeassistant/homeassistant/components/conversation/init.py", line 47, in from .default_agent import async_setup_default_agent File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/usr/src/homeassistant/homeassistant/components/conversation/default_agent.py", line 15, in from hassil.expression import Expression, ListReference, Sequence

Detected blocking call to open with args (PosixPath('/usr/local/lib/python3.12/site-packages/unicode_rbnf/VERSION'),) inside the event loop by integration 'conversation' at homeassistant/components/conversation/default_agent.py, line 15: from hassil.expression import Expression, ListReference, Sequence (offender: /usr/local/lib/python3.12/pathlib.py, line 1027: with self.open(mode='r', encoding=encoding, errors=errors) as f:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+conversation%22 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 416, in _async_setup_component result = await task File "/config/custom_components/yandex_station/init.py", line 124, in async_setup from . import conversation File "", line 1415, in _handle_fromlist File "", line 488, in _call_with_frames_removed File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/config/custom_components/yandex_station/conversation.py", line 3, in from homeassistant.components.conversation import ( File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/usr/src/homeassistant/homeassistant/components/conversation/init.py", line 47, in from .default_agent import async_setup_default_agent File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/usr/src/homeassistant/homeassistant/components/conversation/default_agent.py", line 15, in from hassil.expression import Expression, ListReference, Sequence

AlexxIT commented 1 week ago

Можно посмотреть диагностику интеграции? Не могу повторить у себя.

Drafteed commented 1 week ago

yandex_station-25a0682e688415e0a21c4a1ad8bc5c46-Яндекс Мини-b058b693bd6e99f907e4dc9bd94185c9.json