Skip to content
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

git clone error : RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0 #4997

Open
1 task
tgemvz opened this issue Jun 5, 2024 · 14 comments
Open
1 task
Labels

Comments

@tgemvz
Copy link

tgemvz commented Jun 5, 2024

  • I was not able to find an open or closed issue matching what I'm seeing

Setup

  • Which version of Git for Windows are you using? Is it 32-bit or 64-bit?
$ git --version --build-options

git version 2.45.2.windows.1
cpu: x86_64
built from commit: 91d03cb2e4fbf6ad961ace739b8a646868cb154d
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon
  • Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?
$ cmd.exe /c ver

Microsoft Windows [Version 10.0.19045.4412]
  • What options did you set as part of the installation? Or did you choose the
    defaults?
# One of the following:
> type "C:\Program Files\Git\etc\install-options.txt"
> type "C:\Program Files (x86)\Git\etc\install-options.txt"
> type "%USERPROFILE%\AppData\Local\Programs\Git\etc\install-options.txt"
> type "$env:USERPROFILE\AppData\Local\Programs\Git\etc\install-options.txt"
$ cat /etc/install-options.txt

Editor Option: VisualStudioCode
Custom Editor Path:
Default Branch Option: main
Path Option: Cmd
SSH Option: OpenSSH
Tortoise Option: false
CURL Option: WinSSL
CRLF Option: CRLFAlways
Bash Terminal Option: MinTTY
Git Pull Behavior Option: Merge
Use Credential Manager: Enabled
Performance Tweaks FSCache: Enabled
Enable Symlinks: Disabled
Enable Pseudo Console Support: Disabled
Enable FSMonitor: Disabled
  • Any other interesting things about your environment that might be related
    to the issue you're seeing?

behind corporate proxy

Details

  • Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

PowerShell

git clone https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[repo]
  • What did you expect to occur after running these commands?

clone of repository gets created locally

  • What actually happened instead?

git clone fails with an error message : http.c:868 == Info: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0

Additional verbose log

14:49:22.803476 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/bin
14:49:22.817429 git.c:465               trace: built-in: git clone https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[repo]
Cloning into '[repo]'...
14:49:22.858109 run-command.c:657       trace: run_command: git remote-https origin https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[repo]
14:49:22.879146 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:22.888111 git.c:750               trace: exec: git-remote-https origin https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[repo]
14:49:22.888111 run-command.c:657       trace: run_command: git-remote-https origin https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[repo]
14:49:22.911111 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:22.942114 http.c:868              == Info: Couldn't find host dev.azure.com in the .netrc file; using defaults
14:49:22.951756 http.c:868              == Info: Host [proxy]:[port] was resolved.
14:49:22.952756 http.c:868              == Info: IPv6: (none)
14:49:22.952756 http.c:868              == Info: IPv4: [proxyIP]
14:49:22.952756 http.c:868              == Info:   Trying [proxyIP]:[port]...
14:49:22.976758 http.c:868              == Info: Connected to [proxy] ([proxyIP]) port [port]
14:49:22.976758 http.c:868              == Info: CONNECT tunnel: HTTP/1.1 negotiated
14:49:22.976758 http.c:868              == Info: allocate connect buffer
14:49:22.979756 http.c:868              == Info: Proxy auth using NTLM with user ''
14:49:22.979756 http.c:868              == Info: Establish HTTP proxy tunnel to dev.azure.com:443
14:49:22.990756 http.c:868              == Info: CONNECT phase completed
14:49:22.990756 http.c:868              == Info: CONNECT tunnel established, response 200
14:49:22.990756 http.c:868              == Info: ALPN: curl offers h2,http/1.1
14:49:22.991786 http.c:868              == Info: TLSv1.3 (OUT), TLS handshake, Client hello (1):
14:49:23.010933 http.c:868              == Info:  CAfile: [pemFilePath]
14:49:23.010933 http.c:868              == Info:  CApath: none
14:49:23.012225 http.c:868              == Info: TLSv1.3 (IN), TLS handshake, Server hello (2):
14:49:23.012225 http.c:868              == Info: TLSv1.2 (IN), TLS handshake, Certificate (11):
14:49:23.015177 http.c:868              == Info: TLSv1.2 (IN), TLS handshake, Server key exchange (12):
14:49:23.015726 http.c:868              == Info: TLSv1.2 (IN), TLS handshake, Server finished (14):
14:49:23.017894 http.c:868              == Info: TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
14:49:23.017894 http.c:868              == Info: TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
14:49:23.017894 http.c:868              == Info: TLSv1.2 (OUT), TLS handshake, Finished (20):
14:49:23.021402 http.c:868              == Info: TLSv1.2 (IN), TLS handshake, Finished (20):
14:49:23.021402 http.c:868              == Info: SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp384r1 / rsaEncryption
14:49:23.021402 http.c:868              == Info: ALPN: server did not agree on a protocol. Uses default.
14:49:23.021402 http.c:868              == Info: Server certificate:
14:49:23.022504 http.c:868              == Info:  subject: C=US; ST=WA; L=Redmond; O=Microsoft Corporation; CN=dev.azure.com
14:49:23.022504 http.c:868              == Info:  start date: Mar 27 20:48:07 2024 GMT
14:49:23.022504 http.c:868              == Info:  expire date: Sep 23 20:48:07 2024 GMT
14:49:23.023016 http.c:868              == Info:  subjectAltName: host "dev.azure.com" matched cert's "dev.azure.com"
14:49:23.023016 http.c:868              == Info:  issuer: C=CH; ST=ZH; L=ZH; O=[CorporationName]; OU=[OU Name] ; CN=[CN]; emailAddress=[ITEmailAdress]
14:49:23.023016 http.c:868              == Info:  SSL certificate verify ok.
14:49:23.023016 http.c:868              == Info:   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
14:49:23.023016 http.c:868              == Info:   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
14:49:23.023016 http.c:868              == Info: using HTTP/1.x
14:49:23.024016 http.c:868              == Info: Request completely sent off
14:49:23.121015 http.c:868              == Info: Ignoring the response-body
14:49:23.121015 http.c:868              == Info: Connection #0 to host [proxy] left intact
14:49:23.121015 http.c:868              == Info: Issue another request to this URL: 'https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[project]/info/refs?service=git-upload-pack'
14:49:23.121015 http.c:868              == Info: Couldn't find host dev.azure.com in the .netrc file; using defaults
14:49:23.121015 http.c:868              == Info: Found bundle for host: 0x1f8d5466040 [serially]
14:49:23.121015 http.c:868              == Info: Can not multiplex, even if we wanted to
14:49:23.121015 http.c:868              == Info: Re-using existing connection with proxy [proxy]
14:49:23.122014 http.c:868              == Info: Server auth using Basic with user '[orgname]'
14:49:23.122014 http.c:868              == Info: Request completely sent off
14:49:23.184670 http.c:868              == Info: Authentication problem. Ignoring this.

14:49:23.186669 http.c:868              == Info: Connection #0 to host [proxy] left intact
14:49:23.186669 run-command.c:657       trace: run_command: 'git credential-manager get'
14:49:23.251288 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:23.260288 git.c:750               trace: exec: git-credential-manager get
14:49:23.261289 run-command.c:657       trace: run_command: git-credential-manager get
14:49:23.361417 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:23.371416 git.c:465               trace: built-in: git config --null --list
14:49:23.524251 http.c:868              == Info: Found bundle for host: 0x1f8d5466040 [serially]
14:49:23.524251 http.c:868              == Info: Can not multiplex, even if we wanted to
14:49:23.524251 http.c:868              == Info: Re-using existing connection with proxy [proxy]
14:49:23.524251 http.c:868              == Info: Server auth using Basic with user '[UserEmailAdress]'
14:49:23.524783 http.c:868              == Info: Request completely sent off
14:49:23.821775 http.c:868              == Info: Connection #0 to host [proxy] left intact
14:49:23.821775 run-command.c:657       trace: run_command: 'git credential-manager store'
14:49:23.897409 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:23.906409 git.c:750               trace: exec: git-credential-manager store
14:49:23.906409 run-command.c:657       trace: run_command: git-credential-manager store
14:49:23.995027 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:24.001028 git.c:465               trace: built-in: git config --null --list
14:49:24.152702 run-command.c:657       trace: run_command: 'git credential-manager store'
14:49:24.216791 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:24.225791 git.c:750               trace: exec: git-credential-manager store
14:49:24.225791 run-command.c:657       trace: run_command: git-credential-manager store
14:49:24.319423 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:24.325424 git.c:465               trace: built-in: git config --null --list
14:49:24.476084 pkt-line.c:86           packet:          git< # service=git-upload-pack
14:49:24.476084 pkt-line.c:86           packet:          git< 0000
14:49:24.476084 pkt-line.c:86           packet:          git< 284375f673bb7bb2c3574f1896eb590b2da64843 HEAD\0 multi_ack thin-pack side-band side-band-64k no-progress multi_ack_detailed no-done shallow allow-tip-sha1-in-want filter symref=HEAD:refs/heads/main
14:49:24.476084 pkt-line.c:86           packet:          git< 284375f673bb7bb2c3574f1896eb590b2da64843 refs/heads/main
14:49:24.500085 run-command.c:657       trace: run_command: git fetch-pack --stateless-rpc --stdin --lock-pack --thin --check-self-contained-and-connected --cloning https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[project]/
14:49:24.523085 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:24.537085 git.c:465               trace: built-in: git fetch-pack --stateless-rpc --stdin --lock-pack --thin --check-self-contained-and-connected --cloning https://[orgname]@dev.azure.com/[orgname]/[project]/_git/[project]/
14:49:24.538084 pkt-line.c:86           packet:   fetch-pack< 284375f673bb7bb2c3574f1896eb590b2da64843 refs/heads/main
14:49:24.546086 http.c:868              == Info: Found bundle for host: 0x1f8d5466040 [serially]
14:49:24.546086 http.c:868              == Info: Can not multiplex, even if we wanted to
14:49:24.547084 http.c:868              == Info: Re-using existing connection with proxy [proxy]
14:49:24.547084 http.c:868              == Info: Server auth using Basic with user '[UserEmailAdress]'
14:49:24.548085 http.c:815              => Send header, 0000000412 bytes (0x0000019c)
14:49:24.548085 http.c:827              => Send header: POST /[orgname]/[project]/_git/[project]/git-upload-pack HTTP/1.1
14:49:24.548085 http.c:827              => Send header: Host: dev.azure.com
14:49:24.548085 http.c:827              => Send header: Authorization: Basic <redacted>
14:49:24.548085 http.c:827              => Send header: User-Agent: git/2.45.1.windows.1
14:49:24.548085 http.c:827              => Send header: Accept-Encoding: deflate, gzip, br, zstd
14:49:24.548085 http.c:827              => Send header: Content-Type: application/x-git-upload-pack-request
14:49:24.548085 http.c:827              => Send header: Accept: application/x-git-upload-pack-result
14:49:24.548085 http.c:827              => Send header: Content-Length: 364
14:49:24.548085 http.c:827              => Send header:
14:49:24.548085 http.c:868              == Info: upload completely sent off: 364 bytes
14:49:25.870141 pkt-line.c:86           packet:   fetch-pack< NAK
14:49:25.870141 pkt-line.c:86           packet:   fetch-pack> 0000
14:49:25.871142 pkt-line.c:86           packet:     sideband< \2Azure Repos
remote: Azure Repos
14:49:25.871142 pkt-line.c:86           packet:     sideband< \2\15Found 1385 objects to send. (93 ms)
remote: Found 1385 objects to send. (93 ms)
14:49:25.871142 pkt-line.c:86           packet:     sideband< PACK ...
14:49:25.878124 run-command.c:657       trace: run_command: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 78064 on [hostname]' --check-self-contained-and-connected --pack_header=2,1385
14:49:25.898248 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
14:49:25.908248 git.c:465               trace: built-in: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 78064 on [hostname]' --check-self-contained-and-connected --pack_header=2,1385
14:49:25.932242 http.c:868              == Info: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
14:49:25.933242 http.c:868              == Info: Closing connection
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
14:49:25.935365 pkt-line.c:86           packet:     sideband< 0000
Receiving objects: 100% (1385/1385), 292.44 KiB | 12.71 MiB/s, done.
Resolving deltas: 100% (886/886), done.

@dscho
Copy link
Member

dscho commented Jun 5, 2024

This StackOverflow thread looks relevant. Are you using zScaler?

@dscho dscho added the unclear label Jun 5, 2024
@tgemvz
Copy link
Author

tgemvz commented Jun 5, 2024

No, we don't use zScaler, BUT we already use openssl as "sslBackend" and use a PEM File with proxy certificate chain as "sslCAInfo".
git clone did work in version 2.43.1 but not in 2.45.x
My guess is that somehow curl did change between versions and is more strict in regards to proxy "interference"?

@dscho
Copy link
Member

dscho commented Jun 5, 2024

My guess is that somehow curl did change between versions and is more strict in regards to proxy "interference"?

That's possible. To test your theory, could you download the Portable Git v2.45.2, verify that the clone fails using that after configuring the sslBackend and sslCAInfo settings, then download the Portable Git v2.43.1 and copy over only the mingw64/bin/libcurl-openssl-4.dll file from v2.43.1 to v2.45.2 and verify that the clone now works?

@tgemvz
Copy link
Author

tgemvz commented Jun 5, 2024

Thx for your support!

First I did download portable git v2.45.2 and verified that i could not clone a devops repo (same error curl 56)
Next I downloaded portable git version v2.43.0 and could coax it to clone correctly (had problems with credentials in the beginning but then used "wincred" and it works)
Finally I copied the libcurl-openssl-4.dll from v2.43.0 to v2.45.2 and tried git clone again -> regrettably with the same error curl 56 outcome.

Working Versions that CAN clone (using wincred)
2.38.1.windows.1
2.39.2.windows.1
2.43.0.windows.1

Version with errors
2.45.2.windows.1 (with original libcurl-openssl-4.dll)
2.45.2.windows.1 (with libcurl-openssl-4.dll from version 2.43.0.windows.1)

@dscho
Copy link
Member

dscho commented Jun 5, 2024

I copied the libcurl-openssl-4.dll from v2.43.0 to v2.45.2 and tried git clone again -> regrettably with the same error curl 56 outcome.

Okay, so we whittled this down some. Could you also try v2.44.0, v2.44.1, v2.45.0 and v2.45.1? (Ideally, you would bisect through the snapshots where v2.45.2 is labeled Mon, 3 Jun 2024 09:24:47 +0200 and v2.43.0 is labeled Mon, 20 Nov 2023 18:02:41 +0100, but that is a lot of work...)

@tgemvz
Copy link
Author

tgemvz commented Jun 5, 2024

Tested different Versions with following result:

Working Versions:

  • git version 2.43.0.windows.1
  • git version 2.43.0.windows.1.4.ga0e46210e3.20231207080325
  • git version 2.43.0.windows.1.13.g9cdc4781e4.20231221124616

NOT Working

  • git version 2.43.0.windows.1.26.g7e0789dd38.20240208175609
    with a "new" error message
[...]
13:03:45.033437 http.c:870              == Info: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
13:03:45.033437 http.c:870              == Info: Closing connection
13:03:45.033437 http.c:870              == Info: TLSv1.2 (OUT), TLS alert, close notify (256):
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output

same error message also for :

  • git version 2.44.0.rc0.windows.1
  • git version 2.44.0.rc2.windows.1
  • git version 2.44.0.windows.1
  • git version 2.44.1.windows.1

the "original" error message

  • git version 2.45.0.windows.1
[...]
13:27:25.564864 http.c:868              == Info: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
13:27:25.564864 http.c:868              == Info: Closing connection
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
13:27:25.565911 pkt-line.c:86           packet:     sideband< 0000
Receiving objects: 100% (1397/1397), 293.39 KiB | 5.75 MiB/s, done.
Resolving deltas: 100% (896/896), done.

@dscho
Copy link
Member

dscho commented Jun 5, 2024

Working Versions:

* git version 2.43.0.windows.1

* git version 2.43.0.windows.1.4.ga0e46210e3.20231207080325

* git version 2.43.0.windows.1.13.g9cdc4781e4.20231221124616

NOT Working

* git version 2.43.0.windows.1.26.g7e0789dd38.20240208175609
  with a "new" error message

Hmm. The commits between last working and first non-working version does not look helpful here:

$ git graph 7e0789dd38...9cdc4781e4
<   7e0789dd38db build(deps): bump actions/checkout from 3 to 4 (#4796) (by Matthias Aßhauer 4 months ago)
|\
| < 5ffe9156efef build(deps): bump actions/checkout from 3 to 4 (by dependabot[bot] 4 months ago)
< |   f62abacf1d7b build(deps): bump actions/download-artifact from 3 to 4 (#4794) (by Matthias Aßhauer 4 months ago)
|\ \
| < | 3a6b9978f04f ci: bump actions/upload-artifact to v4 (by Matthias Aßhauer 4 months ago)
| < | f96be1dc092e build(deps): bump actions/download-artifact from 3 to 4 (by dependabot[bot] 4 months ago)
| |/
< |   82f73c87a88f build(deps): bump actions/setup-go from 2 to 5 (#4793) (by Matthias Aßhauer 4 months ago)
|\ \
| < | ba3c7742e67b build(deps): bump actions/setup-go from 2 to 5 (by dependabot[bot] 4 months ago)
| |/
< |   c68910c66886 build(deps): bump mshick/add-pr-comment from 1 to 2 (#4795) (by Matthias Aßhauer 4 months ago)
|\ \
| < | 400f54528708 build(deps): bump mshick/add-pr-comment from 1 to 2 (by dependabot[bot] 4 months ago)
| |/
< |   660d6fa695a4 build(deps): bump actions/cache from 3 to 4 (#4797) (by Matthias Aßhauer 4 months ago)
|\ \
| |/
|/|
| < fe404de9d9b6 build(deps): bump actions/cache from 3 to 4 (by dependabot[bot] 4 months ago)
|/
<   4dd449d885ec dependabot: help keeping GitHub Actions versions up to date (#4792) (by Matthias Aßhauer 4 months ago)
|\
| < dbf9e6661f21 dependabot: help keeping GitHub Actions versions up to date (by Johannes Schindelin 4 months ago)
|/
o 9cdc4781e484 Update mimalloc to v2.1.2 (#4740) (by Johannes Schindelin 6 months ago)

That's all in GitHub Actions. So it must be dependency changes. Could you compare /etc/package-versions.txt between these two Portable Gits, please?

@tgemvz
Copy link
Author

tgemvz commented Jun 5, 2024

Sorry, made a mistake:

Working Version

  • git version 2.43.0.windows.1.13.g9cdc4781e4.20231221124616

Non-Working Version

  • git version 2.43.0.windows.1.15.g4dd449d885.20240207205310

package-versions.txt of git version 2.43.0.windows.1.13.g9cdc4781e4.20231221124616

apr 1.7.4-2
apr-util 1.6.3-2
gawk 5.0.0-1
bash 5.2.021-1
bzip2 1.0.8-4
ca-certificates 20230311-1
coreutils 8.32-5
diffutils 3.10-1
docx2txt 1.4-2
dos2unix 7.5.1-1
expat 2.5.0-1
file 5.45-1
findutils 4.9.0-3
gcc-libs 13.2.0-2
gettext 0.22.4-1
git-flow 1.12.3-1
gmp 6.3.0-1
gmp 6.3.0-1
gnupg 2.2.42-1
grep 1~3.0-6
gzip 1.13-1
heimdal-libs 7.8.0-4
less 643-1
libasprintf 0.22.4-1
libassuan 2.5.6-1
libbz2 1.0.8-4
libcbor 0.10.2-1
libcrypt 2.1-5
libcurl 8.5.0-1
libedit 20221030_3.1-1
libexpat 2.5.0-1
libffi 3.4.4-1
libfido2 1.14.0-1
libgcrypt 1.9.4-2
libgettextpo 0.22.4-1
libgnutls 3.8.2-1
libgpg-error 1.47-2
libhogweed 3.9.1-1
libiconv 1.17-1
libidn2 2.3.4-2
libintl 0.22.4-1
libksba 1.6.5-1
liblz4 1.9.4-1
liblzma 5.4.5-1
libnettle 3.9.1-1
libnghttp2 1.58.0-1
libnpth 1.6-2
libopenssl 3.1.4-1
libp11-kit 0.25.3-1
libpcre 8.45-4
libpcre2_8 10.42-1
libpcre2posix 10.42-1
libpsl 0.21.2-1
libreadline 8.2.007-1
libsasl 2.1.28-3
libserf 1.3.9-8
libsqlite 3.44.2-1
libssh2 1.11.0-1
libtasn1 4.19.0-1
libunistring 1.1-2
libutil-linux 2.35.2-4
libutil-linux 2.35.2-4
libxcrypt 4.4.36-1
libxml2 2.12.3-1
libxslt 1.1.39-1
libzstd 1.5.5-1
mingw-w64-x86_64-antiword 0.37-3
mingw-w64-x86_64-brotli 1.1.0-1
mingw-w64-x86_64-bzip2 1.0.8-3
mingw-w64-x86_64-c-ares 1.24.0-1
mingw-w64-x86_64-ca-certificates 20230311-1
mingw-w64-x86_64-connect 1.105-4
mingw-w64-x86_64-curl-winssl 8.5.0-1
mingw-w64-x86_64-curl-openssl-alternate 8.5.0-1
mingw-w64-x86_64-curl-winssl 8.5.0-1
mingw-w64-x86_64-expat 2.5.0-1
mingw-w64-x86_64-gcc-libs 13.2.0-3
mingw-w64-x86_64-gettext 0.22.4-3
mingw-w64-x86_64-git 2.43.0.windows.1.13.g9cdc4781e4.20231221124616-1
mingw-w64-x86_64-git-credential-manager 2.4.1-1
mingw-w64-x86_64-git-doc-html 2.43.0.windows.1.13.g9cdc4781e4.20231221124616-1
mingw-w64-x86_64-git-extra 1.1.636.2db97b993-1
mingw-w64-x86_64-git-lfs 3.4.1-1
mingw-w64-x86_64-gmp 6.3.0-2
mingw-w64-x86_64-gnutls 3.8.2-1
mingw-w64-x86_64-libffi 3.4.4-1
mingw-w64-x86_64-libiconv 1.17-3
mingw-w64-x86_64-libidn2 2.3.4-1
mingw-w64-x86_64-libpsl 0.21.2-4
mingw-w64-x86_64-libssh2-wincng 1.11.0-2
mingw-w64-x86_64-libssh2-wincng 1.11.0-2
mingw-w64-x86_64-libsystre 1.0.1-5
mingw-w64-x86_64-libtasn1 4.19.0-1
mingw-w64-x86_64-libtre-git r128.6fb7206-3
mingw-w64-x86_64-libunistring 1.1-1
mingw-w64-x86_64-libwinpthread-git 11.0.0.r442.ga27e7b27e-1
mingw-w64-x86_64-libzip 1.10.1-1
mingw-w64-x86_64-nettle 3.9.1-1
mingw-w64-x86_64-nghttp2 1.58.0-1
mingw-w64-x86_64-odt2txt 0.5-3
mingw-w64-x86_64-openssl 3.1.4-1
mingw-w64-x86_64-p11-kit 0.25.3-1
mingw-w64-x86_64-pcre 8.45-1
mingw-w64-x86_64-pcre2 10.42-1
mingw-w64-x86_64-tcl 8.6.12-2
mingw-w64-x86_64-tcl 8.6.12-2
mingw-w64-x86_64-tk 8.6.12-2
mingw-w64-x86_64-wineditline 2.206-1
mingw-w64-x86_64-xz 5.4.5-1
mingw-w64-x86_64-zlib 1.3-1
mingw-w64-x86_64-zstd 1.5.5-1
mintty 1~3.7.0-1
mpfr 4.2.1-1
msys2-runtime 3.4.10-1
nano 7.2-1
ncurses 6.4-2
nettle 3.9.1-1
openssh 9.6p1-1
openssl 3.1.4-1
p11-kit 0.25.3-1
patch 2.7.6-2
perl 5.38.2-1
perl-Authen-SASL 2.1700-1
perl-Clone 0.46-1
perl-Convert-BinHex 1.125-2
perl-Encode-Locale 1.05-2
perl-Error 0.17029-2
perl-File-Listing 6.16-1
perl-HTML-Parser 3.81-1
perl-HTML-Tagset 3.20-3
perl-HTTP-Cookies 6.10-2
perl-HTTP-Daemon 6.16-1
perl-HTTP-Date 6.06-1
perl-HTTP-Message 6.45-1
perl-HTTP-Negotiate 6.01-3
perl-IO-HTML 1.004-2
perl-IO-Socket-SSL 2.084-1
perl-IO-Stringy 2.113-2
perl-JSON 4.10-1
perl-LWP-MediaTypes 6.04-2
perl-MIME-tools 5.510-1
perl-MailTools 2.21-2
perl-Net-HTTP 6.23-1
perl-Net-SMTP-SSL 1.04-2
perl-Net-SSLeay 1.92-3
perl-TermReadKey 2.38-8
perl-TimeDate 2.33-2
perl-Try-Tiny 0.31-1
perl-URI 5.21-1
perl-WWW-RobotRules 6.02-3
perl-http-cookiejar 0.014-1
perl-libwww 6.72-1
perl 5.38.2-1
pinentry 1.2.1-1
sed 4.9-1
bash 5.2.021-1
ssh-pageant 1.4.r15.gc804ba4-1
subversion 1.14.2-2
tar 1.35-2
tig 2.5.8-1
unzip 6.0-3
vim 9.0.2143-1
which 2.21-4
winpty 0.4.3-2
zlib 1.3-1
filesystem 2023.02.07-1
dash 0.5.12-1
rebase 4.5.0-4
util-linux 2.35.2-4
unzip 6.0-3
mingw-w64-x86_64-xpdf-tools 4.00-1

package-versions.txt of git version 2.43.0.windows.1.15.g4dd449d885.20240207205310

apr 1.7.4-2
apr-util 1.6.3-2
gawk 5.0.0-1
bash 5.2.026-1
bzip2 1.0.8-4
ca-certificates 20230311-1
coreutils 8.32-5
diffutils 3.10-1
docx2txt 1.4-2
dos2unix 7.5.2-1
expat 2.5.0-1
file 5.45-1
findutils 4.9.0-3
gcc-libs 13.2.0-2
git-flow 1.12.3-1
gmp 6.3.0-1
gmp 6.3.0-1
gnupg 2.4.4-1
grep 1~3.0-6
gzip 1.13-1
heimdal-libs 7.8.0-4
less 643-1
libassuan 2.5.6-1
libbz2 1.0.8-4
libcbor 0.11.0-1
libcrypt 2.1-5
libcurl 8.6.0-1
libedit 20221030_3.1-1
libexpat 2.5.0-1
libffi 3.4.4-1
libfido2 1.14.0-2
libgcrypt 1.9.4-2
libgnutls 3.8.3-1
libgpg-error 1.47-2
libhogweed 3.9.1-1
libiconv 1.17-1
libidn2 2.3.7-1
libintl 0.22.4-1
libksba 1.6.5-1
liblz4 1.9.4-1
liblzma 5.4.6-2
libnettle 3.9.1-1
libnghttp2 1.59.0-1
libnpth 1.6-2
libopenssl 3.2.1-1
libp11-kit 0.25.3-1
libpcre 8.45-4
libpcre2_8 10.42-1
libpcre2posix 10.42-1
libpsl 0.21.5-2
libreadline 8.2.010-1
libsasl 2.1.28-3
libserf 1.3.9-8
libsqlite 3.45.1-1
libssh2 1.11.0-1
libtasn1 4.19.0-1
libunistring 1.1-2
libutil-linux 2.35.2-4
libutil-linux 2.35.2-4
libxcrypt 4.4.36-1
libzstd 1.5.5-1
mingw-w64-x86_64-antiword 0.37-3
mingw-w64-x86_64-brotli 1.1.0-1
mingw-w64-x86_64-bzip2 1.0.8-3
mingw-w64-x86_64-c-ares 1.26.0-1
mingw-w64-x86_64-ca-certificates 20230311-1
mingw-w64-x86_64-connect 1.105-4
mingw-w64-x86_64-curl-winssl 8.6.0-1
mingw-w64-x86_64-curl-openssl-alternate 8.6.0-1
mingw-w64-x86_64-curl-winssl 8.6.0-1
mingw-w64-x86_64-expat 2.5.0-1
mingw-w64-x86_64-gcc-libs 13.2.0-4
mingw-w64-x86_64-gettext-runtime 0.22.4-5
mingw-w64-x86_64-git 2.43.0.windows.1.15.g4dd449d885.20240207205310-1
mingw-w64-x86_64-git-credential-manager 2.4.1-2
mingw-w64-x86_64-git-doc-html 2.43.0.windows.1.15.g4dd449d885.20240207205310-1
mingw-w64-x86_64-git-extra 1.1.636.2db97b993-1
mingw-w64-x86_64-git-lfs 3.4.1-1
mingw-w64-x86_64-gmp 6.3.0-2
mingw-w64-x86_64-gnutls 3.8.3-1
mingw-w64-x86_64-libffi 3.4.4-1
mingw-w64-x86_64-libiconv 1.17-4
mingw-w64-x86_64-libidn2 2.3.7-2
mingw-w64-x86_64-libpsl 0.21.5-2
mingw-w64-x86_64-libssh2-wincng 1.11.0-2
mingw-w64-x86_64-libssh2-wincng 1.11.0-2
mingw-w64-x86_64-libsystre 1.0.1-5
mingw-w64-x86_64-libtasn1 4.19.0-1
mingw-w64-x86_64-libtre-git r177.07e66d0-2
mingw-w64-x86_64-libunistring 1.1-1
mingw-w64-x86_64-libwinpthread-git 11.0.0.r551.g86a5e0f41-1
mingw-w64-x86_64-libzip 1.10.1-1
mingw-w64-x86_64-nettle 3.9.1-1
mingw-w64-x86_64-nghttp2 1.59.0-1
mingw-w64-x86_64-odt2txt 0.5-3
mingw-w64-x86_64-openssl 3.2.1-1
mingw-w64-x86_64-p11-kit 0.25.3-2
mingw-w64-x86_64-pcre 8.45-1
mingw-w64-x86_64-pcre2 10.42-1
mingw-w64-x86_64-tcl 8.6.13-1
mingw-w64-x86_64-tcl 8.6.13-1
mingw-w64-x86_64-tk 8.6.12-2
mingw-w64-x86_64-wineditline 2.206-1
mingw-w64-x86_64-xz 5.4.6-2
mingw-w64-x86_64-zlib 1.3.1-1
mingw-w64-x86_64-zstd 1.5.5-1
mintty 1~3.7.0-1
mpfr 4.2.1-1
msys2-runtime 3.4.10-1
nano 7.2-1
ncurses 6.4-2
nettle 3.9.1-1
openssh 9.6p1-1
openssl 3.2.1-1
p11-kit 0.25.3-1
patch 2.7.6-2
perl 5.38.2-1
perl-Authen-SASL 2.1700-1
perl-Clone 0.46-1
perl-Convert-BinHex 1.125-2
perl-Encode-Locale 1.05-2
perl-Error 0.17029-2
perl-File-Listing 6.16-1
perl-HTML-Parser 3.81-1
perl-HTML-Tagset 3.20-3
perl-HTTP-Cookies 6.11-1
perl-HTTP-Daemon 6.16-1
perl-HTTP-Date 6.06-1
perl-HTTP-Message 6.45-1
perl-HTTP-Negotiate 6.01-3
perl-IO-HTML 1.004-2
perl-IO-Socket-SSL 2.084-1
perl-IO-Stringy 2.113-2
perl-JSON 4.10-1
perl-LWP-MediaTypes 6.04-2
perl-MIME-tools 5.510-1
perl-MailTools 2.21-2
perl-Net-HTTP 6.23-1
perl-Net-SMTP-SSL 1.04-2
perl-Net-SSLeay 1.92-3
perl-TermReadKey 2.38-8
perl-TimeDate 2.33-2
perl-Try-Tiny 0.31-1
perl-URI 5.21-1
perl-WWW-RobotRules 6.02-3
perl-http-cookiejar 0.014-1
perl-libwww 6.72-1
perl 5.38.2-1
pinentry 1.2.1-1
sed 4.9-1
bash 5.2.026-1
ssh-pageant 1.4.r15.gc804ba4-1
subversion 1.14.2-2
tar 1.35-2
tig 2.5.8-1
unzip 6.0-3
vim 9.1.0000-1
which 2.21-4
winpty 0.4.3-2
zlib 1.3.1-1
filesystem 2023.02.07-1
dash 0.5.12-1
rebase 4.5.0-4
util-linux 2.35.2-4
unzip 6.0-3
mingw-w64-x86_64-xpdf-tools 4.00-1

@dscho
Copy link
Member

dscho commented Jun 5, 2024

The diff looks like this:

diff --git a/C:/Users/johasc/AppData/Local/Temp/a1 b/C:/Users/johasc/AppData/Local/Temp/a2
index 666042bbcf6a..48b2973cbd31 100644
--- a/C:/Users/johasc/AppData/Local/Temp/a1
+++ b/C:/Users/johasc/AppData/Local/Temp/a2
@@ -1,113 +1,108 @@
 apr 1.7.4-2
 apr-util 1.6.3-2
 gawk 5.0.0-1
-bash 5.2.021-1
+bash 5.2.026-1
 bzip2 1.0.8-4
 ca-certificates 20230311-1
 coreutils 8.32-5
 diffutils 3.10-1
 docx2txt 1.4-2
-dos2unix 7.5.1-1
+dos2unix 7.5.2-1
 expat 2.5.0-1
 file 5.45-1
 findutils 4.9.0-3
 gcc-libs 13.2.0-2
-gettext 0.22.4-1
 git-flow 1.12.3-1
 gmp 6.3.0-1
 gmp 6.3.0-1
-gnupg 2.2.42-1
+gnupg 2.4.4-1
 grep 1~3.0-6
 gzip 1.13-1
 heimdal-libs 7.8.0-4
 less 643-1
-libasprintf 0.22.4-1
 libassuan 2.5.6-1
 libbz2 1.0.8-4
-libcbor 0.10.2-1
+libcbor 0.11.0-1
 libcrypt 2.1-5
-libcurl 8.5.0-1
+libcurl 8.6.0-1
 libedit 20221030_3.1-1
 libexpat 2.5.0-1
 libffi 3.4.4-1
-libfido2 1.14.0-1
+libfido2 1.14.0-2
 libgcrypt 1.9.4-2
-libgettextpo 0.22.4-1
-libgnutls 3.8.2-1
+libgnutls 3.8.3-1
 libgpg-error 1.47-2
 libhogweed 3.9.1-1
 libiconv 1.17-1
-libidn2 2.3.4-2
+libidn2 2.3.7-1
 libintl 0.22.4-1
 libksba 1.6.5-1
 liblz4 1.9.4-1
-liblzma 5.4.5-1
+liblzma 5.4.6-2
 libnettle 3.9.1-1
-libnghttp2 1.58.0-1
+libnghttp2 1.59.0-1
 libnpth 1.6-2
-libopenssl 3.1.4-1
+libopenssl 3.2.1-1
 libp11-kit 0.25.3-1
 libpcre 8.45-4
 libpcre2_8 10.42-1
 libpcre2posix 10.42-1
-libpsl 0.21.2-1
-libreadline 8.2.007-1
+libpsl 0.21.5-2
+libreadline 8.2.010-1
 libsasl 2.1.28-3
 libserf 1.3.9-8
-libsqlite 3.44.2-1
+libsqlite 3.45.1-1
 libssh2 1.11.0-1
 libtasn1 4.19.0-1
 libunistring 1.1-2
 libutil-linux 2.35.2-4
 libutil-linux 2.35.2-4
 libxcrypt 4.4.36-1
-libxml2 2.12.3-1
-libxslt 1.1.39-1
 libzstd 1.5.5-1
 mingw-w64-x86_64-antiword 0.37-3
 mingw-w64-x86_64-brotli 1.1.0-1
 mingw-w64-x86_64-bzip2 1.0.8-3
-mingw-w64-x86_64-c-ares 1.24.0-1
+mingw-w64-x86_64-c-ares 1.26.0-1
 mingw-w64-x86_64-ca-certificates 20230311-1
 mingw-w64-x86_64-connect 1.105-4
-mingw-w64-x86_64-curl-winssl 8.5.0-1
-mingw-w64-x86_64-curl-openssl-alternate 8.5.0-1
-mingw-w64-x86_64-curl-winssl 8.5.0-1
+mingw-w64-x86_64-curl-winssl 8.6.0-1
+mingw-w64-x86_64-curl-openssl-alternate 8.6.0-1
+mingw-w64-x86_64-curl-winssl 8.6.0-1
 mingw-w64-x86_64-expat 2.5.0-1
-mingw-w64-x86_64-gcc-libs 13.2.0-3
-mingw-w64-x86_64-gettext 0.22.4-3
-mingw-w64-x86_64-git 2.43.0.windows.1.13.g9cdc4781e4.20231221124616-1
-mingw-w64-x86_64-git-credential-manager 2.4.1-1
-mingw-w64-x86_64-git-doc-html 2.43.0.windows.1.13.g9cdc4781e4.20231221124616-1
+mingw-w64-x86_64-gcc-libs 13.2.0-4
+mingw-w64-x86_64-gettext-runtime 0.22.4-5
+mingw-w64-x86_64-git 2.43.0.windows.1.15.g4dd449d885.20240207205310-1
+mingw-w64-x86_64-git-credential-manager 2.4.1-2
+mingw-w64-x86_64-git-doc-html 2.43.0.windows.1.15.g4dd449d885.20240207205310-1
 mingw-w64-x86_64-git-extra 1.1.636.2db97b993-1
 mingw-w64-x86_64-git-lfs 3.4.1-1
 mingw-w64-x86_64-gmp 6.3.0-2
-mingw-w64-x86_64-gnutls 3.8.2-1
+mingw-w64-x86_64-gnutls 3.8.3-1
 mingw-w64-x86_64-libffi 3.4.4-1
-mingw-w64-x86_64-libiconv 1.17-3
-mingw-w64-x86_64-libidn2 2.3.4-1
-mingw-w64-x86_64-libpsl 0.21.2-4
+mingw-w64-x86_64-libiconv 1.17-4
+mingw-w64-x86_64-libidn2 2.3.7-2
+mingw-w64-x86_64-libpsl 0.21.5-2
 mingw-w64-x86_64-libssh2-wincng 1.11.0-2
 mingw-w64-x86_64-libssh2-wincng 1.11.0-2
 mingw-w64-x86_64-libsystre 1.0.1-5
 mingw-w64-x86_64-libtasn1 4.19.0-1
-mingw-w64-x86_64-libtre-git r128.6fb7206-3
+mingw-w64-x86_64-libtre-git r177.07e66d0-2
 mingw-w64-x86_64-libunistring 1.1-1
-mingw-w64-x86_64-libwinpthread-git 11.0.0.r442.ga27e7b27e-1
+mingw-w64-x86_64-libwinpthread-git 11.0.0.r551.g86a5e0f41-1
 mingw-w64-x86_64-libzip 1.10.1-1
 mingw-w64-x86_64-nettle 3.9.1-1
-mingw-w64-x86_64-nghttp2 1.58.0-1
+mingw-w64-x86_64-nghttp2 1.59.0-1
 mingw-w64-x86_64-odt2txt 0.5-3
-mingw-w64-x86_64-openssl 3.1.4-1
-mingw-w64-x86_64-p11-kit 0.25.3-1
+mingw-w64-x86_64-openssl 3.2.1-1
+mingw-w64-x86_64-p11-kit 0.25.3-2
 mingw-w64-x86_64-pcre 8.45-1
 mingw-w64-x86_64-pcre2 10.42-1
-mingw-w64-x86_64-tcl 8.6.12-2
-mingw-w64-x86_64-tcl 8.6.12-2
+mingw-w64-x86_64-tcl 8.6.13-1
+mingw-w64-x86_64-tcl 8.6.13-1
 mingw-w64-x86_64-tk 8.6.12-2
 mingw-w64-x86_64-wineditline 2.206-1
-mingw-w64-x86_64-xz 5.4.5-1
-mingw-w64-x86_64-zlib 1.3-1
+mingw-w64-x86_64-xz 5.4.6-2
+mingw-w64-x86_64-zlib 1.3.1-1
 mingw-w64-x86_64-zstd 1.5.5-1
 mintty 1~3.7.0-1
 mpfr 4.2.1-1
@@ -116,7 +111,7 @@ nano 7.2-1
 ncurses 6.4-2
 nettle 3.9.1-1
 openssh 9.6p1-1
-openssl 3.1.4-1
+openssl 3.2.1-1
 p11-kit 0.25.3-1
 patch 2.7.6-2
 perl 5.38.2-1
@@ -128,7 +123,7 @@ perl-Error 0.17029-2
 perl-File-Listing 6.16-1
 perl-HTML-Parser 3.81-1
 perl-HTML-Tagset 3.20-3
-perl-HTTP-Cookies 6.10-2
+perl-HTTP-Cookies 6.11-1
 perl-HTTP-Daemon 6.16-1
 perl-HTTP-Date 6.06-1
 perl-HTTP-Message 6.45-1
@@ -153,16 +148,16 @@ perl-libwww 6.72-1
 perl 5.38.2-1
 pinentry 1.2.1-1
 sed 4.9-1
-bash 5.2.021-1
+bash 5.2.026-1
 ssh-pageant 1.4.r15.gc804ba4-1
 subversion 1.14.2-2
 tar 1.35-2
 tig 2.5.8-1
 unzip 6.0-3
-vim 9.0.2143-1
+vim 9.1.0000-1
 which 2.21-4
 winpty 0.4.3-2
-zlib 1.3-1
+zlib 1.3.1-1
 filesystem 2023.02.07-1
 dash 0.5.12-1
 rebase 4.5.0-4

Quite lengthy, to be sure. The most obvious candidates are mingw-w64-x86_64-curl* and mingw-w64-x86_64-openssl. Maybe exchanging /mingw64/bin/libcrypto-3-x64.dll and/or /mingw64/bin/libssl-3-x64.dll "fix" the bug?

@dscho
Copy link
Member

dscho commented Jun 5, 2024

Oh! I just realized something. To combat DLL injection attacks, there is not only a copy of libcurl in /mingw64/bin, but also in /mingw64/libexec/git-core/libcurl-openssl-4.dll. Would you mind exchanging the latter first, before trying anything else? That would be the one picked up by /mingw64/libexec/git-core/git-remote-https.exe, which is the actual workhorse of Git's HTTPS transport...

@tgemvz
Copy link
Author

tgemvz commented Jun 5, 2024

constellation that works, exchanging BOTH files (from v2.43.0 to v2.45.2):

  • mingw64/libexec/git-core/libcurl-openssl-4.dll
  • mingw64/libexec/git-core/libssl-3-x64.dll

without also exchanging libcurl-openssl-4.dll there is another error:
The procedure entry point "SSL_get0_group_name" could not be located in the dynamic link library "C:\PortableGit\2.45.2mod\mingw64\libexec\git-core\libcurl-openssl-4.dll".

@dscho
Copy link
Member

dscho commented Jun 5, 2024

Okay, so it's either the OpenSSL update or the cURL update, and unrelated to any Git changes. I haven't found anything on the cURL bug tracker that might explain this... Can you see anything obvious?

@tgemvz
Copy link
Author

tgemvz commented Jun 5, 2024

Sadly, there is nothing that jumps out to me.
Latest Version of libcurl in git v2.45.2 is libcurl 8.8.0-1

This seemed kind of similar for curl version 8.7.1 (but was "fixed" and the issure closed)
curl/curl#13474

Do you think I should create another Issue in curl/curl and link to here?

@dscho
Copy link
Member

dscho commented Jun 5, 2024

Do you think I should create another Issue in curl/curl and link to here?

It cannot hurt, for sure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants