You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2026/09/16 20:11:00 UTC
[jira] [Created] (THRIFT-6276) AppVeyor MINGW job fails when one MSYS2 mirror drops a signature download
Jens Geyer created THRIFT-6276:
----------------------------------
Summary: AppVeyor MINGW job fails when one MSYS2 mirror drops a signature download
Key: THRIFT-6276
URL: https://issues.apache.org/jira/browse/THRIFT-6276
Project: Thrift
Issue Type: Bug
Components: Build Process
Reporter: Jens Geyer
Assignee: Jens Geyer
The MINGW job in {{appveyor.yml}} brings MSYS2 up to date with {{pacman}} before it builds anything ({{build/appveyor/MINGW-appveyor-full.bat}}). MSYS2 on the AppVeyor image is old, so the second {{pacman -Syu}} is a full system upgrade, currently 193 packages and 414 MiB. When a single download in it fails, {{pacman}} abandons the whole transaction, and the job goes red before compiling anything.
The file that fails is always a signature. {{pacman}} tries a package on each mirror in its list in turn, but requests the package's {{.sig}} only from the mirror that served the package, with no other server to fall back on ({{lib/libalpm/dload.c}} in pacman 6.1.0). One reset connection or a ten-second stall on that mirror therefore ends the transaction:
{noformat}
error: failed retrieving file 'libnettle-4.0-1-x86_64.pkg.tar.zst.sig' from us.mirrors.cicku.me : Recv failure: Connection reset by peer
error: failed to commit transaction (unexpected error)
{noformat}
{noformat}
error: failed retrieving file 'mingw-w64-i686-gcc-16.2.0-3-any.pkg.tar.zst.sig' from ftp2.osuosl.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
error: failed to commit transaction (download library error)
{noformat}
The MINGW job failed this way in AppVeyor builds 54721340, 54721515, 54729139 and 54733215, four of the last 40 builds. Build 54712971 failed the same way on a database signature ({{clang64.db.tar.zst.sig}}). In the two most recent cases all five MSVC jobs passed:
* [https://ci.appveyor.com/project/ApacheSoftwareFoundation/thrift/builds/54729139/job/76hwcbg737sy7w0x]
* [https://ci.appveyor.com/project/ApacheSoftwareFoundation/thrift/builds/54733215/job/ue5u77tkyxo9bkgu]
Proposed fix: make up to three attempts at each {{pacman}} call. {{pacman}} keeps completed downloads in its cache, so a retry fetches little beyond what failed. The retry has to be done in cmd rather than in a bash loop, because the core system upgrade in the first {{pacman -Syu}} ends by closing every other MSYS2 process with {{taskkill}}.
{{build/appveyor/MSYS-appveyor-full.bat}} contains the same calls, but no job uses it, and it exits before reaching them.
_Drafted with AI assistance (Claude Opus 5); reviewed and posted by Jens Geyer._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)