JVMTI GetThreadState is returning 0x100005 for a vthread waiting on a monitor. That means ALIVE, RUNNABLE, and SUSPENDED (the later since we are at a SUSPEND_ALL breakpoint). It should be 0x100401, which is what I'm seeing on the carrier threads.
The failure can be detected with vmTestbase/nsk/jdi/ObjectReference/waitingThreads/waitingthreads002, which will time out when run in vthread mode:
make test TEST=open/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/waitingThreads/waitingthreads002 JTREG_MAIN_WRAPPER=Virtual
The failure can be detected with vmTestbase/nsk/jdi/ObjectReference/waitingThreads/waitingthreads002, which will time out when run in vthread mode:
make test TEST=open/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/waitingThreads/waitingthreads002 JTREG_MAIN_WRAPPER=Virtual