RFR(XS): 8251121: six SA tests leave core files behind on macOS
David Holmes
david.holmes at oracle.com
Thu Aug 6 21:58:37 UTC 2020
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