[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR: 8292657: Calling GetLocalXXX from virtual thread with thread parameter set to NULL returns 
From:       Serguei Spitsyn <sspitsyn () openjdk ! org>
Date:       2022-08-30 16:47:14
Message-ID: iP-lOEYft8QyqOxtbAIiVODhsFbQLtG-tN-HqUYt04o=.4eb821b0-0ca6-4ac0-9630-b112dd1a5e38 () github ! com
[Download RAW message or body]

On Fri, 26 Aug 2022 21:33:13 GMT, Serguei Spitsyn <sspitsyn@openjdk.org> wrote:

> > If JVM TI GetLocalXXX/SetLocalXXX is called from a virtual thread with the thread \
> > parameter set to NULL (meaning current thread) then it should get/set the value \
> > of the locals in the virtual thread frames. Instead, it reads the carrier thread \
> > locals and/or crashes. 
> > The fix is that the relevant checking of the jthread parameter for NULL and \
> > adjusting it to current thread is added. It is done in new utility `function \
> > current_thread_obj_or_resolve_external_guard(jthread thread)`. For more \
> > convenient testing the same adjustment is done in the JVM TI extension function \
> > `GetCarrierThread()`. 
> > The test serviceability/jvmti/vthread/GetSetLocalTest is updated to add \
> > previously missed test coverage. 
> > The test serviceability/jvmti/vthread/VThreadTest has been updated to adopt to \
> > update behavior of the `GetCarrierThread`. 
> > The fix was verified with the test/hotspot/jtreg/serviceability/jvmti/vthread/ \
> > tests. 
> > The fix was also tested with the existing JVM TI and JDI tests to make sure no \
> > regressions are introduced.
> 
> Serguei Spitsyn has updated the pull request incrementally with one additional \
> commit since the last revision: 
> remove unneeded commented lines in test

Thank you for review, Alan!

-------------

PR: https://git.openjdk.org/jdk/pull/10051


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic