RFR [8038333] java/lang/ref/EarlyTimeout.java failed
Mandy Chung
mandy.chung at oracle.com
Wed Mar 26 17:04:51 UTC 2014
Hi Ivan,
On 3/26/2014 6:15 AM, Ivan Gerasimov wrote:
> Hello!
>
> The test java/lang/ref/EarlyTimeout.java, which has been recently
> added to the repository with the fix for 6853696 has failed.
> The error message of the failure "more than one references were
> removed from queue" seems to be misguiding.
>
> I suspect that the real cause of the failure could have been that both
> child thread failed to get the reference during the specified timeout.
> Thus, nonNullRefCount may have been zero and not some value > 1.
>
Are you able to reproduce the test failure? I think the test verifies
that only one thread gets the reference is a good test.
I think the race is due to the threads get to call queue.remove as soon
as both threads decrement the count of the latch that can be well before
the reference is enqueued.
It'd be good to add additional information in the test to help
diagnosing test failure.
Mandy
> Here's the trivial fix:
> http://cr.openjdk.java.net/~igerasim/8038333/0/webrev/
>
> Sincerely yours,
> Ivan Gerasimov
More information about the core-libs-dev
mailing list