msys2-runtime: Update to 3.6.10 - #6445
Conversation
|
@lazka thank you for taking care of this. I planned on doing it myself, but first wanted to chase down a strange bug in Git for Windows' fork of the MSYS2 runtime (which I suspected affected also MSYS2's own variant of v3.6.10, but have now confirmed is absent from it). |
|
I encountered this problem msys2/msys2-runtime#349 when running GCC tests. Maybe it has something to do with it. |
Does it happen only recently in 3.6.10? I think I used to see the zombie process issue intermittently when I tried maximizing/minimizing the mintty window a few times, but with 3.6.10 it almost always happens. By the way, other packages seem unaffected. Not sure what is so weird about GCC. |
|
Yes my issue only started to happen in 3.6.10. It's probably different from yours then. |
|
My guess is that the many changes to the way non-MSYS processes are spawned leads to this. @oltolm @lhmouse any chance you can bisect this? For your convenience, I cherry-picked the v3.6.10 commits on top of msys2-3.6.9: https://github.com/dscho/msys2-runtime/commits/refs/heads/cherry-pick-3.6.10-onto-3.6.9, with a workflow that builds all of the intermediate revisions individually and uploads them as build artifacts: https://github.com/dscho/msys2-runtime/actions/runs/29911710869. That way, you should be able to bisect without having to pay the price of building the MSYS2 runtime locally (at the expense of GitHub, which pays for these kinds of one-off workflow runs). The build is roughly half-way done at time of writing. |
|
@dscho It seems that no files have been uploaded.
|
While the parent of this commit is tree-same to msys2-3.6.10, it is not identical because instead of rebasing MSYS2's patches on top of cygwin-3.6.10, it does it the other way round, ready for bisecting an issue identified in msys2/MSYS2-packages#6445 (comment). Note: two commits were skipped because msys2-3.6.9 already had backports of them. The output of this workflow run has the testable intermediate builds of the MSYS2 runtime, so that the problem can be bisected down to the offending commit without requiring a local build setup. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Ooops, sorry. I misinterpreted the importance of the "Install" step. Here's a new build: https://github.com/dscho/msys2-runtime/actions/runs/29921797049 |
|
So I tested the very first commit and it was already bad. For some reason I didn't have the problem before, but it was not introduced by 3.6.10. I tried debugging a little with the help of Codex and this is what it came up with. Subject:
|
|
@dscho The tests are complete now: #6445 (comment) |
Just to make sure: By "8", you are referring to the artifact @oltolm just so we're on the same page, by "MSYS/Expect" you're referring to https://packages.msys2.org/base/expect, right? @tyan0 does any of this ring a bell? |
I think so; it's install-8. |
Yes. |
|
After this update I ended up w/ a borked MSYS2 installation, none of the launchers work: Edit: never mind, works after Windows update and restart?! |
|
I deleted the patches, because they didn't really work. |
|
Testing 3.6.10-4 now. |
|
Mine is not fixed either. |
|
@lhmouse @oltolm thanks for checking. I think this might be related to git-for-windows/git#6387 and/or msys2/msys2-runtime#351. |
|
I spent some quality time with the reproducer of msys2/msys2-runtime#351 and believe that the tireless @tyan0 has already tackled this problem. The patch in question is still under discussion, but to see whether it promises to address the hang you reported, I opened msys2/msys2-runtime#364. @lhmouse would you mind testing the |
|
Same; but this time there's only one zombie process so I suspect it has something to do with the issue.
|
|
Thanks for testing! I will look further into the issue as time allows. |
|
@lhmouse I added a fixup (probably still not the final form, but it's designed to work around the bug at least). Could you test the latest |
Perfect! This seems to solve the issue. |
|
@lhmouse excellent! Thanks for testing! |
|
|
Could you maybe spend the effort to turn that into a repeatable reproducer that somebody else can work with? This investigation already cost me several dozens of hours, throwing bones my way to force me to spend more hours merely trying to replicate your finding isn't the kindest thing I wanted to read on a Friday afternoon just before a well-needed weekend. |
|
I just stated situation. I have 2 machines with Windows 11, on one it works, on second not. I tried to clean .gnupg folder, it works till first import of key. After install noticed here I tried to perform clean install of June version from site, but it hangs during installation. |
@delagen then I'll state my situation hopefully more plain than I did before: I am working my butt off to address the issues raised in this discussion, and it's not easy, it is in fact quite difficult, and getting a report about something that is supposed to be related but so frustratingly scarce and non-forthcoming with information about a potential reproducer is just adding to my stress level. This is unhealthy for me, so I will ignore you going forward unless you end up stating more than a situation and coming up with a complete and helpful description how to replicate your finding. @lhmouse I'm truly sorry to bother you once more with a request to test: msys2/msys2-runtime#366 is backporting two patches from the |
|
@dscho I understand your pain. But I don't know how to help ( . Excuse me |
|
Testing https://github.com/msys2/msys2-runtime/actions/runs/35215252318 It's 00:29 here so I'll reply tomorrow, ~12 hrs later from now. |
This also works well. |
|
@lhmouse one more test, please: msys2/msys2-runtime#368? I'd love to merge this PR as-is, except if testing encounters blocking issues. |
|
Trying this now: https://github.com/msys2/msys2-runtime/actions/runs/35989894658 |
This also works without issues. |
|
-> #6717 |
* msys2-runtime: Fix bugs causing hangs This Pull Request backports three changes. The first one is a prerequisite for the second, and the third is also needed to fix those bugs that caused hangs that I first saw reported in #6445: 1. `c892dfe93e`: the [complete prerequisite](cygwin/cygwin@bbd3710), including the companion `dtable.cc` standard-handle change. 2. `92c1e00a38`: [console-mode v18](https://inbox.sourceware.org/cygwin-patches/20260919004709.26360-1-takashi.yano@nifty.ne.jp/), including reconciliation on signal and read-retry paths. 3. `c770e1b9fa`: [owner-exit v5](https://inbox.sourceware.org/cygwin-patches/20260923223230.3504-1-takashi.yano@nifty.ne.jp/), including the processed-input fallback for an unavailable console master. I verified that these patches are enough to address the hangs demonstrated by the reproducer provided in msys2/msys2-runtime#351. This fixes msys2/msys2-runtime#351 This corresponds to msys2/msys2-runtime#368 * msys2-runtime: fix pkgrel Ooops! My script has a bug! Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com> --------- Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com>
* msys2-runtime: Fix bugs causing hangs This Pull Request backports three changes. The first one is a prerequisite for the second, and the third is also needed to fix those bugs that caused hangs that I first saw reported in msys2/MSYS2-packages#6445: 1. `c892dfe93e`: the [complete prerequisite](cygwin/cygwin@bbd3710), including the companion `dtable.cc` standard-handle change. 2. `92c1e00a38`: [console-mode v18](https://inbox.sourceware.org/cygwin-patches/20260919004709.26360-1-takashi.yano@nifty.ne.jp/), including reconciliation on signal and read-retry paths. 3. `c770e1b9fa`: [owner-exit v5](https://inbox.sourceware.org/cygwin-patches/20260923223230.3504-1-takashi.yano@nifty.ne.jp/), including the processed-input fallback for an unavailable console master. I verified that these patches are enough to address the hangs demonstrated by the reproducer provided in msys2/msys2-runtime#351. This fixes msys2/msys2-runtime#351 This corresponds to msys2/msys2-runtime#368 * msys2-runtime: fix pkgrel Ooops! My script has a bug! Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com> --------- Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com> Source: msys2/MSYS2-packages@bca80c8
In the MSYS2 project, there were several reports of newly-introduced hangs, e.g. msys2/msys2-runtime#351 and msys2/MSYS2-packages#6445 (comment). It took a good while to figure out how to fix this properly, with two separate fixes needing 18 and 5 iterations, respectively, on the cygwin-patches mailing list. This branch merges [MSYS2 runtime PR #368](msys2/msys2-runtime#368). The sole `dtable.cc` conflict preserves GFW's pcon-backed PTY detection and genuine console handles. Separately, tests running in CI builds are added that replicate the reproducer of issue 351 and a separate Ctrl+C test that covers [Takashi's pipeline scenario](https://inbox.sourceware.org/cygwin-patches/20260923105326.d57b0710f1519e32b9c5d496@nifty.ne.jp/): the Cygwin sleeper must be interrupted via Ctrl+C even when the native side owns console input. The original DLL already passed this test, so it protects against regressions in this existing behavior.



msys2/msys2-runtime#347