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