RFR (trivial): 8250826: jhsdb does not work with coredump which comes from Substrate VM
Chris Plummer
chris.plummer at oracle.com
Thu Jul 30 22:29:36 UTC 2020
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
>
>
More information about the serviceability-dev
mailing list