On Mon, 27 Apr 2026 23:51:41 GMT, Yasumasa Suenaga <[email protected]> wrote:

> We could see jtreg test failure in TestJhsdbJstackMixedWithXComp.java due to 
> unable unwinding from continuation stub.
> SA could unwind mixed call stacks since 
> [JDK-8377946](https://bugs.openjdk.org/browse/JDK-8377946), and enabled 
> TestJhsdbJstackMixedWithXComp tests in it. Hence the problem has been 
> suffered. The problem was reported in Valhalla, but it is potential to happen 
> on upstream, thus I proposed the fix to upstream.
> 
> There are 2 problems in LinuxAARCH64CFrame:
> 
> 1. On AArch64 which disables `PreserveFramePointer`, we cannot believe FP to 
> unwind call stacks, thus we might not be able to unwind call stacks from Java 
> frame (includes code blobs).
> 2. In continuation stub, we need to get SP/FP/PC from continuation entry.
> 
> So I fixed them in this PR, and it works on both upstream and Valhalla.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/aarch64/LinuxAARCH64CFrame.java
 line 157:

> 155:           } else if (currentBlob.getFrameSize() == 0) {
> 156:             senderSP = fp().addOffsetTo(2 * VM.getVM().getAddressSize());
> 157:           } else {

I first read it as "calculate ... without FP if possible.." and was going to 
suggest that correction.  But I think it's always possible to calculate these 
things based on SP.  So just remove "as possible" I think.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/30959#discussion_r3166666219

Reply via email to