RFR: 8267155: runtime/os/TestTracePageSizes times out [v6]

David Holmes david.holmes at oracle.com
Thu May 20 11:07:25 UTC 2021


Hi Thomas,

The test is being problem-listed so a fix is less urgent and backout 
avoided.

Cheers,
David

On 20/05/2021 8:47 pm, David Holmes wrote:
> Hi Thomas,
> 
> This test is now failing in our tier 1 testing for linux-aarch64:
> 
> runtime/os/TestTracePageSizes.java#with-Serial
> 
> 
> ----------messages:(4/366)----------
> command: main -XX:+AlwaysPreTouch -Xmx128m -Xlog:pagesize:ps-%p.log 
> -XX:+UseSerialGC -XX:+UseTransparentHugePages TestTracePageSizes
> reason: User specified action: run main/othervm -XX:+AlwaysPreTouch 
> -Xmx128m -Xlog:pagesize:ps-%p.log -XX:+UseSerialGC 
> -XX:+UseTransparentHugePages TestTracePageSizes
> Mode: othervm [/othervm specified]
> elapsed time (seconds): 1.182
> ----------configuration:(0/0)----------
> ----------System.out:(0/0)----------
> ----------System.err:(13/846)----------
> java.lang.AssertionError: Page sizes mismatch: 64 != 524288
>      at TestTracePageSizes.main(TestTracePageSizes.java:294)
>      at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>      at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) 
> 
>      at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
> 
>      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>      at 
> com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127) 
> 
>      at java.base/java.lang.Thread.run(Thread.java:831)
> 
> 
> I will file a bug and assign to you. If it can't be fixed promptly we 
> will need to backout the change.
> 
> Thanks,
> David
> -----
> 
> On 20/05/2021 6:21 pm, Thomas Stuefe wrote:
>> On Thu, 20 May 2021 05:29:57 GMT, Thomas Stuefe <stuefe at openjdk.org> 
>> wrote:
>>
>>>> This Linux-specific test parses `/proc/self/smaps` using a dotall 
>>>> regular expression. If part of the expression don't match it 
>>>> explodes in complexity, leading to timeouts.
>>>>
>>>> In our case, `VmFlags` tag was missing from smaps, which was 
>>>> introduced with kernel 3.8. I am actually not able to determine how 
>>>> slow they were; on one machine they ran for two hours before getting 
>>>> killed.
>>>>
>>>> I tried to fiddle with the regular expression and gave up, instead 
>>>> opting to rewrite the parser to get a simple one-pass scan. This is 
>>>> way faster than before - on our old-kernel machines the tests 
>>>> complete in 2 minutes. On new kernels the test is a bit faster too.
>>>>
>>>> In addition to rewriting the parser, I added code which copies the 
>>>> smaps file into the test directory before parsing it. I do this to 
>>>> minimize problems should the underlying proc fs content change while 
>>>> parsing, and to have a way to retain the parsed smaps files.
>>>>
>>>> I also added a way to feed an external smaps file into the test. Of 
>>>> course the test would fail, but it was a way to test the parser.
>>>>
>>>> Unfortunately, this does not make the test succeed. The timeouts are 
>>>> gone, but we have still have no way to know if TPHs are enabled or 
>>>> not. That is a separate issue though.
>>>>
>>>> Thanks, Thomas
>>>
>>> Thomas Stuefe has updated the pull request incrementally with one 
>>> additional commit since the last revision:
>>>
>>>    final review feedback
>>
>> Thanks Alexey and Stefan.
>>
>> -------------
>>
>> PR: https://git.openjdk.java.net/jdk/pull/4064
>>


More information about the hotspot-runtime-dev mailing list