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 :-(

http://openjdk.5641.n7.nabble.com/RFR-S-JDK-8200613-SA-jstack-throws-UnmappedAddressException-with-a-CDS-core-file-td352681.html#a353026

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 






Thanks

- 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