RFR 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent."

Roger Riggs Roger.Riggs at oracle.com
Thu Mar 12 15:11:19 UTC 2020


Hi Daniel,

Good point about the sleep and the percent computation.
Fixed both, its a bad idea to leave buggy code around to mislead or be 
copied.

Updated webrev:
   http://cr.openjdk.java.net/~rriggs/webrev-handlecount-8240704-1/

Thanks, Roger


On 3/12/20 7:13 AM, Daniel Fuchs wrote:
> Hi Roger,
>
> Looks good to me. If it were my own test I would add a little
> Thread.sleep() after System.gc() to actually give time to the
> gc to do something.
>
> I have to note however that:
>
>  83         final long ERROR_PERCENT = 10;
>  84         final long ERROR_THRESHOLD = // 10% increase over min to 
> passing max
>  85                 startHandles + ((startHandles + ERROR_PERCENT - 1) 
> / ERROR_PERCENT);
>
> is a bit misleading. IMO it only works because ERROR_PERCENT = 10; and
> 10 * 10 = 100; If you change it to ERROR_PERCENT = 1; for instance, then
> you end up with allowing 100% of errors (and not 1%).
>
> cheers,
>
> -- daniel
>
> On 11/03/2020 20:43, Roger Riggs wrote:
>> Please review a test improvement to avoid counting unexpected handles.
>> The test for 8239893[1]failed when non-test activities used handles.
>>
>> The test is modified to do a warmup phase spawning some processes and 
>> cleaning up.
>> It then runs the test to create processes looking for no significant 
>> increase in handles.
>> The execution mode is limited to the interpreter to avoid potential 
>> side effects of compilation.
>> The error condition was corrected to look only for increases in the 
>> number of handles.
>> Previously, it looked for a 10% delta between the minimum and maximum 
>> count of handles.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~rriggs/webrev-handlecount-8240704/
>>
>> Issue:
>>    https://bugs.openjdk.java.net/browse/JDK-8240704
>>
>> Thanks, Roger
>>
>> [1] 8239893 <https://bugs.openjdk.java.net/browse/JDK-8239893> 
>> Windows handle Leak when starting processes using ProcessBuilder
>>
>



More information about the core-libs-dev mailing list