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

Reviewed-by: cjplummer, jgeorge
This commit is contained in:
Yasumasa Suenaga 2019-02-21 21:02:39 +09:00
parent 4aac63bb93
commit a38277e67b
2 changed files with 14 additions and 8 deletions

View File

@ -70,7 +70,12 @@
diagnostic(bool, DumpPrivateMappingsInCore, true, \
"If true, sets bit 2 of /proc/PID/coredump_filter, thus " \
"resulting in file-backed private mappings of the process to "\
"be dumped into the corefile, if UseSharedSpaces is true.") \
"be dumped into the corefile.") \
\
diagnostic(bool, DumpSharedMappingsInCore, true, \
"If true, sets bit 3 of /proc/PID/coredump_filter, thus " \
"resulting in file-backed shared mappings of the process to " \
"be dumped into the corefile.") \
\
diagnostic(bool, UseCpuAllocPath, false, \
"Use CPU_ALLOC code path in os::active_processor_count ")

View File

@ -131,6 +131,7 @@
enum CoredumpFilterBit {
FILE_BACKED_PVT_BIT = 1 << 2,
FILE_BACKED_SHARED_BIT = 1 << 3,
LARGEPAGES_BIT = 1 << 6,
DAX_SHARED_BIT = 1 << 8
};
@ -1357,8 +1358,8 @@ void os::shutdown() {
void os::abort(bool dump_core, void* siginfo, const void* context) {
os::shutdown();
if (dump_core) {
#if INCLUDE_CDS
if (UseSharedSpaces && DumpPrivateMappingsInCore) {
#ifndef ZERO
if (DumpPrivateMappingsInCore) {
ClassLoader::close_jrt_image();
}
#endif
@ -3432,8 +3433,6 @@ bool os::Linux::hugetlbfs_sanity_check(bool warn, size_t page_size) {
return result;
}
// Set the coredump_filter bits to include largepages in core dump (bit 6)
//
// From the coredump_filter documentation:
//
// - (bit 0) anonymous private memory
@ -5131,11 +5130,13 @@ jint os::init_2(void) {
set_coredump_filter(DAX_SHARED_BIT);
}
#if INCLUDE_CDS
if (UseSharedSpaces && DumpPrivateMappingsInCore) {
if (DumpPrivateMappingsInCore) {
set_coredump_filter(FILE_BACKED_PVT_BIT);
}
#endif
if (DumpSharedMappingsInCore) {
set_coredump_filter(FILE_BACKED_SHARED_BIT);
}
return JNI_OK;
}