Date:  01/14/2003 11:43:44 PM Msg ID:  001234
From:  FoxWeb Support Thread:  001216
Subject:  Re: Socket error
This is VERY interesting.  So you are saying that when the connection to the web server is broken, the result is a 10054 error!  We have never been able to reliably reproduce this error before, so if you can present us with a way to do so, it would probably help us find a way to prevent it.
 
I tried hitting the stop button and even killing the browser, while a request was running.  I also tried using HTTPGET.EXE to call a request and then killed it. while the request was running.  I could not cause a 10054 error in neither case.
 
If you can reproduce the problem, please send us email with answers to the above questions, as well as any information/code/data that we could use to do so ourselves.  Ideally your code will be stripped to the bare minimum required to reproduce this issue.

FoxWeb Support Team
support@foxweb.com email

Sent by Oleg Goncharuk on 01/13/2003 11:27:37 PM:
We can provide you an evidence, that multiple 10054 errors could stop FoxWeb server completely.
 
One of our clients wrote a simple monitoring program. This program requested web-page (quite lengthy one) generated by FoxWeb script, serched certain word in reply and dropped connection as soon as it was found. (On our opinion it is perfectly legal situation for web-applications: requestor can drop connection any time he wants it). He made this monitoring program to run every 30 sec (the requested page have also been called by another ordinary requestors at the same time). FoxFeb had 9 open channels.
 
As result, after 4 - 6 hours of work FoxWeb returned "No open channels" error and had to be manually restarted.
 
We checked the log and found that sometimes channels were not restarted after 10054 error and "hang". Execution had climbed to upper numbers of channels and error repeated itself untill all 9 channels became unavailable. In example log below double error messages cause a channel to "hang":
 

01/12/2003 10:41:42 Starting FoxWeb

2003.01.12 10:41 FoxWebCtrl Socket Error: 10054

2003.01.12 10:42 FoxWebCtrl Socket Error: 10054

01/12/2003 10:43:00 Restarting Channel 2 /sfi/smpage.fwx

2003.01.12 10:43 FoxWebCtrl Socket Error: 10054

2003.01.12 10:44 FoxWebCtrl Socket Error: 10054

01/12/2003 10:44:34 Restarting Channel 3 /sfi/smpage.fwx

2003.01.12 10:45 FoxWebCtrl Socket Error: 10054

2003.01.12 10:46 FoxWebCtrl Socket Error: 10054

01/12/2003 10:46:39 Restarting Channel 5 /sfi/smpage.fwx

2003.01.12 10:51 FoxWebCtrl Socket Error: 10054

01/12/2003 10:51:22 Restarting Channel 4 /sfi/smpage.fwx

2003.01.12 10:53 FoxWebCtrl Socket Error: 10053

01/12/2003 10:53:16 Restarting Channel 5 /sfi/smpage.fwx

2003.01.12 10:56 FoxWebCtrl Socket Error: 10054

2003.01.12 10:59 FoxWebCtrl Socket Error: 10054

01/12/2003 10:59:45 Restarting Channel 4 /sfi/smpage.fwx

2003.01.12 11:01 FoxWebCtrl Socket Error: 10054

01/12/2003 11:01:50 Restarting Channel 4 /sfi/smpage.fwx

2003.01.12 11:02 FoxWebCtrl Socket Error: 10054

2003.01.12 11:04 FoxWebCtrl Socket Error: 10054

01/12/2003 11:04:27 Restarting Channel 6 /sfi/smpage.fwx

// A Lot of FoxWebCtrl Socket Error: 10054 errors + channel 6/7 restarts skipped.

2003.01.12 11:25 FoxWebCtrl Socket Error: 10054

01/12/2003 11:25:55 Restarting Channel 7 /sfi/smpage.fwx

2003.01.12 11:26 FoxWebCtrl Socket Error: 10054

01/12/2003 11:26:58 Restarting Channel 6 /sfi/smpage.fwx

2003.01.12 11:27 FoxWebCtrl Socket Error: 10053

2003.01.12 11:34 FoxWebCtrl Socket Error: 10054

01/12/2003 11:34:17 Restarting Channel 7 /sfi/smpage.fwx

2003.01.12 11:37 FoxWebCtrl Socket Error: 10054

01/12/2003 11:37:57 Restarting Channel 7 /sfi/smpage.fwx

//A lot of FoxWebCtrl Socket Error: 10054 errors + channel 7/8 restarts skipped.

01/12/2003 12:09:22 Restarting Channel 7 /sfi/smpage.fwx

2003.01.12 12:10 FoxWebCtrl Socket Error: 10054

2003.01.12 12:10 FoxWebCtrl Socket Error: 10054

01/12/2003 12:10:25 Restarting Channel 8 /sfi/smpage.fwx

2003.01.12 12:13 FoxWebCtrl Socket Error: 10054

01/12/2003 12:13:34 Restarting Channel 9 /sfi/smpage.fwx

2003.01.12 12:16 FoxWebCtrl Socket Error: 10054

//A lot of FoxWebCtrl Socket Error: 10054 errors + channel 8/9 restarts skipped.

2003.01.12 15:06 FoxWebCtrl Socket Error: 10054

01/12/2003 15:06:29 Restarting Channel 9 /sfi/smpage.fwx

2003.01.12 15:08 FoxWebCtrl Socket Error: 10054

2003.01.12 15:09 FoxWebCtrl Socket Error: 10054

01/12/2003 15:09:18 Restarting Channel 8 /sfi/smpage.fwx

2003.01.12 15:13 FoxWebCtrl Socket Error: 10054

//That is all. Only channel 8 is available and used. Untill we stop foxweb.

01/12/2003 17:20:58 Closing FoxWeb

  
Sent by FoxWeb Support on 01/13/2003 11:56:32 AM:
The Winsock 10054 error signifies that one of the two sides of a socket connection dropped the connection unexpectedly, or that it crashed.  The various FoxWeb components use sockets to communicate with each other, so it is hard to determine the type of connection that was dropped.
 
Here's an overview of FoxWeb's main components:
 
FoxWeb Broker:  This component acts as a broker for FoxWeb channels.  Each channel registers with it when it becomes available and individual instances of foxweb.exe and foxweb.dll, serving a particular user request, contact the broker to request a free channel.
 
FoxWeb Controller:  The main purpose of this component is to start FoxWeb channels, as well as kill and restart them if they become unresponsive.
 
FoxWeb Control:  This component is actually part of each channel and handles communications with the broker and foxweb.exe/dll.  Each channel loads a separate instance of the FoxWeb Control.
 
ISAPI/CGI module:  This is referred to above as foxweb.exe/dll.  A separate process (or thread in the case of the DLL) is instantiated with each incoming FoxWeb request.  The module first connects to the broker to get assigned a channel and then contacts the channel and passes the request information to it.  The channel in turn executes the requested script and returns the script output to the ISAPI/CGI module, which in turn passes it through to the Web server and from there to the browser.
 
In this particular case the error is returned by the FoxWeb Control (indivudual channels), but it is not clear which component was on the other side of the connection.  Although we have seen similar errors in the past, we have never found evidence suggesting that script execution ever fails or gets interrupted by this problem.

FoxWeb Support Team
support@foxweb.com email

Sent by Oleg Goncharuk on 01/13/2003 01:06:32 AM:
Please, can you explain what can cause "FoxWebCtrl Socket Error: 10054" in foxweb error log? Could it be caused by broken connection while Foxweb sends back requested page?
Is it related with error Winsock Control Run-Time Error 10054 - "The connection is reset by remote side"?
 
I'm asking it because (it seems) foxweb channel restars every time it meets this error and it for some reason appears very often in our case:
 
2003.01.11 23:27 FoxWebCtrl Socket Error: 10054
01/11/2003 23:27:54 Restarting Channel 1 /sfi/smpage.fwx
2003.01.11 23:32 FoxWebCtrl Socket Error: 10054
01/11/2003 23:32:35 Restarting Channel 1 /sfi/smpage.fwx
2003.01.11 23:37 FoxWebCtrl Socket Error: 10054
01/11/2003 23:37:23 Restarting Channel 3 /sfi/smpage.fwx
2003.01.11 23:37 FoxWebCtrl Socket Error: 10054
01/11/2003 23:37:52 Restarting Channel 1 /sfi/smpage.fwx
2003.01.11 23:42 FoxWebCtrl Socket Error: 10054
01/11/2003 23:42:03 Restarting Channel 1 /sfi/smpage.fwx
2003.01.11 23:51 FoxWebCtrl Socket Error: 10054
01/11/2003 23:51:28 Restarting Channel 2 /sfi/smpage.fwx