Dirk Reiners wrote: > What does WFSO mean, and is there any way to change the timeout? It > seems to be not fully reproducible, sometimes it works, which might > depend on other things going on on the system that slow down the process > more or less. Therefore if I can extend the timeout somewhat I hope I > can get rid of this.
Disclaimer: There's a good chance that I'm way off base with the following. WFSO stands for WaitForSingleObject and the error means that something went wrong during the dance that parent and child processes perform in the fork emulation code. To emulate fork(), the parent starts the child, waits for it to initialize, and then the child blocks (using WFSO) on a semaphore while the parent copies over all its data onto the child. The parent is then supposed to signal the child to wake up again after it's done copying all these sections (heap, stack, etc.) The child needs a timeout for this wait, in case the parent flakes out for some reason. But if it does wake up on account of this timeout, there's a serious problem and all it can really do is exit, which is what you're seeing. The parent was apparently still copying (in pass 3) when this happened, and so the copying failed with errno 5 (Access denied) as the child has terminated. The timeout is 5 minutes, and it's hard to imagine that copying over those sections would take anywhere near long, but I suppose if the system is heavily taxed then it's conceivable that the parent might be starved for CPU by a higher priority process and not complete in time. But that's really a stretch. If this is the case then it should be intermittent, and not occur unless the system is very busy. You should try the latest cygwin DLL snapshot, and try rebasing (though I dunno if that would affect this or not.) Brian -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/