Thanks Serguei!
On 03/15/2017 07:14 PM, [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
Yes.
/Robbin
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