Blocking call stops Lovelace and makes HA crash
thedmmatt opened this issue · 3 comments
Describe the bug
When trying to change anything in the Integration config page (for example, a simples edition such as disabling adaptative dashboard), HA starts logging the same message over and over again until it becomes unresponsible and/or crashes, requiring the container to be restarted.
To Reproduce
Steps to reproduce the behavior:
- Go to 'Integrations'
- Select the UI Lovelace Minimalist integration
- Click on 'Configure'
- Make any changes and try to apply them
- See the error in the logs
Expected behavior
Any changes would be saved by the integration or errors would be printed in the popup header without crashing HA.
Screenshots
n/a
Additional context
Running HA as a Docker container over WSL2.
Related Logs (can be found in the browser-console (F12))
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/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 83, 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/http/decorators.py", line 81, in with_admin
return await func(self, request, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 285, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 70, in wrapper
return await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 122, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 368, in async_configure
result = await self._async_configure(flow_id, user_input)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 414, in _async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 572, in _async_handle_step
result = await self.async_finish_flow(flow, result.copy())
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2563, in async_finish_flow
self.hass.config_entries.async_update_entry(entry, options=result["data"])
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2005, in async_update_entry
self.hass.async_create_task(
File "/usr/src/homeassistant/homeassistant/core.py", line 806, in async_create_task
return self.async_create_task_internal(target, name, eager_start)
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 "/config/custom_components/ui_lovelace_minimalist/__init__.py", line 141, in async_reload_entry
await async_setup_entry(hass, config_entry)
File "/config/custom_components/ui_lovelace_minimalist/__init__.py", line 124, in async_setup_entry
return await async_initialize_integration(hass=hass, config_entry=config_entry)
File "/config/custom_components/ui_lovelace_minimalist/__init__.py", line 104, in async_initialize_integration
startup_result = await async_startup()
File "/config/custom_components/ui_lovelace_minimalist/__init__.py", line 93, in async_startup
not await ulm.configure_ulm()
File "/config/custom_components/ui_lovelace_minimalist/base.py", line 480, in configure_ulm
shutil.copytree(
Yes -- weirdly enough, the error log stops right there with an open parenthesis
Related Card Config
n/a
I fixed two issues with my limited knowledge of Python and Home Assistant. You can find the modified files init.py and base.py in my GitHub repository https://github.com/wilbiev/UI/tree/main/custom_components/ui_lovelace_minimalist
The solved issues are the hanging (problem in the reload of the integration) and the log messages 'Detected blocking call'
Fixed hanging issues for (first-time) users not using the GitHub option. Update in https://github.com/wilbiev/UI/blob/main/custom_components/ui_lovelace_minimalist/__init__.py.
PR created.
Other issues were fixed in new available version v1.3.10