RFR 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent."
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
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
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
Looks good Roger! best regards, -- daniel On 12/03/2020 15:11, Roger Riggs wrote:
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
participants (2)
-
Daniel Fuchs
-
Roger Riggs