A DESCRIPTION OF THE PROBLEM :
AFAIU https://bugs.openjdk.org/browse/JDK-8347811 affects JDK21, JDK17 and older as well. Since they are in wide use would it be possible to backport the fix for 25 to the older JDKs?
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
```
# docker run -it --rm eclipse-temurin:21.0.7_6-jdk-alpine-3.20 /bin/sh
/ # java -Xlog:os+container=trace --version
[0.001s][trace][os,container] OSContainer::init: Initializing Container Support
[0.001s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.001s][debug][os,container] controller cpuset is not enabled
[0.001s][debug][os,container] controller memory is not enabled
[0.001s][debug][os,container] One or more required controllers disabled at kernel level.
openjdk 21.0.7 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)
/ # grep cgroup /proc/self/mounts
cgroup /sys/fs/cgroup cgroup2 ro,nosuid,nodev,noexec,relatime 0 0
/ # uname -a
Linux b036751a8757 6.12.32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.32-1 (2025-06-07) x86_64 GNU/Linux
```
```
# docker run -it --rm eclipse-temurin:17.0.15_6-jdk-alpine-3.21 /bin/sh
/ # java -Xlog:os+container=trace --version
[0.001s][trace][os,container] OSContainer::init: Initializing Container Support
[0.001s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.001s][debug][os,container] controller cpu is not enabled
[0.001s][debug][os,container] controller memory is not enabled
[0.001s][debug][os,container] One or more required controllers disabled at kernel level.
openjdk 17.0.15 2025-04-15
OpenJDK Runtime Environment Temurin-17.0.15+6 (build 17.0.15+6)
OpenJDK 64-Bit Server VM Temurin-17.0.15+6 (build 17.0.15+6, mixed mode, sharing)
```
```
# docker run -it --rm eclipse-temurin:11.0.27_6-jdk-alpine-3.21 /bin/sh
/ # java -Xlog:os+container=trace --version
[0.002s][trace][os,container] OSContainer::init: Initializing Container Support
[0.002s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.002s][debug][os,container] controller cpu is not enabled
[0.002s][debug][os,container] controller memory is not enabled
[0.002s][debug][os,container] One or more required controllers disabled at kernel level.
openjdk 11.0.27 2025-04-15
OpenJDK Runtime Environment Temurin-11.0.27+6 (build 11.0.27+6)
OpenJDK 64-Bit Server VM Temurin-11.0.27+6 (build 11.0.27+6, mixed mode)
```
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
```
# docker run -it --rm eclipse-temurin:21.0.7_6-jdk-alpine-3.20 /bin/sh
/ # uname -a
Linux 1fcf259d756b 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux
/ # grep cgroup /proc/self/mounts
cgroup /sys/fs/cgroup cgroup2 ro,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
/ # java -Xlog:os+container=trace --version
[0.001s][trace][os,container] OSContainer::init: Initializing Container Support
[0.001s][debug][os,container] Detected optional cpuset controller entry in /proc/cgroups
[0.001s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.002s][debug][os,container] Detected cgroups v2 unified hierarchy
[0.002s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.002s][trace][os,container] Raw value for CPU quota is: max
[0.002s][trace][os,container] CPU Quota is: -1
[0.002s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.002s][trace][os,container] CPU Period is: 100000
[0.002s][trace][os,container] OSContainer::active_processor_count: 8
[0.002s][trace][os,container] CgroupSubsystem::active_processor_count (cached): 8
[0.002s][trace][os,container] total physical memory: 16669937664
[0.002s][trace][os,container] Path to /memory.max is /sys/fs/cgroup/memory.max
[0.002s][trace][os,container] Raw value for memory limit is: max
[0.002s][trace][os,container] Memory Limit is: Unlimited
[0.003s][debug][os,container] container memory limit unlimited: -1, using host value 16669937664
[0.016s][trace][os,container] CgroupSubsystem::active_processor_count (cached): 8
[0.032s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.032s][trace][os,container] Raw value for CPU quota is: max
[0.032s][trace][os,container] CPU Quota is: -1
[0.032s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.032s][trace][os,container] CPU Period is: 100000
[0.032s][trace][os,container] OSContainer::active_processor_count: 8
openjdk 21.0.7 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)
```
and similar for JDK17 and 11
AFAIU https://bugs.openjdk.org/browse/JDK-8347811 affects JDK21, JDK17 and older as well. Since they are in wide use would it be possible to backport the fix for 25 to the older JDKs?
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
```
# docker run -it --rm eclipse-temurin:21.0.7_6-jdk-alpine-3.20 /bin/sh
/ # java -Xlog:os+container=trace --version
[0.001s][trace][os,container] OSContainer::init: Initializing Container Support
[0.001s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.001s][debug][os,container] controller cpuset is not enabled
[0.001s][debug][os,container] controller memory is not enabled
[0.001s][debug][os,container] One or more required controllers disabled at kernel level.
openjdk 21.0.7 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)
/ # grep cgroup /proc/self/mounts
cgroup /sys/fs/cgroup cgroup2 ro,nosuid,nodev,noexec,relatime 0 0
/ # uname -a
Linux b036751a8757 6.12.32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.32-1 (2025-06-07) x86_64 GNU/Linux
```
```
# docker run -it --rm eclipse-temurin:17.0.15_6-jdk-alpine-3.21 /bin/sh
/ # java -Xlog:os+container=trace --version
[0.001s][trace][os,container] OSContainer::init: Initializing Container Support
[0.001s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.001s][debug][os,container] controller cpu is not enabled
[0.001s][debug][os,container] controller memory is not enabled
[0.001s][debug][os,container] One or more required controllers disabled at kernel level.
openjdk 17.0.15 2025-04-15
OpenJDK Runtime Environment Temurin-17.0.15+6 (build 17.0.15+6)
OpenJDK 64-Bit Server VM Temurin-17.0.15+6 (build 17.0.15+6, mixed mode, sharing)
```
```
# docker run -it --rm eclipse-temurin:11.0.27_6-jdk-alpine-3.21 /bin/sh
/ # java -Xlog:os+container=trace --version
[0.002s][trace][os,container] OSContainer::init: Initializing Container Support
[0.002s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.002s][debug][os,container] controller cpu is not enabled
[0.002s][debug][os,container] controller memory is not enabled
[0.002s][debug][os,container] One or more required controllers disabled at kernel level.
openjdk 11.0.27 2025-04-15
OpenJDK Runtime Environment Temurin-11.0.27+6 (build 11.0.27+6)
OpenJDK 64-Bit Server VM Temurin-11.0.27+6 (build 11.0.27+6, mixed mode)
```
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
```
# docker run -it --rm eclipse-temurin:21.0.7_6-jdk-alpine-3.20 /bin/sh
/ # uname -a
Linux 1fcf259d756b 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux
/ # grep cgroup /proc/self/mounts
cgroup /sys/fs/cgroup cgroup2 ro,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
/ # java -Xlog:os+container=trace --version
[0.001s][trace][os,container] OSContainer::init: Initializing Container Support
[0.001s][debug][os,container] Detected optional cpuset controller entry in /proc/cgroups
[0.001s][debug][os,container] Detected optional pids controller entry in /proc/cgroups
[0.002s][debug][os,container] Detected cgroups v2 unified hierarchy
[0.002s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.002s][trace][os,container] Raw value for CPU quota is: max
[0.002s][trace][os,container] CPU Quota is: -1
[0.002s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.002s][trace][os,container] CPU Period is: 100000
[0.002s][trace][os,container] OSContainer::active_processor_count: 8
[0.002s][trace][os,container] CgroupSubsystem::active_processor_count (cached): 8
[0.002s][trace][os,container] total physical memory: 16669937664
[0.002s][trace][os,container] Path to /memory.max is /sys/fs/cgroup/memory.max
[0.002s][trace][os,container] Raw value for memory limit is: max
[0.002s][trace][os,container] Memory Limit is: Unlimited
[0.003s][debug][os,container] container memory limit unlimited: -1, using host value 16669937664
[0.016s][trace][os,container] CgroupSubsystem::active_processor_count (cached): 8
[0.032s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.032s][trace][os,container] Raw value for CPU quota is: max
[0.032s][trace][os,container] CPU Quota is: -1
[0.032s][trace][os,container] Path to /cpu.max is /sys/fs/cgroup/cpu.max
[0.032s][trace][os,container] CPU Period is: 100000
[0.032s][trace][os,container] OSContainer::active_processor_count: 8
openjdk 21.0.7 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)
```
and similar for JDK17 and 11
- relates to
-
JDK-8347811 Container detection code for cgroups v2 should use cgroup.controllers
-
- Resolved
-