-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
None
The problem seems to be in read_lib_segments (ps_core.c), this check is too harsh:
ROUNDUP(existing_map->memsz, page_size) != ROUNDUP(lib_php->p_memsz, page_size)
existing_map->memsz is 0xe24000, while the rhs is 0xe23000. According to the NT_FILE entry, this segment of libjvm.so has a file offset of 0x67f000. It seems that the linker aligned it down according to the page size (0x1000). The offset of the same segment according to "readelf -l libjvm.so" is 0x67fc80. This additional offset should be added to p_memsz to obtain the 0xe24000, which we see in the core dump.
I see a similar failure was reported inJDK-8337196.
ROUNDUP(existing_map->memsz, page_size) != ROUNDUP(lib_php->p_memsz, page_size)
existing_map->memsz is 0xe24000, while the rhs is 0xe23000. According to the NT_FILE entry, this segment of libjvm.so has a file offset of 0x67f000. It seems that the linker aligned it down according to the page size (0x1000). The offset of the same segment according to "readelf -l libjvm.so" is 0x67fc80. This additional offset should be added to p_memsz to obtain the 0xe24000, which we see in the core dump.
I see a similar failure was reported in
- caused by
-
JDK-7133122 SA throws sun.jvm.hotspot.debugger.UnmappedAddressException when it should not
-
- Resolved
-
- relates to
-
JDK-8337196 Failure of serviceability/sa/TestJmapCore.java using clang toolchain
-
- Closed
-
- links to
-
Review(master) openjdk/jdk/27274