[jdk11u-dev] RFR: 8315380: AsyncGetCallTrace crash in frame::safe_for_sender [v3]
Severin Gehwolf
sgehwolf at openjdk.org
Thu Apr 17 15:40:01 UTC 2025
On Thu, 17 Apr 2025 06:59:37 GMT, Jaroslav Bachorik <jbachorik at openjdk.org> wrote:
>> This change is fixing the problem in `frame_aarch64.cpp`, function `safe_for_sender`, where we have this code
>>
>>
>> bool unextended_sp_safe = unextended_sp < thread->stack_base();
>>
>>
>> While this captures one possibility of not being safe, it omits the check for `unextended_sp` falling within the stack space.
>>
>> The proposed change then is
>>
>>
>> bool unextended_sp_safe = (unextended_sp < thread->stack_base() && \
>> sp >= thread->stack_base() - thread->stack_size());
>>
>>
>> This is actually just making sure the behaviour is the same as in JDK 15+ (since [JDK-8238988](https://bugs.openjdk.org/browse/JDK-8238988)) where the `unextended_sp` is checked for being within the stack limits.
>>
>>
>> The change is not accompanied by a JTReg test because I was not able to craft one triggering the issue reliably.
>>
>> Existing tests from tier1-tier4 were run on a linux-aarch64 system with no new failures observed.
>
> Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision:
>
> Use 'thread->stack_end()'
src/hotspot/cpu/aarch64/frame_aarch64.cpp line 4:
> 2: * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
> 3: * Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
> 4: * Copyrithg (c) 2025, Datadog, Inc. All rights reserved.
Suggestion:
* Copyright (c) 2025, Datadog, Inc. All rights reserved.
I tend to agree that this doesn't really need a copyright update.
-------------
PR Review Comment: https://git.openjdk.org/jdk11u-dev/pull/3003#discussion_r2049215654
More information about the jdk-updates-dev
mailing list