UI-Lovelace-Minimalist / UI

UI-Lovelace-Minimalist is a "theme" for HomeAssistant
https://ui-lovelace-minimalist.github.io/UI/
Other
1.68k stars 439 forks source link

Blocking call stops Lovelace and makes HA crash #1504

Open thedmmatt opened 5 months ago

thedmmatt commented 5 months ago

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:

  1. Go to 'Integrations'
  2. Select the UI Lovelace Minimalist integration
  3. Click on 'Configure'
  4. Make any changes and try to apply them
  5. 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

wilbiev commented 5 months ago

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'

wilbiev commented 4 months ago

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