-
-
Notifications
You must be signed in to change notification settings - Fork 6.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
speed-limit not working with hanging ftp connection #210
Comments
So can you tell us exactly what the last thing curl did when it "hung" in such a state? |
Not exactly, unfortunately. I do downloads the following way:
In case of a hanging session, I see the following in the logs (notice that the max. 1200s are mostly not reached, I get normally aborts after 600-800s):
whereas in the working case I get:
Hope this helps a bit, thanks, |
If you want me to instrument curl in some way, you have to tell me what to do. FWIW, I do see cases where the connect timeout is effective, but only in a minority of cases.
I even got a case where the high port number was negotiated and max-time was effective:
So the whole behavior seems not to be really deterministic. Oh, and I determined the server software, using the "rstatus" command: |
I eventually caught 2 other cases, having enabled "-v" in curl. One has a "regular" connection
|
The speed check isn't actually done until the transfer starts so until it reaches the transfer state, that won't trigger. And if it is passed the "connection phase", max-time is what sets the maximum time to spend. There are some additional timeouts by the system and elsewhere that can make it give up earlier than so. |
I very much suspected this being the case. But you asked for more information... |
Contrary to the initial announcement, the affected server will not be decommissioned. I still can |
The speed limit feature is meant to make sure the data transfer maintains a certain speed, so it would change behavior and be counter-intuitive (IMO) to start the timer even before the transfer has started as then it doesn't measure the data transfer at all, it is just another way to add a timeout for the pre-transfer operations. |
This is related to http://sourceforge.net/p/curl/bugs/856/ resp. the known bug 73.
When an ftp connection is not fully set up and is hanging (no high port number negotiated,
communication is still going on (or not) on port 21), curl nevertheless decides that
connection phase is finished and therefore not connect-timeout, but max-time applies.
So far so good. But speed-limit is not working, too.
As I have to transfer huge files, I have to set large values for max-time, so it would be great
to be able to catch hanging connections be setting --speed-limit, but this does not work.
The text was updated successfully, but these errors were encountered: