RFR: (S): JDK-8200613: SA: jstack throws UnmappedAddressException with a CDS core file (original) (raw)
Ioi Lam ioi.lam at oracle.com
Thu Oct 11 05:25:29 UTC 2018
- Previous message: RFR: (S): JDK-8200613: SA: jstack throws UnmappedAddressException with a CDS core file
- Next message: RFR: (S): JDK-8200613: SA: jstack throws UnmappedAddressException with a CDS core file
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Jini,
The changes looks good to me.
Have you tested this on MacOS? CDS heap support is also enabled on MacOS. See macros.hpp:
#if INCLUDE_CDS && INCLUDE_G1GC && defined(_LP64) && !defined(_WINDOWS) #define INCLUDE_CDS_JAVA_HEAP 1
Also, besides CDS, do we know how often other files will be mmaped with MAP_PRIVATE? Will users get huge core files because CDS is enabled? In JDK 12, CDS will be enabled by default (see JDK-8202951), so all users will be affected by the following line:
if (UseSharedSpaces) { set_coredump_filter(FILE_BACKED_PVT_BIT); }
Maybe you can run an big app such as Eclipse, trigger a core dump, and compare the size of the core file before/after this change?
Thanks
- Ioi
if FILE_BACKED_PVT_BIT is set,
On 10/8/18 11:01 PM, Jini George wrote:
Hello!
[Including runtime-dev since the changes are in runtime code] Requesting reviews for: Webrev: http://cr.openjdk.java.net/~jgeorge/8200613/webrev.01/ BugID: https://bugs.openjdk.java.net/browse/JDK-8200613 Issue: jhsdb jstack would throw an UnmappedAddressException with a core file generated from a CDS enabled java process. This is seen only with Linux and with G1GC, while trying to read in data from the shared strings region (the closed archive heap space). This region (which is a file backed private memory region) is not dumped into the corefile for Linux. This, being a heap region (and therefore being a read-write region) is also not read in from the classes.jsa file in SA since only the read only regions are read in while processing the core file. (The expectation being that the read write regions are in the core file). Proposed solution: The proposed solution is to have the coredumpfilter value corresponding to the CDS process to include bit 2 (file-backed private memory), so that the file-backed private memory region also gets dumped into the corefile. The proposed fix is in src/hotspot/os/linux/oslinux.cpp. Thanks, Jini.
- Previous message: RFR: (S): JDK-8200613: SA: jstack throws UnmappedAddressException with a CDS core file
- Next message: RFR: (S): JDK-8200613: SA: jstack throws UnmappedAddressException with a CDS core file
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]