On 16/03/2017 4:14 AM, [email protected] wrote:
Hi Robbin,

Nice fix.
Thank you for taking care about this issue so quickly!

One minor comment below.

http://cr.openjdk.java.net/~rehn/8176533/webrev/src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java.udiff.html


A typo in the comment: debugge-suspened => debuggee-suspened

typo: suspened -> suspended

Not a review :)

David



On 3/15/17 10:41, Robbin Ehn wrote:
Hi all, please review:

When starting the VM with agentlib and suspended,
jcmd/jinfo/jstack/jmap don't work until a debugger have attach.

There is an underlying issue with AttachProvider that don't list that
VM even if it's attachable.
That issue is present in JDK 8 (“jcmd -l” don’t list this process).

This fix only fixes the regression by not validating the pid against
available VirtualMachineDescriptors.
One problem with not validating is that we will send SIGQUIT to that
pid even if it’s not a java process, but it’s the same behavior as JDK 8.

The regression was introduced by
https://bugs.openjdk.java.net/browse/JDK-8156537

VirtualMachineDescriptor was not easily create-able from just a string
pid, you need an AttachProvider.
I instead change so we use a collection of pids where applicable.

Webrev: http://cr.openjdk.java.net/~rehn/8176533/webrev/
Issue: https://bugs.openjdk.java.net/browse/JDK-8176533

Passes jdk/test/sun/tools/ and internal test group.
Manual tested the regression case.

A new issue for the AttachProvider will be filed.

I've filed this one:
  https://bugs.openjdk.java.net/browse/JDK-8176828
   jtools do not list VM process launched with the debugger option
suspend=y

Feel free to update it if necessary.

Thanks,
Serguei


Thanks

/Robbin

Reply via email to