How to recover from "Configuring (OS update failed)"?

Hi,

An attempt to update Host OS version (from balenaOS 5.3.22 to balenaOS 6.5.50+rev2) on a RPI5 has failed (likely because of unstable internet connection) and the device seem to get stuck in the “Configuring (OS update failed)” status.

The device itself is still up & running and I get ssh.

“Reboot” fails with “Operation failed with: Supervisor locked” error.

How to recover from this / retry Host OS update?

Hi, the balenaCloud dashboard will allow you to retry the update. If you just want to clear the message, restarting the supervisor will do.

the balenaCloud dashboard will allow you to retry the update

This does not seem to be working - when I try to repeat the update, it just says “Operation completed successfully” but then nothing happens.

If you just want to clear the message, restarting the supervisor will do.

Neither of those help - am I doing it wrong?

systemctl restart balena-supervisor
systemctl restart balena

And I still get “Operation failed with: Supervisor locked” error when I try to reboot the device from the UI or “Waiting for Host OS update to finish” if I try to do it via supervisor API.

Can you post the Host Update (HUP) log for the most recent update attempt? It’s in /mnt/data/balenahup/.

Here is the log from the most recent attempt (there are multiple attempts - all logs look the same)

$ cat /mnt/data/balenahup/upgrade-2.x.sh.20250924_120514.log
[upgrade-2.x.sh][000000000][INFO]================upgrade-2.x.sh HEADER START====================
Wed Sep 24 12:05:14 UTC 2025
[upgrade-2.x.sh][000000000][INFO]Raw target version: 6.5.50+rev2
[upgrade-2.x.sh][000000000][ERROR]Interrupted on error
[upgrade-2.x.sh][000000000][INFO]Exit on error 1
[upgrade-2.x.sh][000003544][INFO]Lock removed - end.

And here is (cut) logs from the very first attempt that failed

$ cat /mnt/data/balenahup/upgrade-2.x.sh.20250910_095817.log
[upgrade-2.x.sh][000000000][INFO]================upgrade-2.x.sh HEADER START====================
Wed Sep 10 09:58:17 UTC 2025
[upgrade-2.x.sh][000000000][INFO]Raw target version: 6.5.50+rev2
[upgrade-2.x.sh][000000000][INFO]Target version supports hostapps, no device type support check required.
[upgrade-2.x.sh][000000000][INFO]Target OS version "6.5.50+rev2" OK.
[upgrade-2.x.sh][000000000][INFO]Host OS version "5.3.22" OK.
[upgrade-2.x.sh][000000001][INFO]Attempting host OS update using deltas
[upgrade-2.x.sh][000000003][INFO]Found delta image: registry2.balena-cloud.com/v2/1e43b74a40574cb41a0ac8103d29a5b2:delta-acd310938011a466, size: 126 MB
[upgrade-2.x.sh][000000003][INFO]No resin-device-progress fix is required...
[upgrade-2.x.sh][000000003][INFO]No supervisor updater fix is required...
[upgrade-2.x.sh][000000003][INFO]hostapp-update command exists, use that for update
[upgrade-2.x.sh][000000004][INFO]Running pre-update fixes for raspberrypi5
[upgrade-2.x.sh][000000004][INFO]Removing start_db.elf from boot partition
[upgrade-2.x.sh][000000004][INFO]Removing fixup_db.dat from boot partition
[upgrade-2.x.sh][000000004][INFO]Calling hostapp-update for registry2.balena-cloud.com/v2/1e43b74a40574cb41a0ac8103d29a5b2:delta-acd310938011a466
[hostapp-update][INFO] Running hostapp update...
[hostapp-update][INFO] delta-acd310938011a466: Pulling from v2/1e43b74a40574cb41a0ac8103d29a5b2
0f9a0723a2dc: Pulling fs layer
0f9a0723a2dc: Ready to download
0f9a0723a2dc: Pull complete
Digest: sha256:cfb926d916d15e90edc1a2bb7c74ace265e1a391c853fc3f4b8b9c5f4dfb938e
Status: Downloaded newer image for registry2.balena-cloud.com/v2/1e43b74a40574cb41a0ac8103d29a5b2:delta-acd310938011a466
registry2.balena-cloud.com/v2/1e43b74a40574cb41a0ac8103d29a5b2:delta-acd310938011a466
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
[hostapp-update][INFO] Before hooks (old os) ran successfully
[hostapp-update][INFO] WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
[1-bootfiles][INFO] Boot partition can accomodate the new update.
[1-bootfiles][INFO] Updated timestamps for all files in /mnt/boot
[1-bootfiles][INFO] Deploying /mnt/boot/balena-image
...
[1-bootfiles][INFO] Deploying /mnt/boot/start_x.elf
[1-bootfiles][INFO] Generating fingerprint file for /mnt/boot
[80-rollback][INFO] Running rollback hook
[99-balena-bootloader][INFO] Switching root partition to B
[99-balena-bootloader][INFO] Will use root B during next boot
[hostapp-update][INFO] New/Forward hooks (new os container) ran successfully.
[hostapp-update][INFO] After hooks (old os) ran successfully
[hostapp-update][INFO] Finished running hostapp update
[upgrade-2.x.sh][000000059][INFO]No device-specific pre-update fix for raspberrypi5
[upgrade-2.x.sh][000000059][INFO]Supervisor update start...
[upgrade-2.x.sh][000000059][INFO]No explicit supervisor version was provided, update to default version in target balenaOS...
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
[upgrade-2.x.sh][000000060][INFO]Extracted default version is v17.0.3...
[upgrade-2.x.sh][000000060][ERROR]Failed to fetch current supervisor version from the API.
[upgrade-2.x.sh][000000060][INFO]Exit on error 1
[upgrade-2.x.sh][000000181][INFO]Lock removed - end.

@alanb128 are these logs useful? Anything else I can try to recover from this state? (it’s at remote location, so physical access it tricky)