On Jul 11 11:07, yoni levi wrote: > Hi, > > We have a problem with fork for a very long time. > From time to time, fork just hangs (with 2 process doing busy loop). > The problem occurs when we do allot of spawns (make system). > It is very easy to recreate the problem, but unfortunately, there is > too much code involve to send. > > I did a little investigation - when the process hangs, I took the > backtrace with process explorer. > Process explorer does not know anything about cygwin debug symbols, > so it just give an arbitrary func + offset. > Then I used gdb to find out the real function: sync_proc_pipe doing > yield in an endless loop. > > It seems that there is a race condition here, since this error > depends on timing. when the CPU is very busy (e.g. when > I do while((1)); do true; done X 4 times), the frequency of the > problem is reduced. > > I dug a little bit in the mailing list and found many references to > fork failure. I belive this one is similar to my problem - > http://cygwin.com/ml/cygwin/2011-04/msg00066.html > > I also saw all the work done around fork lately > (http://old.nabble.com/Re%3A-Improvements-to-fork-handling-td31594702.html) > so I tried to use the latest cygwin from CVS. > This acctualy was very helpful, and this error disappear. the > problem is that many other errors/crashes are introduced! > Many perl scripts stopped working, rxvt crashes from time to time, > gcc fails with no good reason and more.
I'm using the latest from CVS all the time and I'm not seeing any such problems. > I will appreciate any advice, how can I solve this problem. Simple, self-contained testcases, preferredly in plain C, or simple scripts in case the problem only occurs in a script language, which allow to reproduce the problem. Those would be most helpful. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader 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