Regression: Cygwin 3.5.1 freezes when launching several mingw processes in parallel

Kate Deplaix
Thu Feb 29 18:19:45 GMT 2024


I've been using Cygwin for the past year without any issues, however today I upgraded to Cygwin 3.5.1 from 3.4 and noticed a consistent freeze of every Cygwin processes happening, and there is no way to call a new Cygwin process anymore (e.g. even the terminal doesn't show up) without logging off my user session and logging back on.

Other users and coworkers of mine have noticed this happening too the past couple days (first recorded break was on the 25th, with I presume, Cygwin 3.5.0).

To reproduce this:

make sure you have a fresh installed of cygwin 3.5.1
install the following packages: autoconf, make, patch, curl, mingw64-x86_64-gcc-g++, mingw64-i686-gcc-g++
curl -LO
  *   tar xvf opam-full-2.2.0-beta1.tar.gz
  *   cd opam-full-2.2.0-beta1
  *   make cold

At some point of the make process, one job will infinit loop (taking 100% of one core), while the rest of the mingw jobs will idle and never finish. After some time Cygwin Terminal isn't responsive anymore, and I'm not able to open another one or to spawn any other processes that are relying on the cygwin dll. I was able to observe this behaviour every time i tried consistently.

It was noticed that passing -j1 to all the calls to make in the shell/ script fixes this issue, so I'm guessing this is some kind of multicore scheduling issue.

Given it is the core of our project (the compiler) that makes the whole system freeze and that we were hoping to release this project soon, whose main item in the changelog is Windows support using Cygwin, it is somewhat vital for us for this to be fixed, and while we don't know much of the Cygwin internals/codebase we're ready to help in any ways we can.

Kind regards,

More information about the Cygwin mailing list