RFR: 8329103: assert(!thread->in_asgct()) failed during multi-mode profiling [v2]
Andrei Pangin
apangin at openjdk.org
Fri Mar 29 11:35:57 UTC 2024
> 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
Andrei Pangin has updated the pull request incrementally with one additional commit since the last revision:
Rephrased comment about AsyncGetCallTrace reentrancy
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/18504/files
- new: https://git.openjdk.org/jdk/pull/18504/files/af9a57fd..fc5a4831
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=18504&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=18504&range=00-01
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/18504.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18504/head:pull/18504
PR: https://git.openjdk.org/jdk/pull/18504
More information about the hotspot-runtime-dev
mailing list