RFR 8222936: mlvm/anonloader/stress/randomBytecodes/Test.java fails due to "ERROR: There were 1 hangups during parsing."

Harold Seigel harold.seigel at oracle.com
Fri May 31 15:44:49 UTC 2019


Thanks Coleen!

Harold

On 5/31/2019 11:43 AM, coleen.phillimore at oracle.com wrote:
>
> Yes, this seems reasonable.  Thanks for having this test leave 
> breadcrumbs if it times out in jtreg.
> Coleen
>
> On 5/30/19 2:35 PM, Harold Seigel wrote:
>> Hi,
>>
>> Please review this fix for bug JDK-8222936.
>>
>> Test .../randomBytecodes/Test.java uses StressClassLoadingTest.java 
>> to go through 1000's of iterations where it creates and starts a 
>> thread and waits 10 seconds.  The thread tries to load a class whose 
>> bytes are potentially randomized.  If the created thread is still 
>> alive after 10 seconds then the test saves the randomized class and 
>> records a hang failure.  It then repeats the process for the next 
>> iteration.
>>
>> This test fails about once a month with a hang failure.  These appear 
>> to be invalid failures because the hangs cannot be reproduced with 
>> the saved randomized class and because the stack traces of the 
>> hanging threads are empty.  Perhaps it just took more than 10 seconds 
>> for the thread to start because of lack of machine resources?
>>
>> This change prevents the invalid failures by blocking the entire test 
>> until either the test fails with a timeout or the loading thread 
>> finishes, even if it takes more than 10 seconds.
>>
>> Open Webrev: 
>> http://cr.openjdk.java.net/~hseigel/bug_8222936/webrev/index.html
>>
>> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8222936
>>
>> StressClassLoadingTest.java is used by three tests, 
>> .../randomBytecodes/Test.java, .../byteMutation/Test.java, and 
>> .../parallelLoad/Test.java.  The fix was tested by running the three 
>> tests one thousand times on Linux x64 and a few times on Solaris, 
>> Windows, and Mac OS X.
>>
>> Thanks, Harold
>>
>


More information about the hotspot-runtime-dev mailing list