JDK-8354475 : TestDockerMemoryMetricsSubgroup.java fails with exitValue = 1
  • Type: Bug
  • Component: hotspot
  • Sub-Component: test
  • Affected Version: 24.0.2,25
  • Priority: P3
  • Status: In Progress
  • Resolution: Unresolved
  • OS: linux
  • Submitted: 2025-04-13
  • Updated: 2025-04-29
Related Reports
Relates :  
Description
Suite: Hotspot
JDK: jdk-24-0-2+1
Test: jdk/internal/platform/docker/TestDockerMemoryMetricsSubgroup.java	
OS: Linux x64

Logs :

----------System.out:(35/2492)----------
DockerfileConfig: using custom image name: jpg-data.us.oracle.com/docker-local/mach5/jdk-test/oraclelinux_9
DockerfileConfig: using custom image version: 1.2
[COMMAND]
podman ps 
[2025-04-10T16:59:04.793388451Z] Gathering output for process 1348964
[ELAPSED: 30 ms]
[STDERR]

[STDOUT]
CONTAINER ID  IMAGE       COMMAND     CREATED     STATUS      PORTS       NAMES

Full child process STDOUT was saved to docker-stdout-1348964.log
[2025-04-10T16:59:04.810476357Z] Waiting for completion for process 1348964
[2025-04-10T16:59:04.810674413Z] Waiting for completion finished for process 1348964
========== NEW TEST CASE:      testMemoryLimitSubgroup, innerSize = 200m
[COMMAND]
podman run --tty=true --rm --volume /opt/jpgansible/shyam/24/ws/open/build/run-test-prebuilt/test-support/jtreg_open_test_jdk_jdk_internal_platform/classes/4/jdk/internal/platform/docker/TestDockerMemoryMetricsSubgroup.d:/test-classes/ --volume /var/tmp/jib-jpgansible/install/jdk-24.0.2+1-18/linux-x64.jdk/jdk-24.0.2:/jdk --privileged --cgroupns=host --memory 400m jpg-data.us.oracle.com/docker-local/mach5/jdk-test/oraclelinux_9:1.2 sh -c mkdir -p /sys/fs/cgroup/memory/test ; echo $$ > /sys/fs/cgroup/memory/test/cgroup.procs ; echo '+memory' > /sys/fs/cgroup/cgroup.subtree_control ; echo '+memory' > /sys/fs/cgroup/memory/cgroup.subtree_control ; echo 200m > /sys/fs/cgroup/memory/test/memory.max ; /jdk/bin/java -cp /test-classes/ --add-exports java.base/jdk.internal.platform=ALL-UNNAMED MetricsMemoryTester memory 200m 
[2025-04-10T16:59:04.812947641Z] Gathering output for process 1348996
[ELAPSED: 244 ms]
[STDERR]

[STDOUT]
mkdir: cannot create directory '/sys/fs/cgroup/memory': Permission denied
sh: line 1: /sys/fs/cgroup/memory/test/cgroup.procs: No such file or directory
sh: line 1: /sys/fs/cgroup/cgroup.subtree_control: Permission denied
sh: line 1: /sys/fs/cgroup/memory/cgroup.subtree_control: No such file or directory
sh: line 1: /sys/fs/cgroup/memory/test/memory.max: No such file or directory
[memory, 200m]
Exception in thread "main" java.lang.RuntimeException: Memory limit not equal, expected : [209715200], got : [419430400]
	at MetricsMemoryTester.testMemoryLimit(MetricsMemoryTester.java:62)
	at MetricsMemoryTester.main(MetricsMemoryTester.java:37)

Full child process STDOUT was saved to docker-stdout-1348996.log
[2025-04-10T16:59:05.057307634Z] Waiting for completion for process 1348996
[2025-04-10T16:59:05.057448152Z] Waiting for completion finished for process 1348996
----------System.err:(25/1476)----------
 stdout: [mkdir: cannot create directory '/sys/fs/cgroup/memory': Permission denied
sh: line 1: /sys/fs/cgroup/memory/test/cgroup.procs: No such file or directory
sh: line 1: /sys/fs/cgroup/cgroup.subtree_control: Permission denied
sh: line 1: /sys/fs/cgroup/memory/cgroup.subtree_control: No such file or directory
sh: line 1: /sys/fs/cgroup/memory/test/memory.max: No such file or directory
[memory, 200m]
Exception in thread "main" java.lang.RuntimeException: Memory limit not equal, expected : [209715200], got : [419430400]
	at MetricsMemoryTester.testMemoryLimit(MetricsMemoryTester.java:62)
	at MetricsMemoryTester.main(MetricsMemoryTester.java:37)
];
 stderr: []
 exitValue = 1

java.lang.RuntimeException: Expected to get exit value of [0], exit value is: [1]
	at jdk.test.lib.process.OutputAnalyzer.shouldHaveExitValue(OutputAnalyzer.java:522)
	at TestDockerMemoryMetricsSubgroup.testMemoryLimitSubgroupV2(TestDockerMemoryMetricsSubgroup.java:118)
	at TestDockerMemoryMetricsSubgroup.main(TestDockerMemoryMetricsSubgroup.java:68)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:333)
	at java.base/java.lang.Thread.run(Thread.java:1447)

JavaTest Message: Test threw exception: java.lang.RuntimeException
JavaTest Message: shutting down test

result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Expected to get exit value of [0], exit value is: [1]


test result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Expected to get exit value of [0], exit value is: [1]
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/24930 Date: 2025-04-28 15:51:44 +0000
28-04-2025

Test is passing when running as root user.
22-04-2025