Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix cgroup v2 memory stat related panics #139

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

alexman-stripe
Copy link

When containers are terminated, cgroup v2 memory metrics under /sys/fs/cgroup may disappear.
Previously, kata-agent assumed these metrics always exist, leading to panics as reported in #138.

This commit returns default value (0) when memory metric files are missing.
This behaviour aligns with cgroup v1, which also defaults to 0 memory metric files are missing:

Submitting a new PR because #116 does not handle MemSwap.fail_cnt, which also causes panics.

FIxes #138

When containers are terminated, cgroup v2 memory metrics under /sys/fs/cgroup may disappear.
Previously, kata-agent assumed these metrics always exist, leading to panics as reported in kata-containers#138.

This commit returns default value (0) when memory metric files are missing.
This behaviour aligns with cgroup v1, which also defaults to 0 memory metric files are missing:
- Memory.limit_in_bytes which maps to m.max https://github.com/kata-containers/cgroups-rs/blob/main/src/memory.rs#L635
- Memory.soft_limit_in_bytes which maps to m.low https://github.com/kata-containers/cgroups-rs/blob/main/src/memory.rs#L661
- MemSwap.fail_cnt: https://github.com/kata-containers/cgroups-rs/blob/main/src/memory.rs#L631

Submitting a new PR because kata-containers#116 does not handle MemSwap.fail_cnt, which will also cause panic.

Signed-off-by: Alex Man <[email protected]>
@alexman-stripe alexman-stripe force-pushed the alexman-stripe/fix-memory-panic branch from 0ecd74f to 48545da Compare September 11, 2024 17:32
@alexman-stripe
Copy link
Author

CI hasn't ran. Trying to trigger it by reopening the PR.

@alexman-stripe
Copy link
Author

Hello @Tim-Zhang, I'm unable to trigger the CI build jobs. Would you mind helping? Thank you.

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.

Memory controller panics in some situations
1 participant