cURL / Mailing Lists / curl-users / Single Mail

curl-users

RE: curl processes hang on windows 2003

From: Yuri <yurim_at_shaw.ca>
Date: Sat, 13 Nov 2004 12:06:55 -0800

Hello,

"I/O Write": - in Windows Task Manager "Processes" tab.

There is a list view on that tab with a list view containing several columns
including:
"Image Name" column, "I/O Writes" column. All processes with "Image
Name"="curl.exe" and "I/O Writes"=50 - hang indefinitely and require
forceful termination.

"I/O Writes" is the number of write input/output operations generated by a
process including file, network and device I/Os (not including console
operations).

Yes, curl on Windows 2003 "talks" to Apache webserver (ports 80,443). It is
appear that there are no problems on Apache - no error log entries found.

When curl hangs with I/O Writes = 50 , I/O Write Bytes (another column on
Processes tab of Windows Task Manager) always equals to 4031 - but we had
many cases when number of bytes transferred is much more and it works fine.

We are using command line option "--max-time 360" to limit curl connection
time - does not work when curl hangs indefinitely.

This question could be qualified as "network communication using common
protocols via curl on Windows". It is possible that Windows brings something
to it which is not/could be not be handled as expected (?).

Any suggestions as to reasons of the problem?

Thank you,
Yuri

-----Original Message-----
From: curl-users-bounces_at_cool.haxx.se
[mailto:curl-users-bounces_at_cool.haxx.se] On Behalf Of Daniel Stenberg
Sent: Saturday, November 13, 2004 11:19 AM
To: curl tool talk
Subject: RE: curl processes hang on windows 2003

On Sat, 13 Nov 2004, Yuri wrote:

> Thank you for your response. About when it hangs: it looks like it
> hangs randomly, when it hangs processes never finish until they
> forcefully terminated (manual termination or server reboot). It always
> hangs when "I/O Writes"=50.

What does that mean? Who says there was 50 I/O writes?

> Apache does not send data to curl running on Windows after it hangs -
> there were no Apache processes which were running that long, we also
> did not find any log information on Linux suggesting that something wrong
going on there.

So curl on windows 2003 requests a URL from an Apache on Linux? When the
problem occur, does the server even log a request?

> Why these processes hang when "I/O Writes"=50 ? Is there some internal
> buffer or counter in curl which got overflow or somehow went out of
bounds?

I don't know what it means. Are you suggesting it sent 50 bytes and then
stopped? Does even a simple GET fit within 50 bytes? If so, it sounds as if
it sent the GET to the server and the server never responds with anything.

> Why curl does not recognize that another side of communication has
> connection terminated ?

A silent TCP connection is not an error case by definition. If the server
end resets the connection curl should detect it.

> We are using max time out parameter in command line but it looks like
> it is not used or could not be used due to some reasons.

I don't understand you. Are you saying that you use the option on a
conservative length and it still hangs long after that time has passed?

> If you suggest that this is related to network setup then what network
> settings may cause such behavior?

I have no idea. I have never seen nor tried Windows 2003. I just know that
thousands of people use curl on Windows and this problem has not been
reported before. That indicates that the problem is related to someone
unusual in your system. Or possibly in Windows 2003, since I don't think
there are that many users who use curl on that OS version.

I'm just not a Windows guy, I don't have many ideas on how to track down
problems such as this on your OS of choice.

-- 
      Daniel Stenberg -- http://curl.haxx.se -- http://daniel.haxx.se
       Dedicated custom curl help for hire: http://haxx.se/curl.html
Received on 2004-11-13