On Thu, 15 Oct 2026 02:18:04 GMT, Long Yang <[email protected]> wrote:

> Hi, could I have a review of this patch. This patch fixes 
> [JDK-8391637](https://bugs.openjdk.org/browse/JDK-8391637).
> 
> Due to my GitHub account settings (Enable Copilot Code Review for all my 
> PRs), my previous [PR](https://github.com/openjdk/jdk/pull/33358) had Copilot 
> Review enabled by default. I have disabled it and now open this new PR, with 
> no changes made to the code. 
> 
> On `risc-v`, 
> [LinuxRISCV64CFrame.sender()](https://github.com/openjdk/jdk/blob/c368bac40e185398fbc40dc4d75a457f7a36f954/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/riscv64/LinuxRISCV64CFrame.java#L70)
>  validates only FP alignment, then dereferences FP for SP, link, and return 
> address. An aligned arbitrary FP (such as 0x90) can therefore cause 
> UnmappedAddressException, and lead to incomplete stack for the target thread.
> 
> `aarch64` and `amdf64`already use `dwarf` to unwind native frames, see 
> https://github.com/openjdk/jdk/blob/c368bac40e185398fbc40dc4d75a457f7a36f954/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java#L36
> https://github.com/openjdk/jdk/blob/c368bac40e185398fbc40dc4d75a457f7a36f954/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/aarch64/LinuxAARCH64CFrame.java#L38
> 
> This patch makes `risc-v` to unwind with `dwarf` too. 
> 
> The `risc-v` version basically has the same design as the `aarch64` version. 
> There are also several differences , primarily due to differences in calling 
> conventions.  Almost every difference is accompanied by an explanatory 
> comment.
> 
> I have ran tests in `test/hotspot/jtreg/serviceability/sa` on `risc-v` and 
> `amd64`, all passed.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

This pull request has now been integrated.

Changeset: f6e70560
Author:    Long Yang <[email protected]>
Committer: Gui Cao <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/f6e70560cafde415686a76690912e87867a1df38
Stats:     485 lines in 14 files changed: 382 ins; 30 del; 73 mod

8391637: RISC-V: Use DWARF in jstack to unwind native frames on Linux

Co-authored-by: Xinyi Zhang <[email protected]>
Co-authored-by: Dingli Zhang <[email protected]>
Reviewed-by: cjplummer, ysuenaga, dzhang

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

PR: https://git.openjdk.org/jdk/pull/33374

Reply via email to