RFR: 8221730: jcmd process name matching broken

Chris Plummer chris.plummer at oracle.com
Sat Apr 6 06:18:17 UTC 2019


[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