Installer freezes in windows-2022 GitHub Action

Michele Locati michele@locati.it
Tue Oct 22 08:01:37 GMT 2024


Il giorno mar 22 ott 2024 alle ore 06:28 Brian Inglis via Cygwin
<cygwin@cygwin.com> ha scritto:
> I typically use wget -N -nv for downloads, without any issues for decades, on
> any service.

Hello Brian,

thanks for the reply!

It seems the problem occurs when we require the same URL from the same
IP multiple times.
This occurs for example in GitHub Actions, where the cygwin server
sees just one or few IPs for the whole GitHub system).

You can "simulate" it by using curl (or wget or any tool you prefer)
by forcing the download of the same file multiple times.
Consider for example the following script:


#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
url=https://cygwin.com/setup-x86_64.exe
filename="$(basename "$url")"
printf 'Downloading %s multiple times (press Ctrl+C to stop)\n' "$url"
while :; do
    wget -N -nv $url
    size=$(cat "$filename" | wc -c)
    rm "$filename"
    printf 'Actual size: %s\n\n' $size
    sleep 1
done

Please remark that I used wget like you wrote, with the difference
that I delete the downloaded file before performing another wget call.
This "simulates" different wget calls from different PCs, but seen by
cygwin.com always with the same IP.

I always have results similar to the following:

Downloading https://cygwin.com/setup-x86_64.exe multiple times (press
Ctrl+C to stop)
2024-10-22 09:52:10 URL:https://cygwin.com/setup-x86_64.exe
[1407507/1407507] -> "setup-x86_64.exe" [1]
Actual size: 1407507

2024-10-22 09:52:14 URL:https://cygwin.com/setup-x86_64.exe
[1407507/1407507] -> "setup-x86_64.exe" [1]
Actual size: 1407507

2024-10-22 09:52:16 URL:https://cygwin.com/setup-x86_64.exe [0/0] ->
"setup-x86_64.exe" [1]
Actual size: 0

2024-10-22 09:52:18 URL:https://cygwin.com/setup-x86_64.exe [0/0] ->
"setup-x86_64.exe" [1]
Actual size: 0

2024-10-22 09:52:20 URL:https://cygwin.com/setup-x86_64.exe [0/0] ->
"setup-x86_64.exe" [1]
Actual size: 0

2024-10-22 09:52:22 URL:https://cygwin.com/setup-x86_64.exe [0/0] ->
"setup-x86_64.exe" [1]
Actual size: 0

2024-10-22 09:52:24 URL:https://cygwin.com/setup-x86_64.exe [0/0] ->
"setup-x86_64.exe" [1]
Actual size: 0

2024-10-22 09:52:26 URL:https://cygwin.com/setup-x86_64.exe [0/0] ->
"setup-x86_64.exe" [1]
Actual size: 0

^C


I tried the script above on:
- WSL from my home PC
- WSL from my office PC
- bare metal Linux located in my office LAN
- DigitalOcean droplet located in New York
- DigitalOcean droplet located in Amsterdam
- VPS hosted on Aruba located in Italy
- Amazon Lightsail located in Frankfurt

And I always have similar results...

Ciao,
Michele


More information about the Cygwin mailing list