RFR: 8265393: VM crashes if both -XX:+RecordDynamicDumpInfo and -XX:SharedArchiveFile options are specified
Yumin Qi
minqi at openjdk.java.net
Wed Apr 21 04:44:39 UTC 2021
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
-------------
Commit messages:
- 8265393: VM crashes if both -XX:+RecordDynamicDumpInfo and -XX:SharedArchiveFile options are specified
Changes: https://git.openjdk.java.net/jdk/pull/3599/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3599&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8265393
Stats: 933 lines in 5 files changed: 570 ins; 362 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/3599.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3599/head:pull/3599
PR: https://git.openjdk.java.net/jdk/pull/3599
More information about the hotspot-dev
mailing list