v4.0.7: High CPU load some time after startup

Think you've found a bug? Post a description here.

Moderator: Serin

Post Reply
franz
User
Posts: 17
Joined: Thu Oct 04, 2007 2:14 pm

v4.0.7: High CPU load some time after startup

Post by franz » Tue Oct 26, 2010 7:10 am

Did anyone notice that CerberusGUI.exe sometimes causes high CPU load?

I did notice this when I restarted the system although this does not happen all the time. A few minutes after starting Windows I see something causing one core to be completely loaded with work. When I dig into it I can see that CerberusGUI.exe is the application to blame. It makes no difference if I stop the FTP server or not. It only helps to shut down and exit CerberusGUI.exe completely. When I launch CerberusGUI.exe afterwards, it again starts to keep one core busy after a while.

I am running Cerberus FTP in application mode, because I do not see the taskbar notification when somebody logs in running in service mode. I am using the x64 version running on Windows 7.

Anything I can do to stop this?

Regards,
Franz

User avatar
Serin
Site Administrator
Posts: 1785
Joined: Sat Jan 01, 2005 6:57 pm
Location: United States
Contact:

Re: v4.0.7: High CPU load some time after startup

Post by Serin » Tue Oct 26, 2010 1:46 pm

I haven't seen this but I did have one other user report a similar issue. I'll try to reproduce. If there is anything in the log that might give a clue as to the problem I would be grateful.

franz
User
Posts: 17
Joined: Thu Oct 04, 2007 2:14 pm

Re: v4.0.7: High CPU load some time after startup

Post by franz » Tue Oct 26, 2010 2:30 pm

Thank you for the quick reply! I can not see anything in the logfile except this:

ERROR [server] - Unable to add to Windows Firewall Exception list: Der Vorgang wurde erfolgreich beendet.

The second part is in german meaning "The task completed successfully." Kind of weired in my opinion. When I turn off the option: "Add to windows firewall exception list" and add rules for myself this error is gone.

Maybe it has to do something with WAN IP detection. I assume this because I cannot see the line WAN IP detected as XXX.XXX.XXX.XXX.

Now I've let Windows Firewall configure the rules for private and public networks and it allows all TCP and UDP traffic for CerberusGUI.exe. The problem seems to be gone now. Which open ports does CerberusFTP need when configuring the firewall manually (i.e.WAN IP detection) ?

Regards,
Franz

User avatar
Serin
Site Administrator
Posts: 1785
Joined: Sat Jan 01, 2005 6:57 pm
Location: United States
Contact:

Re: v4.0.7: High CPU load some time after startup

Post by Serin » Wed Oct 27, 2010 4:07 pm

WAN IP detection is just an outgoing HTTP connection from a random port. There is no incoming connection.

Whatever ports you need open for your interfaces (usually 21, 990, and 22) are normally the only ports you need to have open for incoming connections.

franz
User
Posts: 17
Joined: Thu Oct 04, 2007 2:14 pm

Re: v4.0.7: High CPU load some time after startup

Post by franz » Thu Oct 28, 2010 1:51 am

Since I switched off WAN IP detection the problem is gone. What for do I need WAN IP detection anyway? Passive FTP connections work well without it.

Regards,
Franz

User avatar
Serin
Site Administrator
Posts: 1785
Joined: Sat Jan 01, 2005 6:57 pm
Location: United States
Contact:

Re: v4.0.7: High CPU load some time after startup

Post by Serin » Thu Oct 28, 2010 3:45 pm

It really depends on your router/firewall. When the passive command is sent the client receives back the IP address of the FTP server to connect back to for a data connection. The server normally only knows its local IP address and sending that to a remote client usually results in the client being unable to connect back to the server. The server normally sends the external IP address in the passive command. The server determines its external IP address by querying one of several public sites that report the IP address of the machine initiating the connection. It's a common method of determining a machine's external IP address.

Some routers do stateful packet inspection (SPI) and actually require the passive command to have the local address passed back to the client. The router will modify the passive command response with the actual external address while the packet is in transit. You don't need the WAN IP address in these cases.

However, what is probably happening is that your public IP address hasn't changed since you last allowed Cerberus to check. If WAN IP auto-detection is enabled then Cerberus checks for your external IP address periodically and saves the public address for use in the passive command response. If the address later changes and Cerberus isn't checking anymore then passive transfers could suddenly start failing.

franz
User
Posts: 17
Joined: Thu Oct 04, 2007 2:14 pm

Re: v4.0.7: High CPU load some time after startup

Post by franz » Fri Oct 29, 2010 3:32 am

Well, I am wondering why the client needs to get the IP address when it initially has connected successfully to the FTP server. So this seems kind of redundant to me. The only thing th client needs to know is the port number it shall use for the passive connection. Maybe there are scenarios where you connect to a FTP server which delegates the passive FTP session to another server? But to be honest: I do not know the FTP protocol in detail.

You are right that my IP does not change very often. So it is possible that Cerberus FTP remembers the last known IP address and it works this way.

In the meantime I keep the WAN IP detection turned off. Maybe you can look though the WAN IP detection code and identify loops which can cause high CPU load due to firewall settings.

Thank you very much in advance!

Regards,
Franz

User avatar
Serin
Site Administrator
Posts: 1785
Joined: Sat Jan 01, 2005 6:57 pm
Location: United States
Contact:

Re: v4.0.7: High CPU load some time after startup

Post by Serin » Sun Nov 14, 2010 12:29 pm

Problem fixed in latest release. Some of the history on this post was lost after we had to restore the forum from a recent backup.

Post Reply