RFR: 8299426: Heap dump does not contain virtual Thread stack references [v2]
David Holmes
david.holmes at oracle.com
Mon Dec 4 12:41:58 UTC 2023
On 1/12/2023 2:08 pm, Alex Menkov wrote:
> On Thu, 30 Nov 2023 21:11:08 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
>
>> I wasn't thinking in terms of the scheduler somehow no longer references the virtual thread, but instead the program no longer referencing the scheduler (and also not referencing the virtual thread).
>
> AFAIU unfinished unmounted virtual threads are referenced from other objects (they are parked on), so they can't be unreachable even is the application is not referencing them and the scheduler.
There is (or was - there may be a property that affects this:
trackAllThreads?) a scenario where a VT might park on a synchronization
object which is not referenced from any other thread. The VT can never
be unparked, and the sync object and the VT are reachable only from
either other and so both can be GC'd.
David
-----
> -------------
>
> PR Comment: https://git.openjdk.org/jdk/pull/16665#issuecomment-1835422117
More information about the serviceability-dev
mailing list