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: Failure with fork()


On Jun 27 07:20, Ryan Johnson wrote:
> On 27/06/2013 5:35 AM, Arjen Markus wrote:
> >Hello,
> >
> >the bug I am reporting here on behalf of Alan Irwin surfaced in the
> >combination wine and Cygwin (Alan summarised it here:
> >http://www.winehq.org/pipermail/wine-devel/2013-June/100328.html). It
> >has to do with the way Cygwin handles forks.
> >
> >The bug can be illustrated with this small program:
> >
> >int main(void) {
> >     while(!fork());
> >     return 0;
> >}
> >
> >It is meant to enable infinite forking, but on Cygwin it immediately
> >stops. I tried
> >it on both Cygwin (not via wine but simply Windows 7) and Linux:
> >- On Linux the program continues without any problem
> >- On Cygwin it stops immediately with an error message that the child process
> >   terminated unexpectedly with some weird return code.
> >
> >Can anyone shed light on this? This bug is a showstopper for the
> >combination wine and Cygwin.
> Out of curiosity, why do you need a fork bomb? Does the script just
> capture the effect of multiple fork calls in quick succession? How
> many forks can you pull off before it croaks, and is that number
> consistent from run to run? I'd be shocked if it really died
> "immediately" -- as in "zero forked children" -- so it would be
> interesting to see if the issue is related to the number of fork
> calls (resource exhaustion of some kind), or just to how quickly
> they run back to back (data race of some kind).

It dies after somewhat below 500 forks and I think I found the reason.
Stay tuned.


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


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