RFR: 8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer
Andrei Pangin
apangin at openjdk.org
Mon Aug 7 20:58:29 UTC 2023
On Mon, 7 Aug 2023 13:37:33 GMT, Richard Startin <duke at openjdk.org> wrote:
> We have observed invalid pointers to the interpreted method at Datadog. The fix is based on a discussion with and a code snippet from @parttimenerd.
src/hotspot/cpu/aarch64/frame_aarch64.cpp line 511:
> 509: // first the method
> 510: Method** m_addr = interpreter_frame_method_addr();
> 511: if (m_addr == nullptr || !os::is_readable_pointer(m_addr)) {
Just wondering, why checking `is_readable_pointer` + dereference instead of `SafeFetch` which does both in one shot? Especially since `os::is_readable_pointer` is implemented with `SafeFetch` anyway.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15178#discussion_r1286375719
More information about the hotspot-dev
mailing list