RFR(S): 8069125: compiler/codecache/stress tests timeout in nightlies

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Jan 20 17:59:07 UTC 2015

Seems reasonable.


On 1/20/15 9:37 AM, Pavel Chistyakov wrote:
> Hi all,
> please review fix for JDK-8069125 <https://bugs.openjdk.java.net/browse/JDK-8069125>.
> webrev: http://cr.openjdk.java.net/~pchistyakov/8069125/webrev.00/
> Problem: new stress tests for code cache sometimes fails due to timeout. There are two potential problems:
>   * OverloadCompileQueueTest failed in nightlies in Xcomp mode. This behavior forced by lock-unlocker thread that is
>     used to lock compilation and create a pause during which we can fill compilation queue. This thread starts at test
>     beginning and works infinitely as daemon. For now compilation locking implemented using MonitorLockerEx object and
>     wait on it. To prevent spurious wake up wait function is called inside while loop checking
>     Whitebox::compilation_locked volatile boolean flag. W/o any timeout between lock-unlocker thread iterations we get a
>     situation when compiler thread can not exit the loop because while notify_all signals lock to exit wait and continue
>     execution Whitebox::compilation_locked flag become true again. (see compileBroker.cpp:1967-1971 and
>     whitebox.cpp:802-810 for details of compilation locking process)
>   * we got one RandomAllocationTest failure caused by timeout. But it happened on slow system and there jtreg didn't
>     have enough time to do its postprocess work after test execution. This can be solved by decreasing test execution
>     time (for now test gets 90% of overall jtreg timeout that is set up on test initialization) to 80%.
> Solution:
>   * add timeout in iterations for lock-unlocker thread in OverloadCompileQueueTest to give a chance for compiler to work
>     (very critical in Xcomp mode)
>   * decrease test execution time to 80% that will give more time for jtreg and vm init and exit process to prevent
>     timeout of other stress tests if any
> Testing: manual locally, JPRT
> ----------------
> Thanks,
> Pavel

More information about the hotspot-compiler-dev mailing list