From: Junio C Hamano <gitster@pobox.com>
To: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH] ci: work around Debian 12's HTTP/2 authentication failures
Date: Wed, 23 Sep 2026 09:16:22 -0700 [thread overview]
Message-ID: <xmqq1pakc59l.fsf@gitster.g> (raw)
In-Reply-To: <pull.2236.git.1790118373340.gitgitgadget@gmail.com> (Johannes Schindelin via GitGitGadget's message of "Tue, 22 Sep 2026 23:06:13 +0000")
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
writes:
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> Since 00fa8502354 (ci: bump debian-11 job to debian-12, 2026-09-05), the
> `debian-12` job has intermittently failed t5559's half-auth clone with:
>
> curl 92 Stream error in the HTTP/2 framing layer
>
> Anonymous discovery succeeds, but the upload-pack POST requires
> authentication. Apache can return an early 401 and close the HTTP/2
> stream before libcurl finishes sending the request body. Debian 12's
> curl 7.88.1 treats that closure as a transport error instead of allowing
> an authentication retry. Curl fixed this handling in 331b89a319d0
> (http2: polish things around POST), included in 8.3.0:
> https://github.com/curl/curl/pull/11756
>
> This did not happen before switching to Debian 12 because Debian 11
> ships with libcurl 7.74.0-1.3+deb11u16, which does not have that bug.
Superb. A well written diagnosis like this is worth a ton.
> Replacing the packaged libcurl with a modern build would defeat this
> job's purpose of testing older supported distributions. So let's simply
> exclude the flaky t5559.15 and its dependent t5559.16 on Debian 12 until
> the packaged curl carries the fix (or until the end of time, whichever
> comes first).
Oh, 100% agree with the reasoning. Thanks for this workaround.
> it's just working around a flaky test. In other words: This patch does
> not need to be fast-tracked into v2.56.0, but it would be good to get it
> into master pretty soon after that, to reduce developer friction.
Yes. I do not think there is any reason to cook it as long as other
usual patches. Fast-tracking would make sure other things do keep
working on older Debian.
Thanks.
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2236%2Fdscho%2Fwork-around-debian-curl-stream-error-92-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2236/dscho/work-around-debian-curl-stream-error-92-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/2236
>
> ci/lib.sh | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/ci/lib.sh b/ci/lib.sh
> index c6ccbf8c17..1cf31b5a2c 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -334,6 +334,12 @@ pull_request,*|push,*next*|push,*master*|push,*main*|push,*maint*)
> esac
>
> case "$distro" in
> +debian-12)
> + # Debian 12's curl 7.88.1 mishandles early HTTP/2 responses; see
> + # https://github.com/curl/curl/pull/11756. Skip the half-auth
> + # clone and its dependent fetch until Debian has the fix.
> + export GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5559.15 t5559.16"
> + ;;
> ubuntu-*)
> # Python 2 is end of life, and Ubuntu 23.04 and newer don't actually
> # have it anymore. We thus only test with Python 2 on older LTS
>
> base-commit: 3bc0341126508f78f5869cbfc0005e987efdf0c7
next prev parent reply other threads:[~2026-09-23 16:16 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 23:06 [PATCH] ci: work around Debian 12's HTTP/2 authentication failures Johannes Schindelin via GitGitGadget
2026-09-23 16:16 ` Junio C Hamano [this message]
2026-09-23 16:47 ` Jeff King
2026-09-23 16:53 ` Jeff King
2026-09-23 16:59 ` Jeff King
2026-09-23 17:17 ` Junio C Hamano
2026-09-23 19:25 ` Jeff King
2026-09-24 18:59 ` Johannes Schindelin
2026-09-24 19:42 ` Junio C Hamano
2026-09-24 23:22 ` Jeff King
2026-09-24 20:53 ` [PATCH v2] " Johannes Schindelin via GitGitGadget
2026-10-06 3:43 ` [PATCH] t5551: fix quoting in curl version bug prereq Jeff King
2026-10-06 3:52 ` [PATCH 2/1] test-lib: allow lazy prerequisite snippets as here-docs Jeff King
2026-10-06 9:16 ` [PATCH] t5551: fix quoting in curl version bug prereq Johannes Schindelin
2026-10-06 12:25 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq1pakc59l.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=johannes.schindelin@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox