[cvise] fork failures in parallel execution
Description / Steps to reproduce the issue
Using more then one thread for execution causes lots of fork errors. Works fine with single thread --n 1, presumably because there is inter process communication or alike.
Errors like
0 [main] bash (1552) child_copy: cygheap read copy failed, 0x800000000..0x80000BBF0, done 0, windows pid 1552, Win32 error 299
242 [main] bash 221 child_copy: dll data read copy failed, 0x180246000..0x18025FC90, done 0, windows pid 1552, Win32 error 299
346 [main] bash 221 E:\MSYS\usr\bin\bash.exe: *** fatal error in forked process - couldn't create signal pipe, Win32 error
0 [main] sha256sum (20568) child_copy: cygheap read copy failed, 0x800000000..0x80000D8F0, done 0, windows pid 20568, Win32 error 299
I tried disabling ASLR, but didn't help. This might be me issue, but I never seen issues until now, so I would like your help on this topic.
Expected behavior
No errors.
Actual behavior
Errors.
Verification
- [x] I have verified that my MSYS2 is up-to-date before submitting the report (see https://www.msys2.org/docs/updating/)
Windows Version
MINGW64_NT-10.0-26100
MINGW environments affected
- [x] MINGW64
- [ ] MINGW32
- [ ] UCRT64
- [ ] CLANG64
- [ ] CLANGARM64
Are you willing to submit a PR?
No response
I still don't know exactly why this happens. But my reproducer has big array in .bss section. Which likely causes big memory mapping space needed. Maybe some sort of OOM, but it's not near to real system memory commit limit.
Though, I in other cases there is no issues, so likely this is not directly cvise related.
You don't have to use a bash script. I use cvise with batch/cmd scripts.
did you compile on msys/cygwin or mingw?
windows doesn't really support fork, could you use spawn instead?