RFR: JDK-8192057: com/sun/jdi/BadHandshakeTest.java fails with java.net.ConnectException

Reingruber, Richard richard.reingruber at sap.com
Fri Sep 6 16:28:39 UTC 2019


Hi Alex,

that's a good fix for the issue.

One minor thing:

  89             Exception error = null;
  90             for (int retry = 0; retry < 5; retry++) {
  91                 try {
  92                     log("retry: " + retry);
  93                     s = new Socket("localhost", port);
  94                     error = null;
  95                     s.getOutputStream().write("JDWP-".getBytes("UTF-8"));
  96                     break;
  97                 } catch (ConnectException ex) {
  98                     log("got exception: " + ex.toString());
  99                     error = ex;
 100                 }
 101             }
 102             if (error != null) {
 103                 throw error;
 104             }

Is there a reason to clear the local variable error in line 94 instead of clearing it
in line 91 where each new attempt begins?

Cheers, Richard.

-----Original Message-----
From: serviceability-dev <serviceability-dev-bounces at openjdk.java.net> On Behalf Of serguei.spitsyn at oracle.com
Sent: Mittwoch, 4. September 2019 22:11
To: Alex Menkov <alexey.menkov at oracle.com>; OpenJDK Serviceability <serviceability-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8192057: com/sun/jdi/BadHandshakeTest.java fails with java.net.ConnectException

Hi Alex,

The fix looks good.
Good simplification!

Thanks,
Serguei


On 9/4/19 12:19, Alex Menkov wrote:
> Hi all,
>
> Please review the fix for BadHandshakeTest test.
> The problem is the test connects to the server twice and if debuggee 
> hasn't yet handled disconnection, the next connect gets "connection 
> refused" error.
> Instead of adding delay before 2nd connect (we never know "good" value 
> for the delay and big delay can cause "accept timeout"), the test 
> re-tries connect in case of ConnectException.
> Also improved/simplified the test slightly - debuggee is now run with 
> auto port assignment (used lib.jdb.Debuggee test class which 
> implements required functionality).
>
> jira:
>   https://bugs.openjdk.java.net/browse/JDK-8192057
> webrev:
> http://cr.openjdk.java.net/~amenkov/jdk14/BadHandshakeTest/webrev/
>
> --alex



More information about the serviceability-dev mailing list