RFR(XS): 8174768: Make ProcessTools print executed process output into a separate file
Ioi Lam
ioi.lam at oracle.com
Thu Apr 2 00:00:21 UTC 2020
On 4/1/20 12:13 PM, Igor Ignatyev wrote:
> Hi Evgeny,
>
> (widening the audience, given this affects not just hotspot compiler, but hotspot tests as well as core libs tests in general)
>
> overall that looks good to me. one suggestion, for the ease of failure analysis it might be worth to print out the names of created files, although this might potentially clutter the output, I don't think it'll be a problem given we already print out things like 'Gathering output for process ...' , 'Waiting for completion...' in LazyOutputBuffer.
>
FYI,
We've been doing a similar thing with all the CDS tests -- all the logs
from ProcessTools are saved, and we print out the name of stdout/stderr
files in the .jtr files. It's been very valuable in diagnosing failures.
Command line: [/home/iklam/jdk/bld/fre-fastdebug/images/jdk/bin/java -cp
/jdk2/tmp/jtreg/work/classes/13/runtime/cds/appcds/HelloTest.d:/jdk2/fre/open/test/hotspot/jtreg/runtime/cds/appcds:/jdk2/tmp/jtreg/work/classes/13/test/lib:/jdk/tools/jtreg/5.0-b01/lib/javatest.jar:/jdk/tools/jtreg/5.0-b01/lib/jtreg.jar
-XX:MaxRAM=8g -cp
/jdk2/tmp/jtreg/work/classes/13/runtime/cds/appcds/HelloTest.d/hello.jar
-Xshare:dump -Xlog:cds
-XX:SharedArchiveFile=/jdk2/tmp/jtreg/work/scratch/2/appcds-23h24m40s432.jsa
-XX:ExtraSharedClassListFile=/jdk2/tmp/jtreg/work/classes/13/runtime/cds/appcds/HelloTest.d/HelloTest-test.classlist
]
[2020-04-01T06:24:40.530164Z] Gathering output for process 22666
[ELAPSED: 3068 ms]
[logging stdout to HelloTest-0000-dump.stdout]
[logging stderr to HelloTest-0000-dump.stderr]
Thanks
- Ioi
>> The change has been tested via a mach5 test runs (jdk-tier1 through 4) on the 4 common platforms (linux-x64, windows-x64, macosx-x64, sparcv9).
> this doesn't include any of hotspot tiers, could you please also run hs-tier1--4?
> // you can use tierN jobs which include both jdk and hs parts.
>
> Thanks,
> -- Igor
>
>> On Mar 30, 2020, at 3:55 AM, Evgeny Nikitin <evgeny.nikitin at oracle.com> wrote:
>>
>>
>> Hi,
>>
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8174768
>>
>> Webrev: http://cr.openjdk.java.net/~iignatyev/enikitin/8174768/webrev.00/
>>
>>
>> The bug had been created as a request to simplify investigation for compiler control tests failures.
>> I found the functionality pretty generic and useful and made ProcessTools dump output as well as some diagnostic information for every executed process into a separate file.
>> The diagnostic information contains cmdline, exit code, stdout and stderr. The output files are named like 'pid-<PID>-output.log'.
>>
>> The change has been tested via a mach5 test runs (jdk-tier1 through 4) on the 4 common platforms (linux-x64, windows-x64, macosx-x64, sparcv9).
>>
>> Please review,
>> /Evgeny Nikitin.
More information about the hotspot-compiler-dev
mailing list