RFR(s) 8154529: some places in the invoke.c that use InvokeRequest* not protected with invokerLock

Severin Gehwolf sgehwolf at redhat.com
Tue Apr 26 08:58:10 UTC 2016


Hi,

Could somebody please review this patch for JDK-8154529. Some methods
modifying values pointed to by the InvokeRequest pointer aren't holding
the invokerLock. This can lead to some races. For example between
invoker_doInvoke() and threadControl_popFrames().

Perhaps com/sun/jdi/PopAndInvokeTest.java can be enabled (un-ignored)
these days?

There was also one instance of dead code: invoker_isPending() isn't
used anywhere.

Bug: https://bugs.openjdk.java.net/browse/JDK-8154529
webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8154529/webrev.01/

Testing done:
 - com/sun/jdi test set. No regressions.
 - I've also run the following invoke tests 1500 times with no failures:
   com/sun/jdi/InterfaceMethodsTest.java
   com/sun/jdi/InvokeTest.java
   com/sun/jdi/InvokeHangTest.java

Thoughts? Once reviewed, I'd need somebody to sponsor this patch for
me.

Thanks,
Severin


More information about the serviceability-dev mailing list