RFR: 8265393: VM crashes if both -XX:+RecordDynamicDumpInfo and -XX:SharedArchiveFile options are specified

Ioi Lam iklam at openjdk.java.net
Wed Apr 21 05:22:03 UTC 2021


On Wed, 21 Apr 2021 04:38:14 GMT, Yumin Qi <minqi at openjdk.org> wrote:

> Hi, Please review
>   1) When the two flags -XX:+RecordDynamicDumpInfo and -XX:SharedArchiveFile used,  in
>      Arguments::init_shared_archive_paths() :
>           if (DynamicDumpSharedSpaces) {
>             if (os::same_files(SharedArchiveFile, ArchiveClassesAtExit)) {
>                ...
>   ArchiveClassesAtExit is NULL.
>   C++ does not have a defined behavior of strcmp with strings of NULL. Posix version of os::same_files(const char* file1, const char* file2) calls strcmp without checking input args. This should be same as it is treated on Windows.
>   2) JCmdTest.java is fat and possible to cause test timeout. Split JCmdTest.java into two separate Tests: JCmdTestStaticDump.java and JCmdTestDynamicDump.java.
>   3) Add a test to check run with -XX:+RecordDynamicDumpInfo and -XX:SharedArchiveFile in JCmdTestDynamicDump.java
>        The test does not use utility to create jvm process  since it will take testing envs into process, but the way in the test using LingeredApp does not take envs.
> 
>   Tests: tier1,tier2,tier3,tier4
> 
> Thanks
> Yumin

There's duplicated code between JCmdTestDynamicDump.java and JCmdTestStaticDump.java. I think these should be moved to a common base class.

-------------

Changes requested by iklam (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3599


More information about the hotspot-dev mailing list