RFR(9): 8176533: REGRESSION: a java process is not recognized by jcmd/jinfo/jstack/jmap tool

Robbin Ehn robbin.ehn at oracle.com
Thu Mar 16 06:09:50 UTC 2017


Thanks Serguei!

On 03/15/2017 07:14 PM, serguei.spitsyn at oracle.com 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
>


More information about the hotspot-runtime-dev mailing list