home-assistant / addons

:heavy_plus_sign: Docker add-ons for Home Assistant
https://home-assistant.io/hassio/
Apache License 2.0
1.55k stars 1.5k forks source link

multiprotocol: Breakage on Home Assistant Yellow after latest update 2.4.1 #3391

Closed hassox closed 10 months ago

hassox commented 10 months ago

Describe the issue you are experiencing

After updating to 2.4.1 the multiprotocol fails to start with the following stacktrace:

2024-01-05 14:44:58 homeassistant universal_silabs_flasher.flash[182] INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.3.1', ezsp_version=None, ot_rcp_version=None, fw_type=<FirmwareImageType.RCP_UART_802154: 'rcp-uart-802154'>, baudrate=460800)
2024-01-05 14:44:58 homeassistant universal_silabs_flasher.flasher[182] INFO Triggering Yellow bootloader
Traceback (most recent call last):
  File "/usr/local/bin/universal-silabs-flasher", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flash.py", line 36, in inner
    return asyncio.run(f(*args, **kwargs))
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flash.py", line 322, in flash
    await flasher.probe_app_type(
  File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 196, in probe_app_type
    await self.enter_yellow_bootloader()
  File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 97, in enter_yellow_bootloader
    await send_gpio_pattern(
  File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 60, in send_gpio_pattern
    await asyncio.get_running_loop().run_in_executor(
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 30, in _send_gpio_pattern
    chip = gpiod.chip(0, gpiod.chip.OPEN_BY_NUMBER)
AttributeError: module 'gpiod.chip' has no attribute 'OPEN_BY_NUMBER'
s6-rc: warning: unable to start service universal-silabs-flasher: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.

What type of installation are you running?

Home Assistant OS

Which operating system are you running on?

Home Assistant Operating System

Which add-on are you reporting an issue with?

Almond

What is the version of the add-on?

2.4.1

Steps to reproduce the issue

Update the system. Fails to start

System Health information

System information

Version | core-2024.1.1 -- | -- Installation Type | Home Assistant OS Development | false Supervisor | true Docker | true User | root Virtual Environment | false Python Version | 3.11.6 Operating System Family | Linux Operating System Version | 6.1.63-haos-raspi CPU Architecture | aarch64 Timezone | America/Chicago Configuration Directory | /config

Core metrics

Processor usage
4.8 %
Memory usage
5.4 %

Supervisor metrics

Processor usage
0.1 %
Memory usage
1.6 %

### Anything in the Supervisor logs that might be useful for us? ```txt 24-01-05 14:40:17 INFO (MainThread) [supervisor.homeassistant.core] Successfully started Home Assistant 2024.1.1 24-01-05 14:40:17 INFO (SyncWorker_5) [supervisor.docker.manager] Cleanup images: ['ghcr.io/home-assistant/yellow-homeassistant:2024.1.0'] 24-01-05 14:40:24 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:40:35 INFO (SyncWorker_3) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:40:35 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:40:44 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:41:04 INFO (SyncWorker_4) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:41:05 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:41:13 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:41:54 INFO (SyncWorker_4) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:41:54 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:42:03 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:42:30 INFO (SyncWorker_3) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:42:31 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:42:40 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:42:43 INFO (SyncWorker_3) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:42:44 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:42:52 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:43:23 INFO (SyncWorker_4) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:43:24 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:43:32 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:43:32 INFO (SyncWorker_0) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:43:33 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:43:41 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:44:53 INFO (SyncWorker_4) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:44:53 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:45:02 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 24-01-05 14:46:22 INFO (SyncWorker_0) [supervisor.docker.manager] Cleaning addon_core_silabs_multiprotocol application 24-01-05 14:46:23 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on homeassistant/aarch64-addon-silabs-multiprotocol with version 2.4.1 24-01-05 14:46:31 ERROR (MainThread) [asyncio] Task exception was never retrieved future: exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')> Traceback (most recent call last): File "/usr/src/supervisor/supervisor/addons/addon.py", line 1354, in watchdog_container await self._restart_after_problem(event.state) File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 276, in wrapper raise on_condition( supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00 ``` ### Anything in the add-on logs that might be useful for us? ```txt 2024-01-05 14:44:58 homeassistant universal_silabs_flasher.flash[182] INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.3.1', ezsp_version=None, ot_rcp_version=None, fw_type=, baudrate=460800) 2024-01-05 14:44:58 homeassistant universal_silabs_flasher.flasher[182] INFO Triggering Yellow bootloader Traceback (most recent call last): File "/usr/local/bin/universal-silabs-flasher", line 8, in sys.exit(main()) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1157, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 783, in invoke return __callback(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/click/decorators.py", line 33, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flash.py", line 36, in inner return asyncio.run(f(*args, **kwargs)) File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete return future.result() File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flash.py", line 322, in flash await flasher.probe_app_type( File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 196, in probe_app_type await self.enter_yellow_bootloader() File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 97, in enter_yellow_bootloader await send_gpio_pattern( File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 60, in send_gpio_pattern await asyncio.get_running_loop().run_in_executor( File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.9/dist-packages/universal_silabs_flasher/flasher.py", line 30, in _send_gpio_pattern chip = gpiod.chip(0, gpiod.chip.OPEN_BY_NUMBER) AttributeError: module 'gpiod.chip' has no attribute 'OPEN_BY_NUMBER' s6-rc: warning: unable to start service universal-silabs-flasher: command exited 1 /run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information. /run/s6/basedir/scripts/rc.init: fatal: stopping the container. ``` ### Additional information _No response_
Lextum commented 10 months ago

Restore to 2.4.0 works a workaround for now.

hassox commented 10 months ago

Thanks. I'm not sure how to do that from the home assistant UI. Any pointers in how to rollback?

mikenhu commented 10 months ago

My Yellow also broke. Any pointers on how to roll back?

Wummeke commented 10 months ago

You can restore the backup from settings > system > backup.

puddly commented 10 months ago

A new version of the addon with the fix is now being compiled, you can upgrade to it when it's available.

mikenhu commented 10 months ago

I couldn't update. Here's the new issue


Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:238
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 12:16:43 AM (1 occurrences)
Last logged: 12:16:43 AM

[547608283840] Error updating Silicon Labs Multiprotocol: Can't install homeassistant/aarch64-addon-silabs-multiprotocol:2.4.2: 404 Client Error for http+docker://localhost/v1.43/images/create?tag=2.4.2&fromImage=homeassistant%2Faarch64-addon-silabs-multiprotocol&platform=linux%2Farm64: Not Found ("manifest for homeassistant/aarch64-addon-silabs-multiprotocol:2.4.2 not found: manifest unknown: manifest unknown")
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 167, in async_install
    await async_update_addon(self.hass, slug=self._addon_slug, backup=backup)
  File "/usr/src/homeassistant/homeassistant/components/hassio/handler.py", line 53, in _wrapper
    raise HassioAPIError(data["message"])
homeassistant.components.hassio.handler.HassioAPIError: Can't install homeassistant/aarch64-addon-silabs-multiprotocol:2.4.2: 404 Client Error for http+docker://localhost/v1.43/images/create?tag=2.4.2&fromImage=homeassistant%2Faarch64-addon-silabs-multiprotocol&platform=linux%2Farm64: Not Found ("manifest for homeassistant/aarch64-addon-silabs-multiprotocol:2.4.2 not found: manifest unknown: manifest unknown")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 882, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 161, in async_install
    await entity.async_install_with_progress(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 465, in async_install_with_progress
    await self.async_install(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 169, in async_install
    raise HomeAssistantError(f"Error updating {self.title}: {err}") from err
homeassistant.exceptions.HomeAssistantError: Error updating Silicon Labs Multiprotocol: Can't install homeassistant/aarch64-addon-silabs-multiprotocol:2.4.2: 404 Client Error for http+docker://localhost/v1.43/images/create?tag=2.4.2&fromImage=homeassistant%2Faarch64-addon-silabs-multiprotocol&platform=linux%2Farm64: Not Found ("manifest for homeassistant/aarch64-addon-silabs-multiprotocol:2.4.2 not found: manifest unknown: manifest unknown")
puddly commented 10 months ago

The addon is still being built, give it 20 minutes to finish: https://github.com/home-assistant/addons/actions/runs/7427212078

Lextum commented 10 months ago

@puddly it worked on my system. Thanks you for fixing this so fast 🥇

hassox commented 10 months ago

~Just reinstall the 2.4.1 version or will it come in as a new version?~

hassox commented 10 months ago

Thankyou @puddly. Amazing support :)