RFR(XS): 8251121: six SA tests leave core files behind on macOS

Chris Plummer chris.plummer at oracle.com
Thu Aug 6 22:53:29 UTC 2020


Thanks!

On 8/6/20 3:10 PM, Daniel D. Daugherty wrote:
> +1
>
> Dan
>
>
> On 8/6/20 5:58 PM, David Holmes wrote:
>> Update looks good.
>>
>> Thanks,
>> David
>>
>> On 7/08/2020 7:50 am, Chris Plummer wrote:
>>> Hi David and Dan,
>>>
>>> I went with just logging how long the copy takes. Here's all the 
>>> code involved:
>>>
>>>              if (corePath.getParent() != null) {
>>>                  Path coreFileName = corePath.getFileName();
>>>                  System.out.println("Moving core file to cwd: " + 
>>> coreFileName);
>>>                  long startTime = System.currentTimeMillis();
>>>                  Files.move(corePath, coreFileName);
>>>                  System.out.println("Core file move took " + 
>>> (System.currentTimeMillis() - startTime) + "ms");
>>>                  coreFileLocation = coreFileName.toString();
>>>              }
>>>
>>> On linux where it didn't actually end up having to move the file 
>>> (src and dest paths are the same), it reported 0ms. On OSX where it 
>>> did move the file from /cores, it reported 2ms.
>>>
>>> Let me know if you're ok with these changes.
>>>
>>> thanks,
>>>
>>> Chris
>>>
>>> On 8/6/20 11:31 AM, Chris Plummer wrote:
>>>> Hi Dan,
>>>>
>>>> On 8/6/20 10:17 AM, Daniel D. Daugherty wrote:
>>>>> On 8/5/20 9:16 PM, Chris Plummer wrote:
>>>>>> Hello,
>>>>>>
>>>>>> Please review the following:
>>>>>>
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8251121
>>>>>> http://cr.openjdk.java.net/~cjplummer/8251121/webrev.00/index.html
>>>>>
>>>>> test/lib/jdk/test/lib/util/CoreUtils.java
>>>>>     You might consider two messages with timestamps: one before 
>>>>> the move
>>>>>     and one after the move completes.
>>>>>
>>>> Do we have an standard timestamp printing support for our jtreg 
>>>> tests? I found the following in vmTestbase/nsk/share/Log.java:
>>>>
>>>>     /**
>>>>      * Compose line to print possible prefixing it with timestamp.
>>>>      */
>>>>     private String composeLine(String message) {
>>>>         if (timestamp) {
>>>>             long time = System.currentTimeMillis();
>>>>             long ms = time % 1000;
>>>>             time /= 1000;
>>>>             long secs = time % 60;
>>>>             time /= 60;
>>>>             long mins = time % 60;
>>>>             time /= 60;
>>>>             long hours = time % 24;
>>>>             return "[" + hours + ":" + mins + ":" + secs + "." + ms 
>>>> + "] " + message;
>>>>         }
>>>>         return message;
>>>>     }
>>>>
>>>> Would be nice if we had something like that more generally 
>>>> available to all jtreg tests.
>>>>
>>>> thanks,
>>>>
>>>> Chris
>>>>> test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java
>>>>>     No comments.
>>>>>
>>>>> Thumbs up. No need for another webrev if you decide to update the 
>>>>> mesgs.
>>>>>
>>>>> I'm testing your patch on my MBP13 to verify that it solves the issue
>>>>> that I reported.
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>>
>>>>>> On OSX (and possibly some linux systems), core files are not 
>>>>>> produced in the cwd, but instead end up in some well known 
>>>>>> location. For OSX it is the /cores directory. The core files tend 
>>>>>> to accumulate there. This fixes the core file accumulation 
>>>>>> problem by moving the core file into the cwd, allowing jtreg to 
>>>>>> manage it. By default jtreg will delete the core if the test 
>>>>>> passes, and retain if if the test fails or RETAIN=all is specified.
>>>>>>
>>>>>> I got rid of the code in ClhsdbCDSCore.java that explicitly 
>>>>>> deletes the core file because we don't want it deleted if 
>>>>>> RETAIN=all is used.
>>>>>>
>>>>>> thanks,
>>>>>>
>>>>>> Chris
>>>>>
>>>>
>>>
>



More information about the serviceability-dev mailing list