RFR(XS): 8251121: six SA tests leave core files behind on macOS
Daniel D. Daugherty
daniel.daugherty at oracle.com
Thu Aug 6 22:10:58 UTC 2020
+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