The issue occurs during script execution and only affects a single script, which leads me to believe that it's not caused by FoxWeb itself, but rather by something that would equally affect the same code running in a regular VFP process. However, the fact that the problem goes away when you restart FoxWeb is inconsistent with this theory, so some additional investigation may be in order.
What's going on with your system resources while the problem is in effect? Are your VFP channels or any other processes using too much RAM or CPU? Have you checked your task manager and compared before and after numbers? Check the individual statistics for VFP processes, but also for the whole system. Process Explorer (see below) is a better tool than the Windows Task Manager for this purpose.
Additional VFP Processes
The fact that you have additional VFP processes laying around indicates that there's an additional problem on your server. FoxWeb only opens a single process per channel. Under no circumstances does FoxWeb control more processes than there are channels. Any extra VFP processes are either unrelated to FoxWeb, or FoxWeb has lost track of them. There are three possibilities:
- FoxWeb is restarted, but the original instance is for some reason unable to stop/kill its processes, so they remain active, even after their parent FoxWeb service exits and a new one restarts.
- The processes are not started by FoxWeb, but rather by one of your scripts.
- The processes are completely unrelated to FoxWeb and are started by something or someone else on your server.
You should be able to determine the answer to this question easily by installing Microsoft's Process Explorer (http://technet.microsoft.com/en-us/sysinternals/bb896653
). After you start it you may need to select the File -> Show Details for All Processes option if you are running in a newer version of Windows. Locate each of the VFP processes and determine their command line, by hovering your cursor over them. If the process is related to a FoxWeb channel, then its command line will look like this:
"c:\program files (x86)\microsoft visual foxpro 9\vfp9.exe" -t "c:\program files (x86)\foxweb\fwserver.exe" ch=1
The last part indicates the channel number. Obviously, you should not have any duplicate channel numbers.
Isolating the Problem
FoxWeb channels are running inside plain old VFP, so there should not be any differences. Please extract the offending queries into a separate VFP file and try to run them while your server is affected by the problem. Do they take a long time to run?
Other than what I wrote above, there's no more advice I can give you, based on the information you provided. I would be willing to connect to your server for additional troubleshooting, if your server is accessible over the Internet. Do you have Remote Desktop or other remote control solution running on the server? If you would like me to do some remote troubleshooting, send the address and authentication info to email@example.com.
FoxWeb Support Team
Sent by Jeff Grippe on 09/22/2011 12:02:20 PM:
Since upgrading to 3.6 we have experienced the following problem a few times per day (although it has only been a few days since we upgraded).
All of the channels go busy (similar to the problem that we were having with a single script earlier).
The task manager shows the usage at close to 100%. The details reveal that each of the 5 VFP processes is grabbing all of the processing time.
Like the earlier problem, it can be resolved by closing and restarting FW. Since it is not limited to a single script, I'm not sure how to approach debugging.