{"author":"Viktor Szakats","author_email":"commit@vsz.me","author_time":1738885595,"commit_time":1738892649,"committer":"Viktor Szakats","committer_email":"commit@vsz.me","hash":"1bf774df57e873d08f0c6e525e6ec3a0f6e62bce","message":"GHA/windows: mitigate drastic runtests perf drop under MSYS2\n\nToday GHA Windows runner images (all versions) deployed an upgrade\n(20250127.1.0 -> 20250203.1.0) that upgraded the default MSYS2, which\nnow seems to feature the October 2024 issue that caused curl runtests\nrun times increasing ~2.5x. It also causes test987 to fail, and vcpkg\njobs hitting their time limits and fail. Reliability also got a hit.\n\nIn October this issue came with a Git for Windows upgrade, and likely\nthe MSYS2 runtime update within it. It affected vcpkg jobs only, and\nI mitigated it by switching them to use the default MSYS2 shell and\nruntime (at `C:\\msys64`):\n\n5f9411f953f35ca84645b5a6824fb9fef20887ed #15380\n\nAfter today's update this mitigation no longer works. The issue also\naffects `dl-mingw` jobs now, though to a lesser extent than vcpkg ones.\n\nTried switching back to Git for Windows which received several updates\nsince October, but the performance issue is still present.\n\nI managed to mitigate the slowdown in vcpkg by lowering test parallelism\nto `-j4` (from `-j8`), after which the jobs are about *half the speed*\nthan before, and fit their time limits. `dl-mingw` builds run slower by\n1-1.5 minutes per job, they were already using `-j4`.\n\nExample jobs:\n\nBefore (ALL GOOD):\nhttps://github.com/curl/curl/actions/runs/13167230443/job/36750175428 installed MSYS2, mingw (-j8): 3m50s (OK)\nhttps://github.com/curl/curl/actions/runs/13167230443/job/36750158662 default MSYS2, dl-mingw (-j4): 4m22s (OK)\nhttps://github.com/curl/curl/actions/runs/13167230443/job/36750163392 default MSYS2, vcpkg (-j8): 3m27s (OK)\nrunner: https://github.com/actions/runner-images/blob/win22/20250127.1/images/windows/Windows2022-Readme.md\nC:\\msys64:\nSystem: MSYS_NT-10.0-20348 fv-az1115-916 3.5.4-0bc1222b.x86_64 2024-12-05 09:27 UTC x86_64 Msys\nhttps://github.com/msys2/msys2-runtime/commit/0bc1222b\n\nAfter:\nhttps://github.com/curl/curl/actions/runs/13186498273/job/36809747078 installed MSYS2, mingw (-j8): 3m48s (OK)\nhttps://github.com/curl/curl/actions/runs/13186498273/job/36809728481 default MSYS2, dl-mingw (-j4): 5m56s (SLOW)\nhttps://github.com/curl/curl/actions/runs/13186498273/job/36809736429 default MSYS2, vcpkg (-j8): 9m1s (SLOW)\nrunner: https://github.com/actions/runner-images/blob/win22/20250203.1/images/windows/Windows2022-Readme.md\nC:\\msys64:\nSystem: MSYS_NT-10.0-20348 fv-az1115-498 3.5.7-2644508f.x86_64 2025-01-30 09:08 UTC x86_64 Msys\nhttps://github.com/msys2/msys2-runtime/commit/2644508f\n\nwindows-2025 image:\nC:\\msys64:\nSystem: MSYS_NT-10.0-26100 fv-az2043-515 3.5.7-2644508f.x86_64 2025-01-30 09:08 UTC x86_64 Msys\n\nwindows-2019 image:\nC:\\msys64:\nSystem: MSYS_NT-10.0-17763 fv-az1434-677 3.5.7-2644508f.x86_64 2025-01-30 09:08 UTC x86_64 Msys\n\nThis PR:\nfinal: https://github.com/curl/curl/actions/runs/13186498273/job/36809736429 GfW, vcpkg (*-j4*): ~7m (SLOW)\ntest: https://github.com/curl/curl/actions/runs/13187992987/job/36814644852?pr=16217, GfW, vcpkg (-j8): ~11m (SLOWER)\n\nBefore and after (unused) Git for Windows (SLOW as tested in this PR):\nC:\\Program Files\\Git\nSystem: MINGW64_NT-10.0-20348 fv-az1760-186 3.5.4-395fda67.x86_64 2024-11-25 09:49 UTC x86_64 Msys\nhttps://github.com/msys2/msys2-runtime/commit/395fda67 (fork)\n\nBefore and after (used) MSYS2 installed via msys2/setup-msys2 (OK):\nD:\\a\\_temp\\msys64\nSystem: MINGW64_NT-10.0-20348 fv-az836-378 3.5.4-0bc1222b.x86_64 2024-12-05 09:27 UTC x86_64 Msys\n\nPerl pipe issue report from October, still open:\nhttps://github.com/msys2/msys2-runtime/issues/230\nARM deadlock fixed by GfW 2.47.1(1), but for x86_64, on a quick glance:\nhttps://github.com/msys2/msys2-runtime/commit/290bea94d0d5c632c016f916a7b123a260fc02a8\nPossibly interesting:\nhttps://github.com/msys2/msys2-autobuild/issues/62\n\nCloses #16217\n","parents":["fb70812437ad28b74dbdc1031e46c1d86bc9db3c"],"tree_hash":"5e19844200188bd1fd95c5fc20d33dcb661ccd0e"}