Skip to content

OOM score adjustment capped at 123 on ubuntu-24.04-riscv runner #19

@gounthar

Description

@gounthar

On ubuntu-24.04-riscv, writing to /proc/self/oom_score_adj has no effect — reads always return 123 regardless of what value is written.

The Scaleway k8s pod appears to start the runner with oom_score_adj: 123, and the container environment prevents processes from raising it further (likely no CAP_SYS_RESOURCE in the pod spec).

This breaks any test suite that writes to /proc/self/oom_score_adj. In containerd's test suite, TestSetPositiveOomScoreAdjustment writes 1000 and expects to read back 1000, but gets 123 instead:

Error: Not equal:
    expected: 1000
    actual  : 123
Test: TestSetPositiveOomScoreAdjustment

The same test passes on ubuntu-24.04 (amd64) and ubuntu-24.04-arm without issue.

Attempted workaround: echo 0 | sudo tee /proc/1/oom_score_adj before running tests — testing whether this unblocks the issue.

Kernel: 5.10.113-scw1
Runner: ubuntu-24.04-riscv
Example run: https://github.com/gounthar/containerd/actions/runs/25755188546
Related: #39 (dm_verity same pattern — module present in kernel but environment restricts expected behavior)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions