RFR: 8258057: serviceability/attach/RemovingUnixDomainSocketTest.java doesn't ignore VM warnings

Alex Menkov amenkov at openjdk.java.net
Fri Dec 11 20:32:56 UTC 2020


On Fri, 11 Dec 2020 17:25:33 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:

> Hi,
> 
> Please review the following small fix for test RemovingUnixDomainSocketTest.java. As explained in the bug comments, the issue is due to having two different StreamPumper objects consuming from the same stderr, one created by ProcessTools.startProcess() and another by OutputAnalyzer(). In the failing cases the StreamPumper processing thread created in ProcessTools.startProcess() consumes the first part of the deprecation message while the one created in OutputAnalyzer consumes the rest. Since out.getStderr() is not empty and does not contain the string "VM warning:", the test fails.
> 
> I simply replaced the ProcessTools.startProcess() call by a call to start() on the ProcessBuilder object, which doesn't use StreamPumper. I added stderrShouldBeEmptyIgnoreDeprecatedWarnings(), since as mentioned in 8248162 we might not want to hide all warning messages.
> 
> Without the patch I can consistently reproduce the issue. With the patch the test always passes.
> 
> Thanks,
> Patricio

Pumpers created by ProcessTools.startProcess() log the process stdout/stderr.
It's quite useful for failure analysis.

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

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


More information about the serviceability-dev mailing list