Skip to content

crash-support-functions.sh hardcodes cgroup v1 path causing cgroup v2 compliance violation on OpenShift 4.14+ (still present in CU24) #962

@mfharmessi

Description

@mfharmessi

Description

Despite the official documentation stating that cgroup v2 support was added in SQL Server 2022 CU20, the file /opt/mssql/bin/crash-support-functions.sh still hardcodes a cgroup v1 path in the latest image (2022-latest, CU24+GDR, pushed 2026-04-14).

Image

mcr.microsoft.com/mssql/server@sha256:2dca9ee5cd5316952d9b6ef4a0c088ac95b55e3502accdda0fc12ad6ede7b905

Tag: 2022-latest — Last pushed: April 14, 2026 (CU24 + GDR, build 16.0.4250.1)

Affected file inside image

/opt/mssql/bin/crash-support-functions.sh

Problematic line

In the capture_system_info() function:

capture_system_info_command "Control Group memory limit" "cat /sys/fs/cgroup/memory/memory.limit_in_bytes"

This path (/sys/fs/cgroup/memory/memory.limit_in_bytes) is the cgroup v1 memory limit file. It does not exist on cgroup v2 systems. On cgroup v2, the equivalent file is /sys/fs/cgroup/memory.max.

Impact

OpenShift 4.14+ uses cgroup v2 by default. The platform's compliance scanner performs static analysis of container images and flags any reference to cgroup v1 paths, emitting:

CGROUP_VERSION_V2_NOT_SUPPORTED
Cgroup version V2 not supported
filepath: /opt/mssql/bin/crash-support-functions.sh

This triggers automated compliance alerts to namespace owners and is flagged as a blocker for the OpenShift 4.19 upgrade, as cgroup v1 support is removed in OCP 4.19.

Expected behavior

The script should support both cgroup versions, as recommended by Red Hat's own migration guidance:

if [ -f /sys/fs/cgroup/memory.max ]; then
    capture_system_info_command "Control Group memory limit" "cat /sys/fs/cgroup/memory.max"
else
    capture_system_info_command "Control Group memory limit" "cat /sys/fs/cgroup/memory/memory.limit_in_bytes"
fi

Environment

  • Platform: Red Hat OpenShift 4.14+ (cgroup v2)
  • Image: mcr.microsoft.com/mssql/server:2022-latest (CU24+GDR, April 14 2026)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions