RFR 9: 8146012: CleanerTest fails: Cleanable should have been freed
Roger Riggs
Roger.Riggs at Oracle.com
Tue Dec 22 18:10:26 UTC 2015
Hi Chris,
Thanks for the review
On 12/22/2015 12:01 PM, Chris Hegarty wrote:
> Hi Roger,
>
> On 22 Dec 2015, at 16:35, Roger Riggs <Roger.Riggs at oracle.com> wrote:
>
>> Please review improvements to the CleanerTest to improve the reliability of the test.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~rriggs/webrev-cleanertest-8146012/
>
> The use of WhiteBox should make the test more reliable ( rather than relying
> on generating garbage ).
>
> Is @library /lib/testlibrary necessary? I don’t see any usage of types from it.
yes, the ClassFileInstaller that enables the WhiteBox is there.
>
> Is '-Xbootclasspath/a:.’ necessary? Is this for WhiteBox, or the test itself? I
> don’t see why it is necessary.
yes, That's how the share library for the whitebox native code is found.
>
> Moving from a varargs of Semaphore to just a single Semaphore does simplify
> the code, since it is always called with a single Semaphore.
>
> The new checkCleaned does not enforce availablePermits == 1, just that a permit
> is available. Should it assert 1 ?
The tryAdvance method consumes the expected permit and the method does
not wait around to
see if it will get incremented again. So checking again would be hit or
miss. The check completes
when the semaphore is triggered.
The running time of the test would increase and I can't see it paying
off since the Cleaner
implementation is written to call it only once, so it would require some
unexpected case to trigger that bug.
Roger
>
> -Chris.
>
>> Issue:
>> https://bugs.openjdk.java.net/browse/JDK-8146012
>>
>> Thanks, Roger
More information about the core-libs-dev
mailing list