On Wed, 27 Mar 2024 01:02:41 GMT, Andrei Pangin <apan...@openjdk.org> wrote:
> This fix makes `AsyncGetCallTrace` reentrant and async-signal-safe. > Reentrancy is required in the cases when two or more profiling engines are > running at the same time, e.g., when CPU and Wall clock profilers work > together and therefore one profiler may interrupt another in the middle of > getting a stack trace. > > Tested with async-profiler: > > java > -agentpath:/path/to/libasyncProfiler.so=start,event=cpu,interval=1ms,wall=1ms,file=profile.jfr This pull request has now been integrated. Changeset: 6b1b0e9d Author: Andrei Pangin <apan...@openjdk.org> Committer: Serguei Spitsyn <sspit...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/6b1b0e9d45eb56f88398e2a6bca0d90c03112eaa Stats: 4 lines in 1 file changed: 2 ins; 0 del; 2 mod 8329103: assert(!thread->in_asgct()) failed during multi-mode profiling Reviewed-by: dholmes, sspitsyn ------------- PR: https://git.openjdk.org/jdk/pull/18504