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

Ioi Lam ioi.lam at oracle.com
Mon Oct 22 04:57:30 UTC 2018

Hi Jini,

Did you see my earlier reply? I might have sent it out during the mail 
server outage days :-(


Here was my reply again:

> 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 


- Ioi

On 10/21/18 8:58 PM, Jini George wrote:
> Gentle reminder!
> Thanks,
> - Jini
> On 10/9/2018 11:31 AM, 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 serviceability-dev mailing list