RFR: 8304725: AsyncGetCallTrace can cause SIGBUS on M1 [v3]

David Holmes dholmes at openjdk.org
Thu Mar 23 12:39:44 UTC 2023


On Thu, 23 Mar 2023 08:20:18 GMT, Johannes Bechberger <jbechberger at openjdk.org> wrote:

>> Fixes the issue by transitioning the thread into the WXWrite mode while walking the stack in AsyncGetCallTrace.
>> 
>> Tested on my M1 mac.
>
> Johannes Bechberger has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use raw_thread instead of Thread::current()

So AGCT already breaks in this scenario because WX is not enabled when needed. The code to enable WX is not async-signal_safe, so the "fix" is only a partial fix - it will sometimes fail too. So we go from broken to slightly less broken.

This is why AGCT is not supported.

Anyway retracting my review while discussion continues.

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

Changes requested by dholmes (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/13144#pullrequestreview-1354523473


More information about the serviceability-dev mailing list