Windows – TCP: Address already in use exception – possible causes for client port? NO PORT EXHAUSTION

porttcpwindows

stupid problem. I get those from a client connecting to a server. Sadly, the setup is complicated making debugging complex – and we run out of options.

The environment: *Client/Server system, both running on the same machine. The client is actually a service doing some database manipulation at specific times. * The cnonection comes from C# going through OleDb to an EasySoft JDBC driver to a custom written JDBC server that then hosts logic in C++. Yeah, compelx – but the third party supplier decided to expose the extension mechanisms for their server through a JDBC interface. Not a lot can be done here 😉

The Symptom: At (ir)regular intervals we get a "Address already in use: connect" told from the JDBC driver. They seem to come from one particular service we run.

Now, I did read all the stuff about port exhaustion. This is why we have a little tool running now that counts ports and their states every minute. Last time this happened, we had an astonishing 370 ports in use, with the count rising to about 900 AFTER the error. We aleady patched the registry (it is a windows machine) to allow more than the 5000 client ports standard, but even then, we are far far from that limit to start with.

Which is why I am asking here. Ayneone an ide what ELSE could cause this?

It is a Windows 2003 Server machine, 64 bit. The only other thing I can see that may cause it (but this functionality is supposedly disabled) is Symantec Endpoint Protection that is installed on the server – and being capable of actinc as a firewall, it could possibly intercept network traffic. I dont want to open a can of worms by pointing to Symantec prematurely (if pointing to Symantec can ever be seen as such). So, anyone an idea what else may be the cause?

Thanks

Best Answer

Three things stand out:

to a custom written JDBC server

and

Symantec Endpoint Protection

and

Client/Server system, both running on the same machine

Question 1: How is the server choosing ports? Can it be that the client and server (which are on the same machine) some how sync at irregular intervals and choose the same port?

Question 2: Have you tried turning off SEP? If not turn it off and see what happens. You need to eliminate the possibility that it is interfering.

Question 3: What does netstat say during the time of the errors?

Related Topic