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

Pavel Chistyakov pavel.chistyakov at oracle.com
Tue Jan 20 21:13:43 UTC 2015


Vladimir, thank you for review!

-----------
Regards,
Pavel

----- Original Message -----
From: vladimir.kozlov at oracle.com
To: hotspot-compiler-dev at openjdk.java.net
Sent: Tuesday, January 20, 2015 8:59:26 PM GMT +04:00 Abu Dhabi / Muscat
Subject: Re: RFR(S): 8069125: compiler/codecache/stress tests timeout in nightlies

Seems reasonable.

Thanks,
Vladimir

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