Hi

Thanks for feedback. It is a good idea.
Split TestHeapDumpOnOutOfMemoryError into 3 tests. The only test 
TestHeapDumpOnOutOfMemoryErrorInMetaspace.java requires timeout=240 and 
excluded from tier1 now. 
Also I fixed parameters for TestHeapDumpPath test and removed unneeded 
'@modules java.base/jdk.internal.misc' from all tests.

New full webrev:
http://cr.openjdk.java.net/~lmesnik/8203491/webrev.02/ 
<http://cr.openjdk.java.net/~lmesnik/8203491/webrev.02/>
inc changes
http://cr.openjdk.java.net/~lmesnik/8203491/webrev.02-01/ 
<http://cr.openjdk.java.net/~lmesnik/8203491/webrev.02-01/>

Leonid 

> On May 24, 2018, at 2:08 PM, Igor Ignatyev <igor.ignat...@oracle.com> wrote:
> 
> Hi Leonid,
> 
> I haven't reviewed your change fully, although I noticed that you merged 
> several tests into one -- TestHeapDumpOnOutOfMemoryError, I don't think it's 
> a good idea as we lose atomicity of test results/executions. could you please 
> split TestHeapDumpOnOutOfMemoryError into independent tests?
> 
> -- Igor
> 
>> On May 24, 2018, at 10:54 AM, Leonid Mesnik <leonid.mes...@oracle.com> wrote:
>> 
>> Hi
>> 
>> Found new webrev here:
>> http://cr.openjdk.java.net/~lmesnik/8203491/webrev.01/ 
>> <http://cr.openjdk.java.net/~lmesnik/8203491/webrev.01/>
>> and inc diff
>> http://cr.openjdk.java.net/~lmesnik/8203491/webrev.01-00/ 
>> <http://cr.openjdk.java.net/~lmesnik/8203491/webrev.01-00/>
>> 
>> I don't know if existing 64m is enough to produce a lot of classes. However 
>> this size was used in original test so I use same in new test 
>> TestJmapCoreMetaspace.java.
>> 
>> I fixed comments, import and timeout(set to 240) also.
>> 
>> Leonid
>> 
>>> On May 24, 2018, at 9:16 AM, Jini George <jini.geo...@oracle.com> wrote:
>>> 
>>> Hi Leonid,
>>> 
>>> My comments inline.
>>> 
>>> On 5/24/2018 12:09 AM, Leonid Mesnik wrote:
>>> 
>>>> I am not sure that JMapMetaspaceCore provides any additional coverage. The 
>>>> test just fill 64M of metaspace and then send signal to dump core. So I 
>>>> don't see how this test could improve coverage.
>>>> I think that idea of original test was to fill PermGen like Heap to expand 
>>>> it as much as possible or it was just an analog of test 
>>>> OnOOMToFileMetaspace. While current test just fill highly limited 
>>>> metaspace. So number of classes seems to be not significantly larger then 
>>>> for current TestJmapCore.java test. From my point of view it would be make 
>>>> a sense to generate dump containing a lot of loaded classes or some very 
>>>> large classes.
>>>> While current test looks pretty similar to existing TestJmapCore.java 
>>>> test.  Please let me know if you see the test scenario when such test 
>>>> could be useful.
>>> 
>>> From what I can make out, EatMemory with -metaspace would create a lot of 
>>> loaded classes with GeneratedClassProducer. And this could provide some 
>>> good testing for writeClassDumpRecords() of HeapHprofBinWriter. Let me know 
>>> if you think I have overlooked something.
>>> 
>>> 
>>>>> * You might want to increase the timeout factor for this test. The test 
>>>>> times out on my machine.
>>>>> 
>>>>> 
>>>> I see that test finishes in 1 minute in our lab while. I see that it takes 
>>>> 30 seconds on 2CPU Oracle Linux VM with 2GB java heap. And test just fails 
>>>> with JDK-8176557 when I increase heap.
>>>> How many time it takes on you machine? The timeoutFactor might be used for 
>>>> untypical environment/command-line options.
>>> 
>>> It took about 130 secs a couple of times. Don't know if it was an anomaly.
>>> 
>>>>> * You might want to consider removing the corefile and the heapdump files 
>>>>> after the test execution (in the cases where the test passes).
>>>>> 
>>>> The default jtreg retain policy in make files just removes all files in 
>>>> test directory for passed tests. The jtreg default test policy says
>>>> "If -retain is not specified, only the files from the last test executed 
>>>> will be retained".
>>>> So it should be not a problem in most of cases. While there is no way for 
>>>> user to retain core/heapdump files even if user wants to keeps them.
>>> 
>>> Ok.
>>> 
>>>> However if it is the common rule for sa tests to delete such artifacts 
>>>> then I could remove heap/core dumps.
>>>>> 
>>>>> One suggestion is to check if /proc/sys/kernel/core_pattern has a line 
>>>>> starting with '|' and print a warning that a crash reporting tool might 
>>>>> be used (Something like in ClhsdbCDSCore.java). But it is just a 
>>>>> suggestion and you are free to ignore it. In due course, we could include 
>>>>> this test also as a part of the consolidation of SA's corefile testing 
>>>>> effort (https://bugs.openjdk.java.net/browse/JDK-8202297).
>>>>> 
>>>> I would prefer to left this improvement for JDK-8202297. I think good core 
>>>> dump processing/ulimit settings requires more efforts and testing and 
>>>> different version of Linux. (Might be even for Non-Oracle platforms).
>>>> Also logic in test ClhsdbCDSCore.java is slightly different. It tries to 
>>>> get possible core location from hs_err file and print this hint of core 
>>>> file from hs_err doesn't exists. While printing this hint if core dumps 
>>>> are just completely disabled might just confuse users.
>>> Sounds fine.
>>> 
>>> Thanks,
>>> Jini.
>> 
> 

Reply via email to