RFR: 8234808: jdb quoted option parsing broken

Alex Menkov amenkov at openjdk.java.net
Fri Sep 18 22:06:38 UTC 2020


On Fri, 18 Sep 2020 20:41:18 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> Migrating this review from the mailing list into a pull request.
>> 
>> Some background:
>> when jdb launches debuggee process it passes java options from "options" value for CommandLineLaunch connector and
>> forward options specified before command.
>> The fix solves several discovered issues:
>> - proper handling of java options with spaces
>> - if both way are used to specify java options, forwarded options override options from "options" value
>> 
>> VMConnection class implements tricky logic for "options" field parsing for JFR needs (handling of single and double
>> quotes). I decided to keep it as is to avoid massive test failures with JFR (there is no test coverage for this
>> functionality and I'm not sure I understand all requirements).
>
> Your changes look good, but I don't fully understand your comment about the JFR needs. I do see your special test case:
> 
> 106                 "com.sun.jdi.CommandLineLaunch:vmexec=java,options='-client' '-XX:+PrintVMOptions'"
> 107                         + " '-XX:StartFlightRecording=dumponexit=true,maxsize=500M'
> '-XX:FlightRecorderOptions=repository=jfrrep'" 108                         + ",main=" + targ)
> 
> So I assume you are talking about special handling for the above example, but is this really special handling of JFR
> optins, or just special handling of options that contain suboptions.

This is handling of the options with suboptions, but researching old changes for this (for JFR needs) I didn't get full
understanding what are the requirements. Unfortunately there was no test introduced for the functionality, so I poke
command line examples from several old issues.

-------------

PR: https://git.openjdk.java.net/jdk/pull/211


More information about the serviceability-dev mailing list