Using JDK 16 on an old Debian Jessie server, I hit a failure in:
{noformat}
[error] at org.openjdk.jmh.util.Utils.readPropertiesFromCommand(Utils.java:603)
[error] at org.openjdk.jmh.runner.Runner.newBenchmarkParams(Runner.java:469)
[error] at org.openjdk.jmh.runner.Runner.getActionPlans(Runner.java:353)
[error] at org.openjdk.jmh.runner.Runner.runBenchmarks(Runner.java:546)
[error] at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:310)
[error] at org.openjdk.jmh.runner.Runner.run(Runner.java:209)
[error] Caused by: java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
[error] at sun.util.xml.PlatformXmlPropertiesProvider.load(PlatformXmlPropertiesProvider.java:80)
[error] at java.util.Properties$XmlSupport.load(Properties.java:1201)
[error] at java.util.Properties.loadFromXML(Properties.java:881)
[error] at org.openjdk.jmh.util.Utils.readPropertiesFromCommand(Utils.java:595)
{noformat}
Adding a diagnostic to this code path confirmed my suspicion that there was an unwanted guest in standard out.
{noformat}
[0.000s][warning][os,container] Duplicate cpuset controllers detected. Picking /sys/fs/cgroup/cpuset, skipping /cpusets.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
{noformat}
This particular problem could likely be fixed by changing the server, but only after the root cause is discovered.
JMH could help out doing one or more of: a) adding a diagnostic to the exception with the content that failed parsing, b) passing `-XX:+IgnoreUnrecognizedVMOptions -Xlog:all=error` to silence this and other VM warnings, c) using a temporary file to receive the data rather than standard output.
I'm happy to submit a patch.
{noformat}
[error] at org.openjdk.jmh.util.Utils.readPropertiesFromCommand(Utils.java:603)
[error] at org.openjdk.jmh.runner.Runner.newBenchmarkParams(Runner.java:469)
[error] at org.openjdk.jmh.runner.Runner.getActionPlans(Runner.java:353)
[error] at org.openjdk.jmh.runner.Runner.runBenchmarks(Runner.java:546)
[error] at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:310)
[error] at org.openjdk.jmh.runner.Runner.run(Runner.java:209)
[error] Caused by: java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
[error] at sun.util.xml.PlatformXmlPropertiesProvider.load(PlatformXmlPropertiesProvider.java:80)
[error] at java.util.Properties$XmlSupport.load(Properties.java:1201)
[error] at java.util.Properties.loadFromXML(Properties.java:881)
[error] at org.openjdk.jmh.util.Utils.readPropertiesFromCommand(Utils.java:595)
{noformat}
Adding a diagnostic to this code path confirmed my suspicion that there was an unwanted guest in standard out.
{noformat}
[0.000s][warning][os,container] Duplicate cpuset controllers detected. Picking /sys/fs/cgroup/cpuset, skipping /cpusets.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
{noformat}
This particular problem could likely be fixed by changing the server, but only after the root cause is discovered.
JMH could help out doing one or more of: a) adding a diagnostic to the exception with the content that failed parsing, b) passing `-XX:+IgnoreUnrecognizedVMOptions -Xlog:all=error` to silence this and other VM warnings, c) using a temporary file to receive the data rather than standard output.
I'm happy to submit a patch.