8221303: sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java fails due to java.rmi.server.ExportException: Port already in use

Daniil Titov daniil.x.titov at oracle.com
Wed Jul 17 19:46:05 UTC 2019


Hi Chris,

>    It's a little unclear to me why you moved from ProcessThread to 
>   TestProcessThread + Process. An explanation of that would make it easier 
>   to understand many of the changes.

There are two reasons for that:
1)  For every network interface the test starts a separate thread that runs the test for this interface. We want that if the test fails
    due to the bind error the thread not to exit but try to repeat the test several times. jdk.test.lib.thread.ProcessThread doesn't allow this.
2) To filter out the cases when the test fails due to the bind error we need to parse the process output.  jdk.test.lib.thread.ProcessThread 
  registers its own pumps for stdin and sdtout  (by calling ProcessTools.startProcess()) that consume all output of the process and prevent 
  the output analyzer from collecting this output.
 
Thanks!
--Daniil

On 7/17/19, 12:11 PM, "Chris Plummer" <chris.plummer at oracle.com> wrote:

    Hi Daniil,
    
    It's a little unclear to me why you moved from ProcessThread to 
    TestProcessThread + Process. An explanation of that would make it easier 
    to understand many of the changes.
    
    thanks,
    
    Chris
    
    On 7/11/19 10:16 AM, Daniil Titov wrote:
    > Please review the change that fixes an intermittent failure of  sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java
    > test due to ports collision. The tests finds all network interfaces and for every interface starts a separate process that tests
    > the connection to JMX agent server for a specific ports/interface combination.
    >
    > The test was changed to retry in case of the failure. If the subprocess fails to bind and the number
    > of retry attempts doesn't exceed the limit a new pair of random ports is selected and the test is run again.
    >
    > Webrev: http://cr.openjdk.java.net/~dtitov/8221303/webrev.01/
    > Bug: https://bugs.openjdk.java.net/browse/JDK-8221303
    >
    > Thanks!
    > --Daniil
    >
    >
    
    




More information about the serviceability-dev mailing list