RFR: 8298377: JfrVframeStream causes deadlocks in ZGC
Erik Österlund
eosterlund at openjdk.org
Tue Dec 20 11:32:49 UTC 2022
On Tue, 20 Dec 2022 11:22:07 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:
> > > > In my proposed solution there is no association to the event type. We just say the stack shouldn't be parsed during stack watermark processing, whatever events might be interested in doing so.
>
> > >
>
> > >
>
> > > How would this relate to asynchronous stackwalking? I assume the solution involves not setting the ljf? What if another thread, for example the JFR Sampler Thread interrupts and walks the stack? It will use the CPU context, not the ljf.
>
> >
>
> > Does async profiling walk continuations? I would assume not.
>
>
>
> ```
>
> JfrVframeStream::JfrVframeStream(JavaThread* jt, const frame& fr, bool stop_at_java_call_stub, bool async_mode) : vframeStreamCommon(RegisterMap(jt,
>
> RegisterMap::UpdateMap::skip,
>
> RegisterMap::ProcessFrames::skip,
>
> RegisterMap::WalkContinuation::include)),
>
> ```
If the JFR sampler thread calls start_processing while locking out safepoints, the async stack walk should be fine. We would know the continuation oop is fixed then.
-------------
PR: https://git.openjdk.org/jdk/pull/11586
More information about the hotspot-dev
mailing list