RFR: 8222550: runtime/MemberName/MemberNameLeak.java times out

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Thu Apr 18 02:09:26 UTC 2019


I didn't see the 02 change below.   I think the shouldContain function 
should be added to output analyzer.  And as a utility patch, it should 
be separate to help with backports that might need it.  So I chopped out 
Stefan's function:

open webrev at http://cr.openjdk.java.net/~coleenp/2019/8222713.01/webrev
bug link https://bugs.openjdk.java.net/browse/JDK-8222713

Leaving the MemberNameLeak.java change as:

open webrev at http://cr.openjdk.java.net/~coleenp/2019/8222550.01/webrev

Tested with the new MemberNameLeak.java test.  hs tier1-3 testing in 
progress.

All which look good to me.  Please review!

Thanks,
Coleen

On 4/17/19 2:41 AM, Stefan Karlsson wrote:
> On 2019-04-17 05:58, David Holmes wrote:
>> Hi Stefan,
>>
>> On 17/04/2019 7:24 am, Stefan Karlsson wrote:
>>> Hi all,
>>>
>>> Please review this patch to fix a timeout in the MemberNameLeak test.
>>>
>>> https://cr.openjdk.java.net/~stefank/8222550/webrev.01/
>>> https://bugs.openjdk.java.net/browse/JDK-8222550
>>>
>>> The test could fail if GCs happened during the setup phase when 
>>> entries for all generated methods were created. When this happened 
>>> the code to grow the table was triggered, which in turn cleaned out 
>>> all so-far created entries.  This put the table in a condition where 
>>> the grow / cleaning code didn't have to be triggered again. But the 
>>> test still waited for it to happen. This patch adds all 
>>> MethodHandles to an ArrayList, so that they are kept alive until 
>>> it's time for them to be cleaned out. While debugging this timeout I 
>>> added some extra logging. I've left it in the test in case we ever 
>>> need to debug it again.
>>
>> Fix seems reasonable.
>
> Thanks.
>
>> A couple of comments:
>>
>>  119 "-Xlog:membername+table=trace,gc+verify=debug,gc",
>>  120 
>> "-Xlog:membername+table=trace,gc+verify=debug,gc:gc.%p.log:time,utctime,uptime,pid,level,tags",
>>
>> I'm assuming you only actually want line 120?
>
> It was a quick and dirty way to get logging from 119 to the 
> outputAnalyzer, and more comprehensive logging from line 120 saved to 
> disk.
>
>>
>> Is the log file copied across with the test artifacts in mach5? 
>
> Yes.
>> I'm assuming you're using the file for gc logging so that the normal 
>> test .jtr file is not inundated with excessive logging data.
>
> Yes, and because jtreg cuts in the middle of the output of tests with 
> excessive logging.
>
> I created a more elaborate version that only logs to files, and 
> perform the verification on those files:
>  https://cr.openjdk.java.net/~stefank/8222550/webrev.02.delta
>  https://cr.openjdk.java.net/~stefank/8222550/webrev.02
>
> Thanks,
> StefanK
>>
>> Thanks,
>> David
>> -----
>>
>>> Testing: tier1-3 and multiple tier1_runtime runs on osx where the 
>>> timeouts reproduced.
>>>
>>> The patch is applied on top of the patch in:
>>> https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2019-April/033820.html 
>>>
>>>
>>> Thanks,
>>> StefanK
>



More information about the hotspot-runtime-dev mailing list