On Mon, 4 Mar 2024 23:35:16 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:

> AFAIK, as it is not a good idea to post the JVMTI events recursively

We already do. When the debug agent is handling a JVMTI event and 
RawMonitorWait is interrupted, that results in the debug agent later on calling 
InterrtupThread before exiting the event handler. For virtual threads that 
results in an upcall to Thread.interrupt(), and therefore the potential for a 
JVMTI event to be triggered (and that is exactly what happens frequently in the 
com/sun/jdi/InterruptHang.java test). At least in that case the debug agent is 
somewhat in control of the situation because it is just doing "cleanup" before 
exiting the event handler. For example, no locks are being held. Having 
RawMonitorWait do a java upcall sounds a potential big can of worms.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18093#discussion_r1511989552

Reply via email to