RFR: 8304725: AsyncGetCallTrace can cause SIGBUS on M1 [v4]
David Holmes
dholmes at openjdk.org
Tue Mar 28 04:27:35 UTC 2023
On Fri, 24 Mar 2023 10:35:36 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 two additional commits since the last revision:
>
> - Remove misc lines
> - Disable caching in ASGCT
Changes requested by dholmes (Reviewer).
src/hotspot/share/runtime/thread.hpp line 641:
> 639: void set_in_asgct(bool value) { _in_asgct = value; }
> 640: static bool current_in_asgct() {
> 641: Thread *cur = Thread::current();
You need to use`current_or_null_safe` here as you may be in a signal handling context.
src/hotspot/share/runtime/thread.hpp line 651:
> 649: public:
> 650: ThreadInAsgct(Thread* thread) : _thread(thread) {
> 651: assert(thread != NULL, "invariant");
s/NULL/nullptr/
-------------
PR Review: https://git.openjdk.org/jdk/pull/13144#pullrequestreview-1360181938
PR Review Comment: https://git.openjdk.org/jdk/pull/13144#discussion_r1150010290
PR Review Comment: https://git.openjdk.org/jdk/pull/13144#discussion_r1150010653
More information about the serviceability-dev
mailing list