RFR(9): 8176533: REGRESSION: a java process is not recognized by jcmd/jinfo/jstack/jmap tool
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Wed Mar 15 18:14:16 UTC 2017
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
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
More information about the serviceability-dev
mailing list