RFR 8067241 DeadlockTest.java failed with negative timeout value
Jaroslav Bachorik
jaroslav.bachorik at oracle.com
Tue Dec 16 12:08:50 UTC 2014
On 12/15/2014 06:38 PM, Daniel Fuchs wrote:
> On 12/12/14 09:56, shanliang wrote:
>> Updated.
>>
>> Here is the new version:
>> http://cr.openjdk.java.net/~sjiang/JDK-8067241/01/
>>
>> Thanks,
>> Shanliang
>
> Hi Shanliang,
>
> Your changes looks good to me. WRT using a Phaser, it would
> require a careful analysis to assert that modifying the
> locking strategy - especially things like
> 90 synchronized(o) {
> 91 synchronized(this) {
> 92 gotLock = true;
> 93
> 94 this.notify();
> 95 }
> still preserve the nature of the test.
> I wonder if it's worth the trouble.
Well, the test tries to achieve step-by-step execution of two concurrent
threads where one thread can only proceed when the other one has already
reached a predefined execution point. This is exactly what the Phaser is
fit for. Please note that by using Phasero one could also get rid off
the Thread.sleep(<really big number>) construct to simulate the fact
that the BadBoy thread doesn't finish before the main thread had the
chance to assert the postconditions.
But the change is already in .. what is done is done. It's just a pity
we missed the chance to improve the test a bit while fixing this issue.
-JB-
>
> best regards,
>
> -- daniel
More information about the serviceability-dev
mailing list