RFR: 8298377: JfrVframeStream causes deadlocks in ZGC
Markus Grönlund
mgronlun at openjdk.org
Tue Dec 20 11:32:50 UTC 2022
On Tue, 20 Dec 2022 11:26:27 GMT, Erik Österlund <eosterlund 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.
Great - it is, it is holding the Threads_lock
-------------
PR: https://git.openjdk.org/jdk/pull/11586
More information about the hotspot-dev
mailing list