Hi Yasumasa,
If I understand correctly we first call add_map_info() for all the
PT_LOAD segments in the core file. We then process all the library
segments, calling add_map_info() for them if the target_vaddr has not
already been addded. If has already been added, which I assume is the
case for any library segment that is already in the core file, then the
core file version is replaced the the library version. I'm a little
unclear of the purpose of this replacing of the core PT_LOAD segments
with those found in the libraries. If you could explain this that would
help me understand your change.
I'm also unsure why existing_map->fd would ever be something other than
the core file. Why would another library map the same target_vaddr.
thanks,
Chris
On 7/30/20 1:18 PM, Chris Plummer wrote:
Hi Yasumasa,
I'm reviewing this RFR, and I'd like to ask that it not be pushed as
trivial. Although it is just a one line change, it takes an extensive
knowledge to understand the impact. I'll read up on the filed graal
issue and try to understand the ELF code a bit better.
thanks,
Chris
On 7/30/20 6:45 AM, Yasumasa Suenaga wrote:
Hi all,
Please review this trivial change:
JBS: https://bugs.openjdk.java.net/browse/JDK-8250826
webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8250826/webrev.00/
I played Truffle NFI on GraalVM, but I cannot get Java stacks from
coredump via jhsdb.
I've reported this issue to GraalVM community [1], and I 've found
out the cause of this issue is .svm_heap would be separated to RO and
RW areas by mprotect() calls in run time in spite of .svm_heap is RO
section in ELF (please see [1] for details).
It is corner case, but we will see same problem on jhsdb when we
attempt to analyze coredump which comes from some applications /
libraries which would separate RO sections in ELF like Substrate VM.
I sent PR to fix libsaproc.so in LabsJDK 11 for this issue [2], then
community members suggested me to discuss in serviceability-dev.
Thanks,
Yasumasa
[1] https://github.com/oracle/graal/issues/2579
[2] https://github.com/graalvm/labs-openjdk-11/pull/9