Login  
Search All Forums
Dart Home | PowerTCP WebServer for ActiveX | Custom Development Reply | PowerTCP WebServer for ActiveX Topics | Forums   
AuthorForum: PowerTCP WebServer for ActiveX
Topic: WebServer sample not working properly
User420

Posts: 5
Member Since: 11/13/01
posted November 13, 2001 1:01 AM

Hi!
I'm testing WebServer Tool with Delphi 5 on Windows 2000 Workstation.
When I start the server (WebServer Sample) and request a page everything is fine for about 30 seconds. Then comes an error: "Exception EAccessViolation in module oleaut32.dll at 000292CB.
Access violation at address 779D92CB in mocule 'oleaut32.dll'. Read of address FEEFEEA." And the server crashes down. If I keep requesting pages without over 30 second breaks everything is fine. This happens with your sample code. What could be the problem?
User420

Posts: 5
Member Since: 11/13/01
posted November 13, 2001 3:57 AM

Hi again!
I reinstalled WebServer Tool and now I get (about 30 seconds after request) the Error 10053. What could be the problem?
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted November 13, 2001 9:43 AM


Hi,
I just tried the un-modified Delphi sample, and it seemed to work ok.
The error means the session is being aborted by the client or server. Is this happening over an https connection? Is there a possible certificate problem?
If not, what does the Request look like?
Thanks,
-ken

K M Drake
Dart Tech Support
User420

Posts: 5
Member Since: 11/13/01
posted November 14, 2001 4:20 AM

Hi!
I'm not using https connection (at least not yet) and I'm also using un-modified sample. I'm just requesting simple index.htm page from webserver root (c:\root\).

I reinstalled WebServer Tool once again (I thought if I did something wrong when installing). Now I'm not able to make a request with computer name. I have to use my IP number. Then server responses and after 30 seconds comes the error 10053 again.

I've also made modified version of the sample. Even then I've not modified the sample's basic code. When using this version I get the error 10053 (even without 30 second breaks) and also error 10054.

Should the sample be able to work properly on Windows 2000? Or am I doing something wrong?

Thanks,
Taru
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted November 14, 2001 8:45 AM


Hi Taru,
Yes, the sample works fine on my Win 2000 machine.
If you add the Trace method to the sample, what does the resulting log look like?
What does the actual Request look like?
Thanks,
-ken

K M Drake
Dart Tech Support
User420

Posts: 5
Member Since: 11/13/01
posted November 15, 2001 4:22 AM

Hi!
I don't know if I know how to use the Trace method correctly (I put it under cmdStartClick procedure) but I didn't get any result (log was empty).

Do you mean by the "actual Request" the path that I write in to the browser (http://wagner/index.htm - now I get again response with my computer name) or text in the memo or something else? Text in the Request Log memo looks like this:
"xxx.xxx.xxx.xxx GET /index.htm HTTP/1.1304"

Could the problem be the browser? I'm using Explorer 5.5.

I took time between request and the error. It's always 1 minute if I don't request more pages. And sometimes I can get the error 10053 and the error 10054 (10054 doesn't ever come alone) if I keep clicking, immediately after the first request, the Refresh button on the browser many times consecutively.

"ERROR EVENT #10054: The virtual circuit was reset by the remote side executing a "hard" or "abortive" close. This normally results if the peer application on the remote host is suddenly stopped, the host is rebooted, or the remote host used a "hard close". This error may also result if a connection was broken due to "keep-alive" activity detecting a failure. This error is also be reported under Windows 2000 when a UDP packet is sent to a host with no service open on the specified port."

Everything else, except those error messages, works fine; server gives always right responses and it don't crash (only the session will be closed after a awhile).

Thanks,
Taru
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted November 15, 2001 11:07 AM


Hi Taru,
By request I mean the actual message the client is sending. See:
http://support.dart.com/forum.dwp?view=5544#FID5544
for an example.
It looks like your request is invalid, though, as HTTP/1.1304 is not a valid version number (it should be 1.0 or 1.1). Are you sure this request is coming from IE? It does not seem possible.
-ken

K M Drake
Dart Tech Support
User420

Posts: 5
Member Since: 11/13/01
posted November 16, 2001 3:42 AM

Hi!
Yes, request has to come from IE because I'm not using any other browsers. Where else could it be coming?
Sometimes the request version seems to be 1.1200, but more often it is 1.1304. And I think it is because http version number and status number are combined to each other (200 OK, 304 Not Modified). In the code there is no space between version and status. If I but it in there Request Log looks like this:
"xxx.xxx.xxx.xxx GET /index.htm HTTP/1.1 304"
So that can't be the problem.

Sometimes actual Request looks like this:
-----------------------------------------
Accept: */*
Accept-Language: fi
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 14 Nov 2001 08:16:37 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: wagner
Connection: Keep-Alive
Cookie: DartSession=e800f722-31b3-47c3-b525-733beb672cd9
-----------------------------------------

And sometimes like this:
-----------------------------------------
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Accept-Language: fi
Accept-Encoding: gzip, deflate
If-Modified-Since: Fri, 16 Nov 2001 06:54:10 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: wagner
Connection: Keep-Alive
-----------------------------------------

Have a nice weekend!

And thanks,
Taru
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted November 16, 2001 10:16 AM


Hi Taru,
I just sent the same requests to the un-modified Delphi Web Server sample, and it worked without a hitch.
I don't think this is going to be resolved over the forum. Please write in to support@dart.com, and we will pursue this through the normal support channels.
Thanks,
-ken

K M Drake
Dart Tech Support
User392

Posts: 2
Member Since: 12/06/01
posted December 6, 2001 11:44 AM

Sorry to barge-in on this discussion, I stumbled upon it while doing a web search for 10053.

This error is reproducible with the following sequence of events, but I'm also having problems understanding why it would occur. Assume two processes on Windows 2000 called A and B.

1 A: opens listener.
2 B: connects to A.
3 A: accepts connection.
4 B: successfully writes to A.
5 B: closes connection to A.
6 A: successfully writes to B!
7 A: fails to read message from B with 10053.
8 B: exits.
9 A: exits.

Interestingly, if A doesn't write to B in
line 6, then A _successfully_ reads the message from B in line 7!
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted December 6, 2001 12:13 PM


Hi,
This actually turned out to be a non-issue, as it is normal behavior for IE. 
IE asks the server if the page has changed since a certain time and date. If it has not, then it aborts the connection, and uses a cache (and you see error 10053). If IE is set up not to use a cache, it will get the page.
-ken

K M Drake
Dart Tech Support
User392

Posts: 2
Member Since: 12/06/01
posted December 6, 2001 12:17 PM

Thanks for the info.

So how do you make your server robust to this (other than ignoring error 10053)?
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted December 6, 2001 12:46 PM


Hi,
Well, you can just ignore it. The server automatically responds with 304 if the page has not been modified since the time specified, and then the client aborts the connection. If, for some reason you wanted to prevent the client from aborting in this situation, I suppose you could always send back a 200 reply whenever a Request with the If-Modified-Since header is received.
-ken

K M Drake
Dart Tech Support
mjxnjx

From: sunnyvale, CA USA
Posts: 26
Member Since: 06/15/05
posted July 2, 2007 8:28 PM

Hello,

It looks like this issue hasn't been brought up in a while, but is there a good way to hide this "error 10053" message?

I know it's not doing any harm (it's because the thing the browser wanted to download was already cached and it cut off the request to download), but the swarm of error messages are blocking out what I really want to see in the log and will freak out my testers.

Can we just pass a parameter or something to tell it to not report Error 10053?
mjxnjx

From: sunnyvale, CA USA
Posts: 26
Member Since: 06/15/05
posted July 2, 2007 8:35 PM

LOL!

Never mind, just found where it gets logged. I just need to make some modification to the WebServer_Error function to get it to catch the 10053 error and not display it.

Never fails. You spend an hour stuck on something, post for help, and find the answer 5 minutes later on your own.
Reply | PowerTCP WebServer for ActiveX Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX