Integrated: 8329103: assert(!thread->in_asgct()) failed during multi-mode profiling

Andrei Pangin apangin at openjdk.org
Tue Apr 2 04:33:07 UTC 2024


On Wed, 27 Mar 2024 01:02:41 GMT, Andrei Pangin <apangin at 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 <apangin at openjdk.org>
Committer: Serguei Spitsyn <sspitsyn at 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


More information about the serviceability-dev mailing list