Hi David,
On 03/15/2017 10:23 PM, David Holmes wrote:
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
:)
/Robbin
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