RFR: (S): JDK-8200613: SA: jstack throws UnmappedAddressException with a CDS core file

Ioi Lam ioi.lam at oracle.com
Thu Oct 11 05:25:29 UTC 2018


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 
> coredump_filter 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/os_linux.cpp.
>
> Thanks,
> Jini.
>



More information about the hotspot-runtime-dev mailing list