We've had the following error report some time ago:

A customer has the nxServer running as a service with TCP/IP transport on at port 16000. Upon restarting the application could not connect to the server. Looking in nxServer the transport was not active with port 16000 and we were not able to activate it. We tried DOS command: 'Netstat -a -n' the port 16000 was not in the list(s). So we assume it should be available. We tried another port not in the list f.i. 16002 and we were able to activate the TC/IP transport. Is nxServer not releasing the port as it should when the server went down? Is the service run at an improper time? Any ideas?

This left us wondering and we were thinking firewalls, other programs on that port, etc. All the things we could think of didn't go anywhere. Now another customer (thanks Kick Martens!) pointed out the following:

We also had this problem, after some investigation it seems that on restart (after update) windows starts some services using a random port in a specified range ( 4000-65000 or something ). To prevent windows from using a portnumber in the nexusdb range you can add a registry entry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

there probably already is an entry "ReservedPorts" otherwise you have to make it (of type REG_MULTI_SZ) add 16000-16000 to the value.

We have not had this problem since so we think this is the solution.

We're not sure yet whether this solves the problem of the original customer, but I think this information is of high interest for everyone dealing with random looking issues on activating NexusDB Server (or any application on a certain port).

Home | Community | Blogs | Hannes' Blog