Conversation
This was referenced Sep 29, 2025
mjcheetham
approved these changes
Sep 29, 2025
Member
Author
In cURL v8.16.0, the behavior changed subtly: Timeouts were added even in circumstances where cURL failed to connect and should have errored out with the corresponding `CURLE_COULDNT_CONNECT` instead. This commit back-ports the fix from curl/curl#18768. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
a63bbee to
4d8f15b
Compare
Member
Author
dscho
added a commit
to microsoft/git
that referenced
this pull request
Sep 30, 2025
I investigated a couple of new test failures over in #799; Essentially, t5799.13(curl-connect: no server) no longer received the expected `CURLE_COULDNT_CONNECT` immediately, but instead received `CURLE_OPERATION_TIMEDOUT` after 5 minutes (!), and due to internal details that problem was repeated 4 times (!!!). Turns out that the regression was _not_ introduced by the patches in that PR, but by the independent Git for Windows SDK update of cURL to v8.16.0. I integrated a fix into the Git for Windows SDK in git-for-windows/MINGW-packages#163, but since Microsoft Git also targets Linux and macOS (where we do not control the cURL version), here is a work-around. This PR also adds some clean-ups for the `t5799-gvfs-helper.sh` test script in general, e.g. to improve future debug'ability.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In cURL v8.16.0, the behavior changed subtly: Timeouts were added even in circumstances where cURL failed to connect and should have errored out with the corresponding
CURLE_COULDNT_CONNECTinstead.This has been identified in
microsoft/gitvia test failures in t5799:It is a bit difficult to diagnose the problem from Git's output, as the interesting information is suppressed: Instead of
curl:7(CURLE_COULDNT_CONNECT), it reportscurl:28(CURLE_OPERATION_TIMEDOUT). I reported this to the cURL project and they gracefully jumped on fixing it. This here PR back-ports the fix from curl/curl#18768.