RFR: 8350111: [PPC] AsyncGetCallTrace crashes when called while handling SIGTRAP
Richard Reingruber
rrich at openjdk.org
Tue Feb 25 09:36:28 UTC 2025
With this change `JavaThread::pd_get_top_frame_for_profiling()` fails if the current thread is found to be `_thread_in_Java` but the CodeCache does not contain its pc.
This will prevent crashes as described by the JBS item.
The fix might be too conservative for situations where a thread doen't change its thread state when calling native code, e.g. using the Foreign Function & Memory API. The difficulty finding a less defensive fix is that one must detect if a valid pc can be found in the caller's ABI before constructing that frame.
Testing:
* DaCapo Tomcat with async-profiler on a fastdebug build.
* Tier 1-4 of hotspot and jdk on the main platforms and also on Linux/PPC64le and AIX.
-------------
Commit messages:
- Handle attempt to sample stack while handling SIGTRAP
Changes: https://git.openjdk.org/jdk/pull/23641/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23641&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8350111
Stats: 16 lines in 2 files changed: 12 ins; 0 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/23641.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23641/head:pull/23641
PR: https://git.openjdk.org/jdk/pull/23641
More information about the hotspot-runtime-dev
mailing list