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