On Jul 23 13:28, Daniel Brown wrote: > I've wiped my old version of Cygwin and installed it fresh on my computer > and 1.7.21 doesn't work for me, either 32 or 64 bit. I have tried a > Win 7 x86 > virtual machine and it worked, on a Win 8 x86 virtual machine though I see > the same error. Therefore I guess it is a Windows 8 issue unless you are > running it?
Yes, Windows 8/64 is my major test machine. > > I tried replacing the cygwin1.dll with the latest snapshots 1.7.22s x86 > and that still had the fork error. I have also tried running in safe > mode and > stopping all my anti-virus software just incase that was interfering > somehow. > So I get as an output now... > > Daniel@XPS15z ~ > $ uname -r > 1.7.22s(0.268/5/3) > > Daniel@XPS15z ~ > $ ./a.exe > I'm an openmp thread... > I'm an openmp thread... > I'm an openmp thread... > I'm an openmp thread... > Parent fork 1 [main] a 5832 C:\cygwin\home\Daniel\a.exe: *** fatal > error in forked process - failed > to create new win32 semaphore, currentvalue -2, Win32 error 87 > > However if I reduce the number of threads from 4 to 2 with: > > #pragma omp parallel num_threads(2) > { > printf("I'm an openmp thread...\n"); > } Ah, now there's something different. If I set the number of threads to 4, I can reproduce this problem almost every try with currentvalue -2, occassionally with currentvalue -1. > Looking at the source in thread.cc _fixup_after_fork() the win32 > error 87 is ERROR_INVALID_PARAMETER > which is due to currentvalue < 0. > > My only guess is that there is a race condition on the > currentvalue-- operations perhaps? Apparently. I investigate... Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple