{"action":"created","issue":{"url":"https://api.github.com/repos/hcoles/pitest/issues/245","labels_url":"https://api.github.com/repos/hcoles/pitest/issues/245/labels{/name}","comments_url":"https://api.github.com/repos/hcoles/pitest/issues/245/comments","events_url":"https://api.github.com/repos/hcoles/pitest/issues/245/events","html_url":"https://github.com/hcoles/pitest/pull/245","id":125855120,"number":245,"title":"Do not split child JVM arguments using commas as delimiters. Without …","user":{"login":"cinquin","id":6504389,"avatar_url":"https://avatars.githubusercontent.com/u/6504389?v=3","gravatar_id":"","url":"https://api.github.com/users/cinquin","html_url":"https://github.com/cinquin","followers_url":"https://api.github.com/users/cinquin/followers","following_url":"https://api.github.com/users/cinquin/following{/other_user}","gists_url":"https://api.github.com/users/cinquin/gists{/gist_id}","starred_url":"https://api.github.com/users/cinquin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cinquin/subscriptions","organizations_url":"https://api.github.com/users/cinquin/orgs","repos_url":"https://api.github.com/users/cinquin/repos","events_url":"https://api.github.com/users/cinquin/events{/privacy}","received_events_url":"https://api.github.com/users/cinquin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-01-11T00:08:25Z","updated_at":"2016-01-14T07:14:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hcoles/pitest/pulls/245","html_url":"https://github.com/hcoles/pitest/pull/245","diff_url":"https://github.com/hcoles/pitest/pull/245.diff","patch_url":"https://github.com/hcoles/pitest/pull/245.patch"},"body":"…this change, using an Ant task I could not see a way to pass an argument such as -XX:CompileCommand=exclude,gnu.trove.impl.hash.TObjectHash::insertKey (this would presumably require a way of escaping the commas). I cannot think of circumstances under which it would be useful for the arguments to be split by comma, but perhaps I'm missing something. In the case of a command line invocation, it seems that it should be OK for multiple arguments to be separated by spaces as long as the whole argument string is between quotes (not tested)."},"comment":{"url":"https://api.github.com/repos/hcoles/pitest/issues/comments/171559653","html_url":"https://github.com/hcoles/pitest/pull/245#issuecomment-171559653","issue_url":"https://api.github.com/repos/hcoles/pitest/issues/245","id":171559653,"user":{"login":"cinquin","id":6504389,"avatar_url":"https://avatars.githubusercontent.com/u/6504389?v=3","gravatar_id":"","url":"https://api.github.com/users/cinquin","html_url":"https://github.com/cinquin","followers_url":"https://api.github.com/users/cinquin/followers","following_url":"https://api.github.com/users/cinquin/following{/other_user}","gists_url":"https://api.github.com/users/cinquin/gists{/gist_id}","starred_url":"https://api.github.com/users/cinquin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cinquin/subscriptions","organizations_url":"https://api.github.com/users/cinquin/orgs","repos_url":"https://api.github.com/users/cinquin/repos","events_url":"https://api.github.com/users/cinquin/events{/privacy}","received_events_url":"https://api.github.com/users/cinquin/received_events","type":"User","site_admin":false},"created_at":"2016-01-14T07:14:25Z","updated_at":"2016-01-14T07:14:25Z","body":"Actually it turns out that, although the multiple arguments were passed to the JVM, they were not parsed correctly by the JVM because the whole string was seen a single argument. I did not catch this straight away because a single argument such as `\"-XX:CompileCommand=exclude,gnu.TObjectHash::insertKey whatever junk\"` (note the quotes) causes the JVM to display an error message but not to abort. It looks like the error message from the Minion was swallowed up and did not make it to the console.\r\nI have updated my pull request to work around this problem by splitting the arguments by space. Note that the tradeoff here is that this probably makes it impossible to pass space-containing arguments to the JVM. I guess there probably is a more elegant solution to this problem, but at least this works and I don't know off-hand of a use-case in this context for space-containing JVM arguments."}}