When you have multiple services running on a server, it is possible to meet the case of port conflict and one of the service may not work as a result.

Let’s take one of my experience as an example:

On the Windows Xp machine, After a server reboot, the Winpopup server service does not start for some reason, when I tried to start it manually, the error message was:

" Could not start the Winpopup server service on Local computer. Error 1053: The service did not respond to the start or control request in a timely fashion".

This is not helpful enough, there are some related solutions,which include change service pipe Timeout parameter:

 

  1. Go to Start > Run > and type regedit
  2. Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  3. With the control folder selected, right click in the pane on the right and select new DWORD Value
  4. Name the new DWORD: ServicesPipeTimeout
  5. Right-click ServicesPipeTimeout, and then click Modify
  6. Click Decimal, type ‘180000’, and then click OK
  7. Restart the computer

 

But did not work for me. Then let’s give it a further investigation, open the Event viewer and try to find some clues, If you select the Winpopup server and filter the message by type “error“:

The useful part is ” Only one usage of each socket address (protocol/network address/port) is normally permitted?”, if we look further into this issue, the most possible reason is the port conflict.

After research about the port number used by Winpopup server, I found the port 1152 tcp/udp is used by the winpopup server from here: http://www.t1shopper.com/tools/port-number/winpopup-lan-messenger/. note that this is not a registered or well known port and any software can use that.

Use following steps to find out which software is using port 1152:

  1. Open cmd, type netstat -ano | findstr 1152 to find out which process is using port 1152,  the last column is the PID number, note this down.
  2. Open task manager, Click on “Processes” tab, Enable “PID” column by going to: View > Select Columns > Check the box for PID,Find the PID you note down in step 1. In my case, it is squid.  So in this case, squid may use any port number, but winpopup needs a specific port number. The solution is start the winpopup server service first then start the squid server.
  3. Start the services.msc and find the squid service, “client site proxy”, stop it.
  4.  Then start the winpopup server, and it’s working!

We can verify that the winpopup server by the command:

1, Find the winpopup server PID in task manager ( in my case, it’s 5788) ,

2, then user command netstat -ano | findstr 5788

3, Then we repeat step 1 and 2 to check if squid is working.

Permanent fix:

This will fix this issue for now, but if you reboot the server, this issue may come back again, the permanent solution is to start the Winpopup server fist, then start the squid service.

We can use the windows services “Delayed Start” to fix this issue. So the idea is set the Winpopup server to Automatic start, and set the squid service to “Automatic ( Delayed Start) “.

 

Summery
  • The well know ports will be alright, but others may cause issue when multiple services running on servers. Best way is read the official documentation and find if it causing conflicting in your environment.
  •  netstat -ano | findstr can be a useful command in troubleshooting this port conflict issue.

 

Ref:

Speed Up Windows Boot Times By Delaying Startup Of Services In XP And Vista