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