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
cURL multi transfers not terminating with HTTP2 + future time condition #8626
Comments
You mean something like the equivalent of this command line?
|
Indeed, something to this effect:
However, I am unable to repro the hang @ 100% CPU with straight |
Thanks, I can reproduce the issue with the provided recipe. |
When getting a 200 response but a "soft check" of the time says the transfer should abort, it needs to: 1. properly switch off reading 2. close the stream, not the connection - in the case of h2 Reported-by: Evangelos Foutras Fixes #8626
curious, because the problem doesn't reproduce for me anymore with this fix. I've run the example many times now |
Update: nah, I was mistaken. I had edits in the code that made it succeed. The problem is still there with #8662 present. |
As it could otherwise stall all streams on the connection Reported-by: Evangelos Foutras Fixes #8626
I did this
Used 10-at-a-time.c.gz (modified curl example) to simulate part of what
pacman
from Arch Linux is doing (when parallel downloads are enabled).I am seeing 100% CPU usage and
dload_progress_cb
being called repeatedly, withcurl_multi_perform
reporting a couple active transfers.I expected the following
All 10 downloads to succeed, which they do if I leave
CURLOPT_TIMECONDITION
unset.Changing the time condition to be in the past (e.g.
time(NULL) - 604800
) also allows curl to complete all transfers.curl/libcurl version
operating system
The text was updated successfully, but these errors were encountered: