RFR: 8266749: AArch64: Backtracing broken on PAC enabled systems

Vladimir Kempik vkempik at openjdk.java.net
Fri May 21 10:24:31 UTC 2021


On Fri, 14 May 2021 16:52:30 GMT, Vladimir Kempik <vkempik at openjdk.org> wrote:

> > It might be worth copying the assert I added to the linux_aarch64 version of fetch_compiled_frame_from_context() into the os_bsd version. That might catch what your seeing earlier. (Happy to add that to my patch too).
> 
> I have tried that and few more things, nothing catches that, only clearing upper 28 bits in c_rarg1 in generate_forward_exception helps. pauth_ptr_is_raw doesn't think it's pac-ed ptr ( maybe it always returns true on arm64 ( not arm64e))
> 
> here is example of ptrs on one run
> 
> return_address must be a return address: 0x9221800138009a5c
> return_address must be a return address: 0x5c08800138009a5c
> return_address must be a return address: 0x5c08800138009a5c
> return_address must be a return address: 0x8713800138009a5c
> return_address must be a return address: 0x0514800138009a5c
> return_address must be a return address: 0x8d7a000138009a5c
> return_address must be a return address: 0x403c000138009a5c
> return_address must be a return address: 0x492d000138009a5c
> return_address must be a return address: 0x403c000138009a5c
> 
> This is not any suggestion for this PR, just FYI

Turned out it was yet another PAC issue, fixed now for aarch64 (see JDK-8267235)

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

PR: https://git.openjdk.java.net/jdk/pull/4029


More information about the hotspot-dev mailing list