cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: testsuite failure -- test 91

From: David Byron <DByron_at_everdreamcorp.com>
Date: Wed, 17 Dec 2003 17:22:07 -0800

On Wed, 17 Dec 2003, David Byron wrote:

> To refresh people's memory, here's the command that fails:
>
> $ ../src/curl http://127.0.0.1:8999/91 --anyauth -u
mydomain\\myself:secret
>
> When I add -v, it works.

I've gotten a bit further. Through the magic of binary search and printf,
adding this just before line 257 of transfer.c (1.188) shows the problem.

        printf("Curl_read worked OK (nread = %d)\n",nread);

When things work, the output is:

Curl_read worked OK (nread = 253)
Curl_read worked OK (nread = 421)
Curl_read worked OK (nread = 160)
Finally, this is the real page!
Curl_read worked OK (nread = 0)

When things don't work, the output is:

Curl_read worked OK (nread = 253)
Curl_read worked OK (nread = -1)
curl: (52) Empty reply from server

Somehow using --verbose (or running in gdb with breakpoints, etc.) is
changing the timing such that the read function (sread on line 420 of
sendf.c (1.72)) returns some data instead of returning -1.

Maybe it's a bug in sws just as much as a bug in curl. Does the server need
to go faster? What if it's a real network and the line is slow?

One other question...how come readdone is initialized to TRUE (somewhere
around line 239 of transfer.c)? It doesn't seem to make a difference if
it's initialized to FALSE, at least in this test case, but FALSE seems
somehow more intuitive to me.

Hope this helps....Still hoping I can find the solution, but I could use a
push in the right direction.

-DB

-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
Received on 2003-12-18