Skip to content

usb-cgroup-helper gets stuck in a loop under balenaOS v7 #64

Description

@benfrancis

STR:

Expected:

  • Gateway web interface available via port 80 to continue first time setup

Actual:

  • Once the hub gets a network connection, balenaOS attempts to push an update but fails to stop the usb-cgroup-helper container and gets stuck in an unrecoverable state with both containers stuck on "stopping" and the following logs:
Killed service 'webthings-gateway sha256:597afdeffdad720b0136cb3fa84ceee0bcfde88e39820a48888811b0c0fa2ced'

Service exited 'usb-cgroup-helper sha256:d832c84deb20f833a976f64f576d87b523c6621cdffec76e58d5d9fc71f55182'

Failed to kill service 'usb-cgroup-helper sha256:d832c84deb20f833a976f64f576d87b523c6621cdffec76e58d5d9fc71f55182' due to '(HTTP code 409) unexpected - removal of container dc626a9fca6d3845dbf41b0b622a3046d74dfb3ba0ef9557429e0a2bd6e2dd06 is already in progress '

Killed service 'usb-cgroup-helper sha256:d832c84deb20f833a976f64f576d87b523c6621cdffec76e58d5d9fc71f55182'

Deleting image 'registry2.balena-cloud.com/v2/ba9f1f622ce69ccf65c0cce2c07d0936@sha256:cfd2c40aa96a10505277eb61b5006264adbb193ab7a1783ae3586dc53354776f'

Deleting image 'registry2.balena-cloud.com/v2/8e1b7882098b7cc287845e63123e3d36@sha256:93494a25a98222734caa16b965721b52ccedf030007c51f195c8384dca645afe'

Deleted image 'registry2.balena-cloud.com/v2/8e1b7882098b7cc287845e63123e3d36@sha256:93494a25a98222734caa16b965721b52ccedf030007c51f195c8384dca645afe'

Deleted image 'registry2.balena-cloud.com/v2/ba9f1f622ce69ccf65c0cce2c07d0936@sha256:cfd2c40aa96a10505277eb61b5006264adbb193ab7a1783ae3586dc53354776f'

Removing network 'default'

Creating network 'default'

Releasing update locks

Service exited 'webthings-gateway sha256:597afdeffdad720b0136cb3fa84ceee0bcfde88e39820a48888811b0c0fa2ced' 

heartbeat and cloudlink are green on balenaCloud, but it's no longer possible to SSH into the device on a production image so the error becomes unrecoverable. Rebooting appears to repeat the same failed update.

Debugging this with a development build it appears that cgroup-allow.sh gets stuck in an infinite retry loop because find_devices_allow() can't locate the cgroup path.

[Logs]    [2026-06-05T11:17:16.796Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:21.807Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:26.817Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:31.828Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:36.838Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:41.848Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:46.859Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:51.869Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:17:56.880Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:18:01.890Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:18:06.900Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:18:11.910Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:18:16.921Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...
[Logs]    [2026-06-05T11:18:21.931Z] [usb-cgroup-helper] cgroup-helper: cgroup devices.allow not found for c5321340d191, retrying...

As far as I can tell the cause of the problem is that belanaOS v7 upgraded to cgroups v2 which doesn't appear to have a devices.allow file, so the current approach with the sidecar usb-cgroup-helper container no longer works. This means USB hotplugging is no longer supported after the upgrade to balena OS 7.0.5.

I've asked for help in the Balena forums.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions