[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Integrated: 8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in 
From:       Alex Menkov <amenkov () openjdk ! java ! net>
Date:       2021-07-26 20:19:37
Message-ID: xjyRrHhjdIvf3wRq4HYvAScuAzz0RoZcxI7rsJChiso=.bc140e4c-8abc-4e34-842f-c6e9c45139cf () github ! com
[Download RAW message or body]

On Fri, 2 Jul 2021 21:23:39 GMT, Alex Menkov <amenkov@openjdk.org> wrote:

> SocketIOPipe/IOPipe classes can select listening port by 2 ways:
> 1. caller specifies "-transport.address=dynamic" argument creating ArgumentHandler,
> and calls Binder.prepareForPipeConnection (actually see \
> nsk.share.jpda.DebugeeBinder.prepareForPipeConnection()) before start listening. In \
> the case prepareForPipeConnection creates socket and this socket later is used by \
> IOPipe. 2. just start IOPipe listening.
> Then port is selected by calling \
> nsk.share.jpda.DebugeeArgumentHandler.getTransportPort() which use findFreePort() \
> method: 
> ServerSocket ss;
> try {
> ss = new ServerSocket(0);
> return String.valueOf(ss.getLocalPort());
> }finally {
> ss.close();
> }
> 
> This method is known to be error prone (sometimes causes "address in use" error).
> 
> The fix adds "-transport.address=dynamic" argument so IOPipe use 1st method.

This pull request has now been integrated.

Changeset: 8785737b
Author:    Alex Menkov <amenkov@openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/8785737ba5f398888816ddd0f50adeea6a75bb0f
                
Stats:     1 line in 1 file changed: 0 ins; 0 del; 1 mod

8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already \
in use error

Reviewed-by: sspitsyn, kevinw

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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic