Skip to content

cgroups: handle the cgroup v1 release_agent race - #1058

Open
pva wants to merge 1 commit into
OpenRC:masterfrom
pva:cgroup-v1-release_agent
Open

cgroups: handle the cgroup v1 release_agent race#1058
pva wants to merge 1 commit into
OpenRC:masterfrom
pva:cgroup-v1-release_agent

Conversation

@pva

@pva pva commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

While cgroup v1 support is not dropped, I think it's a good idea to fix the old-standing bug #90

The source for the problem is visible: release_agent works asynchronously and may remove an empty service cgroup after mkdir succeeds but before openrc-run writes the current process to its tasks file. The write then fails with ENOENT or ENODEV, leaving the service outside its per-service cgroup.

Retry the complete create-and-attach operation. Once the tasks write succeeds, the populated cgroup can no longer be removed by the release agent.

The asynchronous release agent may remove an empty service cgroup after
mkdir succeeds but before openrc-run writes the current process to its
tasks file. The write then fails with ENOENT or ENODEV, leaving the
service outside its per-service cgroup.

Retry the complete create-and-attach operation. Once the tasks write
succeeds, the populated cgroup can no longer be removed by the release
agent.

Fixes: OpenRC#90
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant