RFR: 8376264: Mixed jstack could not unwind optimized frame [v2]
Chris Plummer
cjplummer at openjdk.org
Thu Jan 29 03:45:55 UTC 2026
On Thu, 29 Jan 2026 00:04:24 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:
>> src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp line 122:
>>
>>> 120: int rem_cfa_offset = 0;
>>> 121: int rem_ra_cfa_offset = 8;
>>> 122: int rem_bp_cfa_offset = INT_MAX;
>>
>> Although not introduced by this PR, I noticed the "remember state" code while reading through our existing sources and also reading up on the .eh_frame format. Remember states can be stacked, but your implementation only supports one push onto the state stack. I suppose you did this because you never saw a case where the stack was more than one deep. Is this something that should be eventually fixed?
>
>> Remember states can be stacked, but your implementation only supports one push onto the state stack. I suppose you did this because you never saw a case where the stack was more than one deep.
>
> Yes.
> Remember states should be stacked, but I haven't seen that case. So I implemented to save (push) once so far.
> I can fix it, but I want to do it in subsequent PR (for AArch64) because I will update register offset handling for generalization.
Yes, a separate PR would be best.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29398#discussion_r2739786274
More information about the serviceability-dev
mailing list