RFR: 8219414: SA: jhsdb jsnap throws UnmappedAddressException with core generated by gcore

Yasumasa Suenaga yasuenag at gmail.com
Thu Feb 21 12:01:28 UTC 2019


Thanks Jini!


Yasumasa


On 2019/02/21 19:19, Jini George wrote:
> Looks good to me, Yasumasa. Thanks!
> 
> -Jini.
> 
> On 2/21/2019 11:45 AM, Yasumasa Suenaga wrote:
>> Hi Jini,
>>
>> Thank you for your comment.
>>
>> I uploaded new webrev.
>> Could you review again?
>>
>>    http://cr.openjdk.java.net/~ysuenaga/JDK-8219414/webrev.01/
>>
>> diff from webrev.00 is here:
>>    http://hg.openjdk.java.net/jdk/submit/rev/bb58c9d41381
>>
>>
>> Thanks,
>>
>> Yasumasa
>>
>>
>> 2019年2月21日(木) 12:30 Jini George <jini.george at oracle.com>:
>>>
>>> Your changes look good to me overall, Yasumasa. A couple of points though.
>>>
>>> * Since you are making modifications to have DumpPrivateMappingsInCore
>>> independent of CDS, in os::abort(), you would also need change the
>>> following lines:
>>> 1361 #if INCLUDE_CDS
>>> 1362     if (UseSharedSpaces && DumpPrivateMappingsInCore) {
>>> 1363       ClassLoader::close_jrt_image();
>>> 1364     }
>>> 1365 #endif
>>>
>>> to
>>>
>>> 1361
>>> 1362     if (DumpPrivateMappingsInCore) {
>>> 1363       ClassLoader::close_jrt_image();
>>> 1364     }
>>>
>>> But this might cause the zero build to fail due to the call to
>>> ClassLoader::close_jrt_image()
>>> (https://bugs.openjdk.java.net/browse/JDK-8215342). So, it might be
>>> better to guard the above lines with #ifndef ZERO to have:
>>>
>>> 1361 #ifndef ZERO
>>> 1362     if (DumpPrivateMappingsInCore) {
>>> 1363       ClassLoader::close_jrt_image();
>>> 1364     }
>>> 1365 #endif
>>>
>>>
>>> * Also, one nit:
>>>
>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8219414/webrev.00/src/hotspot/os/linux/os_linux.cpp.html
>>>
>>> - Could you please remove or modify the comment at line 3436 since
>>> set_coredump_filter() is not restricted to include only largepages now?
>>>
>>> Thank you!
>>> Jini.
>>>
>>>
>>> On 2/21/2019 7:43 AM, Yasumasa Suenaga wrote:
>>>> Thanks Chris!
>>>>
>>>>
>>>> Yasumasa
>>>>
>>>>
>>>> 2019年2月21日(木) 11:08 Chris Plummer <chris.plummer at oracle.com
>>>> <mailto:chris.plummer at oracle.com>>:
>>>>
>>>>      Ok. The changes look fine to me then.
>>>>
>>>>      thanks,
>>>>
>>>>      Chris
>>>>
>>>>      On 2/20/19 6:02 PM, Yasumasa Suenaga wrote:
>>>>       > Hi Chris,
>>>>       >
>>>>       > I grep'ed with "MAP_SHARED" on jdk/src.
>>>>       > Shared memory is used in ZGC (ZBackingFile and
>>>>      ZPhysicalMemoryBacking)
>>>>       > and in FileChannel::map at least.
>>>>       >
>>>>       > I think we have memory footprint concern about them, but shared
>>>>      memory
>>>>       > should be dumped.
>>>>       > If we did not get them, we cannot analyze ZGC related behavior and
>>>>       > other code which uses shared memory.
>>>>       > (We can pass FD to os::reserve_memory - it will use shared memory if
>>>>       > FD is passed.)
>>>>       >
>>>>       > Thus I want to introduce `DumpSharedMappingsInCore` for dumping
>>>>      shared
>>>>       > memory and set it to true by default.
>>>>       >
>>>>       >
>>>>       > Thanks,
>>>>       >
>>>>       > Yasumasa
>>>>       >
>>>>       >
>>>>       > 2019年2月21日(木) 3:10 Chris Plummer <chris.plummer at oracle.com
>>>>      <mailto:chris.plummer at oracle.com>>:
>>>>       >> [adding runtime]
>>>>       >>
>>>>       >> Hi Yasumasa,
>>>>       >>
>>>>       >> Overall looks good. Just a couple of questions.
>>>>       >>
>>>>       >> Do we have the same footprint concerns with the shared mappings
>>>>      as we
>>>>       >> did with the private mappings? If not, possibly it doesn't need an
>>>>       >> option and should always be enabled.
>>>>       >>
>>>>       >> thanks,
>>>>       >>
>>>>       >> Chris
>>>>       >>
>>>>       >> On 2/20/19 12:03 AM, Yasumasa Suenaga wrote:
>>>>       >>> Hi all,
>>>>       >>>
>>>>       >>> Please review this webrev:
>>>>       >>>
>>>>       >>>     JBS: https://bugs.openjdk.java.net/browse/JDK-8219414
>>>>       >>>     webrev:
>>>>      http://cr.openjdk.java.net/~ysuenaga/JDK-8219414/webrev.00/
>>>>       >>>
>>>>       >>> I tried to get PerfCounter values via `jhsdb jsnap` from core image
>>>>       >>> which is generated by `gcore` (provided by GDB), but I encountered
>>>>       >>> UnmappedAddressException.
>>>>       >>>
>>>>       >>> It is caused by `generate-core-file` on GDB regards
>>>>      `coredump_filter` on procfs.
>>>>       >>>
>>>>       >>> https://sourceware.org/gdb/onlinedocs/gdb/Core-File-Generation.html
>>>>       >>>
>>>>       >>> JDK-8200613 introduced `DumpPrivateMappingsInCore` for CDS. I
>>>>      want to
>>>>       >>> introduce `DumpSharedMappingsInCore` for shared memory mapping.
>>>>       >>>
>>>>       >>> Currently `DumpPrivateMappingsInCore` affects when
>>>>      `UseSharedSpaces` is enabled.
>>>>       >>> I want `DumpPrivateMappingsInCore` to affect independently in this
>>>>       >>> change because file-backed private memory which is not CDS might be
>>>>       >>> useful in the future.
>>>>       >>>
>>>>       >>>
>>>>       >>> Thanks,
>>>>       >>>
>>>>       >>> Yasumasa
>>>>       >>
>>>>
>>>>


More information about the serviceability-dev mailing list