VPilot Uses all my TCPIP Ports/Resource Leak?

After several weeks of internet problems, I finally managed to determine that VPilot was using all of my ports (I was getting tcpip errors 4231 and 4227), preventing me from using any browser and causing other sporadic connection issues. Before closing it a moment ago, I found it had 57,197 handles open at once. I believe it progressively builds to this as the issue only seems to occur when VPilot is open for a while, in this case perhaps 12 hours or so. After closing VPilot, the issue resolved immediately.
Edit: VPilot version 3.5.2

vPilot only opens one port to listen to connections from remote instances of vPilot running on a separate computer. This port is configurable by the user in the vPilot settings. It does not open multiple ports, and it certainly doesn’t open 57 thousand ports. I wonder if maybe your vPilot.exe has been hacked by a virus and is now acting as a zombie bot. Can you let me know the exact file size of the vPilot.exe as shown in the file properties?

1.16 MB (1,224,192 bytes)

That’s what it should be … what software are you using that shows that vPilot has 57 thousand ports open?

The default Windows Task Manager

Not sure what’s causing that on your system. On my system, Task Manager only shows vPilot listening on the one port, and only when I run it in Host mode. (In normal standalone mode, vPilot doesn’t open any ports, because it doesn’t need to accept connections from remote instances of vPilot.)

Now that I’ve identified the problem and how to correct it, it’s not a huge issue for me. I just wanted to post here in case you wanted to know about it and for other people who may encounter the issue in the future. Thanks for taking a look.

Can you send me a screenshot of what you’re seeing in Task Manager?

I’m not familiar with all of this and pursued this issue based on a site that offered suggestions on figuring out why you’re running out of ports. One of the suggestions was to look and see if a process was using a lot of handles which is how I figured the issue out.

Can you post a screenshot of the list of open network ports? Handles can be things other than open network ports, such as open files. You mentioned that it takes 12 hours to build up to that level. It would be helpful to see which ports are open at first, and which ports get opened subsequently, etc. to see if there is some pattern to it.

I’ve grabbed a list (netstat -ano, is that right?) and started VPilot. I’ll grab the “after” list tomorrow morning and get back to you with both.

Yeah, “netstat -ano” will work, just make sure you capture the vPilot PID so you know which entries from the netstat output are associated with vPilot.

I thought you were seeing the ports listed in Task Manager under the Resource Monitor, where it lists listening ports.

It would be best if you ran the netstat capture just after starting vPilot, then again a minute later, then again after it’s been running for a while. That might reveal a pattern as to the ports that it is opening over time.

I’ve done some further testing. From what I can gather, it’s binding but not listening in on the ports so it’s not showing up on the netstat -ano list. I then did netstat -q and found that there’s 1-2 dozen ports being used “normally” with the rest, probably in excess of 1000, being bound after 5 hours of VPilot being open. I did “get -nettcpconnection” on 3 or 4 of the ports and found that they were bound to VPilot. I don’t know of a way to do that “en masse” to find all the ports its bound but not actively listening on.

What do you mean when you say “being used normally with the rest” ?

Are you running vPilot in standalone mode, or in split host/remote mode?

When you do netstat /q to get a list of connections, you can add the b option to see which process owns each connection. I add the n option as well so it doesn’t take a long time doing DNS lookups on each address. So the full command is “netstat /qnb”. This requires running powershell or cmd prompt as an admin.