Resending RFR 8221730 again as it seems as there is a limit to the line length 
after which the mailer breaks the string and adds '!'. I apologize for 
confusion it created.

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. 

The 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



Reply via email to