This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: WFSO timed out after longjmp, data pass 3 failed


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]