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

Dmitry Samersoff dmitry.samersoff at oracle.com
Wed Mar 15 18:14:42 UTC 2017


Robbin,

Looks good to me.

-Dmitry

On 2017-03-15 20: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.
> 
> Thanks
> 
> /Robbin


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the serviceability-dev mailing list