Hi Jim,

(Looks like you're cleaning up warnings along the way. I guess that's OK.)

Before printing the stack trace, there should be a message to stderr indicating where this stack trace is coming from. For example, "getUnusedRandomPort: caught exception". The stack trace should be printed to stderr as well, using something like ex.printStackTrace(System.err).

I think narrowing the catch to IOException is good, since that's the only exception case we really want to retry. I don't think it makes sense to mention IllegalArgumentException or SecurityException specifically in the comments though. Any exception other than IOException should fail-fast.

A message should also be printed if we decide to retry because the port is one of the "reserved" ports. This might provide an important clue to solving the puzzle.

(My hypothesis is that this routine fails relatively silently when, on its last retry, it successfully opens a reserved port. In this case ex will be null and we get the RuntimeException with no further explanation.)

It would also be helpful to print numTries each time around the loop so that we can see if it really is retrying that many times.

Regarding netstat, I think it's a good idea, but I'd suggest we work on it separately from this change. Instead, suppose we add a shell script test that's named so that it runs at the end of the jdk_rmi test target. This could just run netstat -a (or whatever) unconditionally. In fact, I could do that without even pushing any changes to the source code....

s'marks

On 12/4/12 1:42 PM, Jim Gish wrote:
OK -- how about a push then for now and with luck we might get some useful
output in a day or two.

Jim

On 12/04/2012 04:22 PM, Alan Bateman wrote:
On 04/12/2012 21:10, Jim Gish wrote:
:

P.S. working on adding nestat -a output per Alan's suggestion.
BTW: I didn't mean you have to run with my comment, it's just that I assume
the issue that the Windows is out of dynamic ports. There is a registry
setting to change the range, and I think there is a netsh command to adjust
it too. If we can somehow capture the netstat output then it may confirm this.

-Alan.

Reply via email to