RFR: 8299414: JVMTI FollowReferences should support references from VirtualThread stack [v5]

David Holmes dholmes at openjdk.org
Tue Apr 11 03:09:36 UTC 2023


On Fri, 7 Apr 2023 04:51:36 GMT, Alex Menkov <amenkov at openjdk.org> wrote:

>> The fix updates JVMTI FollowReferences implementation to report references from virtual threads:
>> - added heap scanning to report unmounted vthreads;
>> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack and carrier thread stack), references are reported with correct thread id/class and object tags/frame depth;
>> - common code to handle stack frames are moved into separate class;
>
> Alex Menkov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use atomic for synchronization

Seems to me the bug report is asking for unmounted virtual threads to be considered roots - but virtual threads are deliberately not roots. Any unmounted virtual thread should be reachable from either the scheduler or whatever object the VT is parked on, so if they are not showing up then perhaps the wrong reference is being followed. If there is a bug/missing-functionality in the FollowReferences implementation then fixing it is of course fine, but that is not what the bug report seems to be about. ???

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

PR Comment: https://git.openjdk.org/jdk/pull/13254#issuecomment-1502624570


More information about the serviceability-dev mailing list