[ 
https://issues.apache.org/jira/browse/THRIFT-6276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer resolved THRIFT-6276.
--------------------------------
    Fix Version/s: 0.25.0
       Resolution: Fixed

> 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
>            Priority: Major
>             Fix For: 0.25.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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)

Reply via email to