RFR: JDK-8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
Matthias Baesken
mbaesken at openjdk.org
Thu Jun 30 07:25:40 UTC 2022
On Wed, 29 Jun 2022 20:47:05 GMT, Ioi Lam <iklam at openjdk.org> wrote:
>> On Linux ppc64le machines , the test fails with
>>
>> stderr: [WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
>> ]
>> exitValue = 0
>>
>> java.lang.RuntimeException: 'Memory and Swap Limit is: 157286400' missing from stdout/stderr
>>
>> at jdk.test.lib.process.OutputAnalyzer.shouldContain(OutputAnalyzer.java:221)
>> at TestMemoryWithCgroupV1.testMemoryLimitWithSwappiness(TestMemoryWithCgroupV1.java:84)
>> at TestMemoryWithCgroupV1.main(TestMemoryWithCgroupV1.java:61)
>> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:578)
>> at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
>> at java.base/java.lang.Thread.run(Thread.java:1596)
>>
>> This is most likely related to "kernel does not support swap limit capabilities",
>> we've seen similar issues on other Linux ppc64 le machines in some tests before.
>> So there needs to be some special handling added to the test for the case without kernel swap limit capabilities.
>
> test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java line 94:
>
>> 92: } catch (RuntimeException ex) {
>> 93: out.shouldMatch("Memory and Swap Limit is: [0-9]+");
>> 94: }
>
> With the `catch` clause added, it looks like the tests inside the `try` block don't do anything anymore, even on a host where the kernel actually supports swap limit capabilities.
>
> Maybe the correct way to handle this is: if "Your kernel does not support memory swappiness capabilities or the cgroup is not mounted." is in the output, then skip the test inside the `try` block?
Hi Ioi, I think I proposed something like this (testing for the "Your kernel does not support memory swappiness" string) at other places in the test-code where the issue caused us trouble but this was not liked so much.
-------------
PR: https://git.openjdk.org/jdk/pull/9319
More information about the hotspot-runtime-dev
mailing list