Thanks Alex, good spot.
I have done all the changes now with the latest updates, and have 
performed some stress tests on xLinux, Win64 and Mac64, all successful.

Please can I get reviews and sponsor for webrev.04:
http://cr.openjdk.java.net/~aleonard/8225474/webrev.04/

Many Thanks
Andrew

Andrew Leonard
Java Runtimes Development
IBM Hursley
IBM United Kingdom Ltd
internet email: andrew_m_leon...@uk.ibm.com 




From:   Alex Menkov <alexey.men...@oracle.com>
To:     "serguei.spit...@oracle.com" <serguei.spit...@oracle.com>, Andrew 
Leonard <andrew_m_leon...@uk.ibm.com>
Cc:     serviceability-dev@openjdk.java.net
Date:   13/06/2019 18:15
Subject:        Re: RFR JDK-8225474: JDI connector accept fails "Address 
already in use" with concurrent listeners



One more minor note for the test:

@build HelloWorld JdwpConcurrentAttachTest

The test does not use HelloWorld class

--alex

On 06/12/2019 12:52, serguei.spit...@oracle.com wrote:
> Hi Andrew,
> 
> It looks good.
> 
> Minor comments on the test.
> 
> There are several places where white spaces are missed around the signs: 

> '=', '<', '+', ',':
> 
>    58         for(int j=0; j<10; j++) {
> 
>    62             int numThreads=10;
> 
>    66             for(int i=0; i<numThreads; i++) {
> 
>    67                 JdwpConcurrentAttachTest test = new 
JdwpConcurrentAttachTest(localAddresses[0].getHostAddress(),0);
> 
>    78
>    79     static  boolean   failure=false;
>    80     static  Exception failureException=null;
> 
>   112         log("Listening address = "+actualAddress);
> 
>   123                     failureException=e;
> 
>   132                                 +",address="+ actualAddress
> 
> 
> 
> 
> 
> On 6/11/19 12:36, Andrew Leonard wrote:
>> Thanks Alex,
>> I have changed the testcase to allocate ports which makes better 
>> sense: 
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Ealeonard_8225474_webrev.02_&d=DwIDaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=NaV8Iy8Ld-vjpXZFDdTbgGlRTghGHnwM75wUPd5_NUQ&m=p--c3Hawio2kCsD0eo4leL8TLWZPtlYui8rmDo0E7So&s=EnJJuj3Yg8BeU7c2Fn6cqEeJGa6C5e4pIWGESAjwfhc&e=
 

>> Cheers
>> Andrew
>>
>> Andrew Leonard
>> Java Runtimes Development
>> IBM Hursley
>> IBM United Kingdom Ltd
>> internet email: andrew_m_leon...@uk.ibm.com
>>
>>
>>
>>
>> From: Alex Menkov <alexey.men...@oracle.com>
>> To: Andrew Leonard <andrew_m_leon...@uk.ibm.com>
>> Cc: serviceability-dev@openjdk.java.net
>> Date: 10/06/2019 20:43
>> Subject: Re: RFR JDK-8225474: JDI connector accept fails "Address 
>> already in use" with concurrent listeners
>> 
------------------------------------------------------------------------
>>
>>
>>
>>
>>
>> On 06/10/2019 02:07, Andrew Leonard wrote:
>> > Hi Alex,
>> > Thanks for trying this out, it's possible this failure is an issue 
with
>> > my testcase, as I repeat the 10 thread test loop 10 times and I have 
a
>> > 30 second timeout which potentially might overrun if a connection 
takes
>> > time to terminate. I could avoid that simply by using different ports
>> > for each run, equally it could also be an issue as pointed out by 
Alan.
>>
>> The test uses fixed ports, so it can interfere with other processes.
>> You can use port "0" which automatically selects free port.
>> connector.startListening returns actual port assigned for the 
connection.
>>
>> > Thanks
>> > Andrew
>> >
>> > Andrew Leonard
>> > Java Runtimes Development
>> > IBM Hursley
>> > IBM United Kingdom Ltd
>> > internet email: andrew_m_leon...@uk.ibm.com
>> >
>> >
>> >
>> >
>> > From: Alex Menkov <alexey.men...@oracle.com>
>> > To: Andrew Leonard <andrew_m_leon...@uk.ibm.com>,
>> > serviceability-dev@openjdk.java.net
>> > Date: 07/06/2019 22:19
>> > Subject: Re: RFR JDK-8225474: JDI connector accept fails "Address
>> > already in use" with concurrent listeners
>> > 
------------------------------------------------------------------------
>> >
>> >
>> >
>> > Hi Andrew,
>> >
>> > The fix looks good in general.
>> > And I can be the sponsor.
>> > I've tested the fix and got 1 test failure (of 400 runs) on Win-x64 
and
>> > the log looks the same.
>> >
>> > java.lang.RuntimeException: Failed to accept connector connection
>> > at JdwpConcurrentAttachTest.main(JdwpConcurrentAttachTest.java:74)
>> > at
>> > 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > at
>> > 
>> 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> > at
>> > 
>> 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > at java.base/java.lang.reflect.Method.invoke(Method.java:567)
>> > at
>> > 
>> 
com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> > at java.base/java.lang.Thread.run(Thread.java:830)
>> > Caused by: java.net.BindException: Address already in use: bind
>> > at java.base/sun.nio.ch.Net.bind0(Native Method)
>> > at java.base/sun.nio.ch.Net.bind(Net.java:465)
>> > at java.base/sun.nio.ch.Net.bind(Net.java:457)
>> > at java.base/sun.nio.ch.NioSocketImpl.bind(NioSocketImpl.java:643)
>> > at java.base/java.net.ServerSocket.bind(ServerSocket.java:359)
>> > at java.base/java.net.ServerSocket.bind(ServerSocket.java:313)
>> > at
>> > 
>> 
jdk.jdi/com.sun.tools.jdi.SocketTransportService.startListening(SocketTransportService.java:300)
>> > at
>> > 
>> 
jdk.jdi/com.sun.tools.jdi.SocketTransportService.startListening(SocketTransportService.java:310)
>> > at
>> > 
>> 
jdk.jdi/com.sun.tools.jdi.GenericListeningConnector.startListening(GenericListeningConnector.java:117)
>> > at
>> > 
>> 
jdk.jdi/com.sun.tools.jdi.SocketListeningConnector.startListening(SocketListeningConnector.java:86)
>> > at 
>> JdwpConcurrentAttachTest.attachTest(JdwpConcurrentAttachTest.java:111)
>> > at JdwpConcurrentAttachTest.run(JdwpConcurrentAttachTest.java:93)
>> >
>> > So looks like the fix doesn't fix the issue completely.
>> >
>> > --alex
>> >
>> > On 06/07/2019 07:24, Andrew Leonard wrote:
>> >> Hi,
>> >> Please can I request a sponsor and review of this patch for 
>> JDK-8225474.
>> >> A problem that we have seen intermittently with JDI connector stress
>> >> tests for quite a while that is caused by an non-thread safe 
>> HashMap  in
>> >> the connector class. I've created a standalone testcase that 
reproduces
>> >> it reliably.
>> >> 
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Ealeonard_8225474_webrev.00&d=DwIDaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=NaV8Iy8Ld-vjpXZFDdTbgGlRTghGHnwM75wUPd5_NUQ&m=p--c3Hawio2kCsD0eo4leL8TLWZPtlYui8rmDo0E7So&s=x6HRkbkPCW_es-f8XAsaOkS_l1-2ykSqIiCUIRk24oA&e=
 

>> >>
>> >> Thanks
>> >> Andrew
>> >>
>> >>
>> >> Andrew Leonard
>> >> Java Runtimes Development
>> >> IBM Hursley
>> >> IBM United Kingdom Ltd
>> >> internet email: andrew_m_leon...@uk.ibm.com
>> >>
>> >> Unless stated otherwise above:
>> >> IBM United Kingdom Limited - Registered in England and Wales with 
>>  number
>> >> 741598.
>> >> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire 
>>  PO6 3AU
>> >
>> >
>> >
>> >
>> > Unless stated otherwise above:
>> > IBM United Kingdom Limited - Registered in England and Wales with 
>> number
>> > 741598.
>> > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire 
>> PO6 3AU
>>
>>
>>
>>
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with 
>> number 741598.
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU
> 




Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Reply via email to