8221730: jcmd process name matching broken

Daniil Titov daniil.x.titov at oracle.com
Mon Apr 8 14:04:16 UTC 2019


Thank you, Chris,

I will fix this typo before pushing the change in the repository.

Best regards,
Daniil


On 4/5/19, 11:18 PM, "Chris Plummer" <chris.plummer at oracle.com> wrote:

    [I just realized I had typed this up a day or two ago and never sent it]
    
    +1, except there is a typo on the following line: </ew>
    
       54      * was started with <em>-m</em> or <em>--module</ew> option 
    the method returns
    
    thanks,
    
    Chris
    
    On 4/3/19 5:23 PM, David Holmes wrote:
    > Hi Daniil,
    >
    > This seems reasonable, but can we add a suitable regression test 
    > please to verify behaviour before JDK-8205654 and with this fix.
    >
    > Thanks,
    > David
    >
    > On 4/04/2019 5:02 am, Daniil Titov wrote:
    >> Please review the change that makes jcmd process name matching on 
    >> Linux platform consistent with pre-existing behavior.
    >>
    >> On other platforms (and on Linux platform before changes [3]) the 
    >> jcmd uses system property "sun.rt.javaCommand"  (see 
    >> sun.jvmstat.monitor. MonitoredVmUtil.mainClass(MonitoredVm, boolean) 
    >> that is called from sun.tools.common. ProcessArgumentMatcher at line 
    >> 96) and treats the part before the first space as a main class when 
    >> matching the process name. However, if the application  is started 
    >> with -jar option this part contains the path to the jar file. If  -m 
    >> or --module option is used this part contains the module name and the 
    >> main class (if the main class was specified in the command line) in 
    >> the format <modulename>/<mainclass>.  After changes [3] , on Linux 
    >> platform the proc filesystem is used to find a Java process, however, 
    >> it always matches the process name against the main class regardless 
    >> what options were used to launch the application. This created 
    >> discrepancies between old and new behavior on Linux platform as well 
    >> as between behavior on Linux and other platforms. Th!
    >>   e fix changes sun.tool.ProcessHelper (that was introduced in [3]) 
    >> to correct these discrepancies.
    >>
    >>
    >> Reference:
    >> [1]  Webrev: http://cr.openjdk.java.net/~dtitov/8221730/webrev.01
    >> [2] Bug: https://bugs.openjdk.java.net/browse/JDK-8221730
    >> [3] https://bugs.openjdk.java.net/browse/JDK-8205654
    >>
    >>
    >> Thanks!
    >> --Daniil
    >>
    >>
    
    
    




More information about the serviceability-dev mailing list