RFR 6720349: NotificationBufferDeadlockTest.java throw exception: java.lang.Exception: TEST FAILED: Deadlock detected
shanliang
shanliang.jiang at oracle.com
Tue Jan 6 11:03:38 UTC 2015
David,
Here is the new version, I have added the comments as you suggested, and
I replaced the variable "sources" with a synchronized list.
http://cr.openjdk.java.net/~sjiang/JDK-8068418/01/
Thanks for the review.
Shanliang
David Holmes wrote:
> Hi Shanliang,
>
> On 6/01/2015 3:47 AM, shanliang wrote:
>> Hi,
>>
>> Please review this fix:
>>
>> bug: https://bugs.openjdk.java.net/browse/JDK-8068418
>> webrev: http://cr.openjdk.java.net/~sjiang/JDK-8068418/00/
>>
>> This must be a timing issue in the test, the test called:
>> t.join(5000L); to wait a thread's dying, I reproduced the bug by
>> insert at line 202:
>> try {
>> Thread.sleep(5100);
>> } catch (Exception ee) {}
>> to delay the t's dying.
>>
>> The fix is to replace:
>> t.join(5000L);
>> by:
>> t.join();
>>
>> and replace:
>> Object.wait(timeout);
>> by
>> CountDownLatch.countDown();
>
> Okay - you could have just done wait() but the switch to
> CountDownLatch is somewhat cleaner.
>
>> The test harness timeout will be used as the max waiting timeout.
>
> So the test will now never report that it thinks it has hit a
> deadlock, it will just timeout. But you added some extra printout so
> okay I guess - but I suggest adding a comment at the top (where @run
> etc are) saying that if test times out then deadlock is suspected.
>
> Minor nit:
>
> System.out.println("DeadlockTest-addNotificationListener waiting the
> XXX thread to die.
>
> should say "waiting for the XXX thread ..."
>
> Thanks,
> David
>
>> Shanliang
More information about the serviceability-dev
mailing list