JDK-8263687 : misc vmTestbase/gc/gctests tests timed out with -XX:+UseParallelGC
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 17
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux,windows
  • CPU: x86_64
  • Submitted: 2021-03-16
  • Updated: 2021-03-21
  • Resolved: 2021-03-19
Related Reports
Duplicate :  
Relates :  
Description
The following test timed out in the JDK17 CI:

vmTestbase/gc/gctests/BigChains/BigChains.java

Here's a snippet from the log file:

#section:main
----------messages:(6/296)----------
command: main -XX:-UseGCOverheadLimit gc.gctests.BigChains.BigChains
reason: User specified action: run main/othervm -XX:-UseGCOverheadLimit gc.gctests.BigChains.BigChains 
Mode: othervm [/othervm specified]
Timeout information:
--- Timeout information end.
elapsed time (seconds): 584.786
----------configuration:(0/0)----------
----------System.out:(36/2149)----------
Stress time: 120 seconds
Stress iterations factor: 1
Stress threads factor: 1
Stress runs factor: 1
Max memory: 1823473664
Sleep time: 500
Iterations: 0
Number of threads: 24
Run GC thread: false
Run mem diag thread: false
Run forever: false
Starting Thread[gc.gctests.BigChains.BigChains$1@5bdd472f,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@46079702,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@77d244d2,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@6a665ebf,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@1ca0d8f7,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@6665f3e6,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@374cf2c,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@5b3ffa5b,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@41c2e6ab,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@8f1d7b6,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@2d59642b,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@990aef9,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@5f31e6de,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@597bc6e9,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@3fe589d1,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@338e1fb2,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@6359080b,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@6492d607,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@77aa7045,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@349a928d,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@1fa8cd45,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@6d781259,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@49f46feb,5,MainThreadGroup]
Starting Thread[gc.gctests.BigChains.BigChains$1@299a82a2,5,MainThreadGroup]
Timeout refired 480 times
----------System.err:(0/0)----------
----------rerun:(42/6404)*----------

<snip>

result: Error. Program `c:\ade\mesos\work_dir\jib-master\install\jdk-17+14-1064\windows-x64-debug.jdk\jdk-17\fastdebug\bin\java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 584786ms).


The test task's JVM args are: -XX:+CreateCoredumpOnCrash -XX:+UseParallelGC -XX:+UseNUMA
Comments
The fix for JDK-8245025 was integrated in jdk-17+14-1061. The [BACKOUT] JDK-8263723 was integrated in jdk-17+14-1099.
18-03-2021

I've not produced an actual failure, but running the BigChain test on my local machine, with vs without JDK-8245025, shows a very large performance difference. For example: with: real 3m2, user 53m19 (repo head) without: real 2m38, user 12m48 (some repo from before that change) Note the factor of 4.5 in user time. backout: real 2m38, user 11m57 (repo head with that change reverted)
17-03-2021

The first Oracle CI pipeline in which this failure appears is where JDK-8245025 first appears. Perhaps changing the assert to use a slower but side-effect-free calculation is slowing things down a lot, at least in some situations.
17-03-2021

So far this failure has been seen in three Tier5 job sets in a row: jdk-17+14-1064-tier5 - windows-X64 jdk-17+14-1068-tier5 - linux-X64 and windows-X64 jdk-17+14-1069-tier5 - windows-X64
16-03-2021