Regression: Cygwin 3.5.1 freezes when launching several mingw processes in parallel
Takashi Yano
takashi.yano@nifty.ne.jp
Sat Mar 2 04:41:04 GMT 2024
On Fri, 1 Mar 2024 17:48:52 +0000
Kate Deplaix wrote:
> Hi,
>
> Using cygwin 3.6.0-0.66.gc77a5689f7bd I was indeed unable to reproduce the issue.
Thanks for tesing.
> However I'm getting a related but slightly different issue now, where a subprocess randomly (but quite reliably over the whole compilation process) fails with make -j (works fine with -j1 once again)
>
> Luckily i was able to make a really small test-case this time:
> Using MinGW 11.4.0 with the following test.c file:
>
> #define UNICODE
> #define _UNICODE
>
> #include <process.h>
> #include <stdio.h>
>
> int main() {
> int ret = _wsystem(L"x86_64-w64-mingw32-gcc -dumpversion");
> if(ret != 0) printf("FOUND %d\n", ret);
> }
>
> compile using: x86_64_w64-mingw32-gcc ./test.c
> and run using: for i in $(seq 1 100) ; do ./a & done
Thanks for the test case. I tried this test case, however,
I cannot reproduce the second problem, i.e. all 100 processes
exited normally.
To increase system load, I also tried:
#define UNICODE
#define _UNICODE
#include <process.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
wchar_t buf[1024];
swprintf(buf, 1024, L"x86_64-w64-mingw32-gcc test.c -o %s", argv[1]);
int ret = _wsystem(buf);
if(ret != 0) printf("FOUND %d\n", ret);
}
and
#!/bin/sh
for i in $(seq 1 200); do ./a.exe $i & done
but, no error was found...
How many cpu cores and how much memory does your system have?
--
Takashi Yano <takashi.yano@nifty.ne.jp>
More information about the Cygwin
mailing list