Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Ok, after some investigation I am starting to think that the issue is with the behavior of accept(). When the apache main forks off its pool of worker procs, each one calls accept() on the socket file descriptor. What I have found is that when the first process in the pool exits (usually due to the max requests being reached) ***none*** of the other pool process return from accept() when the next request comes in on the socket. If I kill off the current pool procs the *first* new one will respond to requests untill the max is recieved again then as before, non of the other pool procs return from accept. Any ideas on how to deal with this? -- Chris - Original Message - From: "Christopher B. Liebman" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Saturday, May 31, 2003 10:26 AM Subject: apache cygwin package hangs when MaxRequestsPerChild reached! > It seems that there is a bug somewhere in the server pool handling in apache > under cygwin, When MaxRequestsPerChild is reached it hangs! Repeat by > setting MaxRequestsPerChild to 5 and making sequental requests... the 6'th > times out. I'm running the latest cygwin and the cygwin apache package. My > server pool config is: > > MinSpareServers 4 > MaxSpareServers 10 > StartServers 5 > MaxClients 150 > MaxRequestsPerChild 5 > > > Anyone have any ideas? > > -- Chris > > > -- > 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/ > -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Hi Christopher, "Christopher B. Liebman" schrieb: > > Ok, after some investigation I am starting to think that the issue is with > the behavior of accept(). When the apache main forks off its pool of worker > procs, each one calls accept() on the socket file descriptor. What I have > found is that when the first process in the pool exits (usually due to the > max requests being reached) ***none*** of the other pool process return from > accept() when the next request comes in on the socket. If I kill off the > current pool procs the *first* new one will respond to requests untill the > max is recieved again then as before, non of the other pool procs return > from accept. Any ideas on how to deal with this? ok, this is a pretty good description of the problem I guess. Let's ask Corinna, Chris et al for their explanation if something in the accept() behaviour *inside* Cygwin changed from 1.3.10+ ?!?!?!? Stipe [EMAIL PROTECTED] --- Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf Tel: +49-211-74845-0 Fax: +49-211-74845-299 E-Mail: [EMAIL PROTECTED] Internet: http://www.wapme-systems.de --- wapme.net - wherever you are -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
On Sun, Jun 01, 2003 at 04:17:06PM -0700, Christopher B. Liebman wrote: > Ok, after some investigation I am starting to think that the issue is with > the behavior of accept(). When the apache main forks off its pool of worker > procs, each one calls accept() on the socket file descriptor. What I have > found is that when the first process in the pool exits (usually due to the > max requests being reached) ***none*** of the other pool process return from > accept() when the next request comes in on the socket. If I kill off the > current pool procs the *first* new one will respond to requests untill the > max is recieved again then as before, non of the other pool procs return > from accept. Any ideas on how to deal with this? I've just applied a patch to Cygwin which hopefully solves that problem. Please try out the next developers snapshot. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developermailto:[EMAIL PROTECTED] Red Hat, Inc. -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Corinna Vinschen schrieb: > > On Sun, Jun 01, 2003 at 04:17:06PM -0700, Christopher B. Liebman wrote: > > Ok, after some investigation I am starting to think that the issue is with > > the behavior of accept(). When the apache main forks off its pool of worker > > procs, each one calls accept() on the socket file descriptor. What I have > > found is that when the first process in the pool exits (usually due to the > > max requests being reached) ***none*** of the other pool process return from > > accept() when the next request comes in on the socket. If I kill off the > > current pool procs the *first* new one will respond to requests untill the > > max is recieved again then as before, non of the other pool procs return > > from accept. Any ideas on how to deal with this? > > I've just applied a patch to Cygwin which hopefully solves that problem. > Please try out the next developers snapshot. great, thanks a lot Corinna! I guess this is the nightly snapshot, right? Stipe [EMAIL PROTECTED] --- Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf Tel: +49-211-74845-0 Fax: +49-211-74845-299 E-Mail: [EMAIL PROTECTED] Internet: http://www.wapme-systems.de --- wapme.net - wherever you are -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
On Mon, Jun 02, 2003 at 07:57:32PM +0200, Stipe Tolj wrote: > Corinna Vinschen schrieb: > > I've just applied a patch to Cygwin which hopefully solves that problem. > > Please try out the next developers snapshot. > > great, thanks a lot Corinna! I guess this is the nightly snapshot, > right? Yes. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developermailto:[EMAIL PROTECTED] Red Hat, Inc. -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Thanks, I'll do a CVS update after work and give it a try! I think that this may also solve others issues with apache not serving for more than a day... cross your fingers! :-) -- Chris - Original Message - From: "Corinna Vinschen" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, June 02, 2003 11:11 AM Subject: Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!) > On Mon, Jun 02, 2003 at 07:57:32PM +0200, Stipe Tolj wrote: > > Corinna Vinschen schrieb: > > > I've just applied a patch to Cygwin which hopefully solves that problem. > > > Please try out the next developers snapshot. > > > > great, thanks a lot Corinna! I guess this is the nightly snapshot, > > right? > > Yes. > > Corinna > > -- > Corinna Vinschen Please, send mails regarding Cygwin to > Cygwin Developermailto:[EMAIL PROTECTED] > Red Hat, Inc. > > -- > 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/ > -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Bingo! ***much*** better. It will be intresting to get some feedback from someone who is running an active web server with apache/cygwin. -- Chris - Original Message - From: "Christopher B. Liebman" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, June 02, 2003 11:19 AM Subject: Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!) > Thanks, >I'll do a CVS update after work and give it a try! I think that this may > also solve others issues with apache not serving for more than a day... > cross your fingers! :-) > > -- Chris > > - Original Message - > From: "Corinna Vinschen" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Monday, June 02, 2003 11:11 AM > Subject: Re: Problem with accept?!! (was: Re: apache cygwin package hangs > when MaxRequestsPerChild reached!) > > > > On Mon, Jun 02, 2003 at 07:57:32PM +0200, Stipe Tolj wrote: > > > Corinna Vinschen schrieb: > > > > I've just applied a patch to Cygwin which hopefully solves that > problem. > > > > Please try out the next developers snapshot. > > > > > > great, thanks a lot Corinna! I guess this is the nightly snapshot, > > > right? > > > > Yes. > > > > Corinna > > > > -- > > Corinna Vinschen Please, send mails regarding Cygwin to > > Cygwin Developermailto:[EMAIL PROTECTED] > > Red Hat, Inc. > > > > -- > > 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/ > > > > > -- > 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/ > -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
"Christopher B. Liebman" wrote: > > Bingo! ***much*** better. It will be intresting to get some feedback > from someone who is running an active web server with apache/cygwin. I do, but it's on top of Cygin 1.3.10-2 because of that damn reason. If I can confirm the fix, I'll upgrade to latest Cygwin snapshot. So which snapshot did you positively tested? Stipe [EMAIL PROTECTED] --- Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf Tel: +49-211-74845-0 Fax: +49-211-74845-299 E-Mail: [EMAIL PROTECTED] Internet: http://www.wapme-systems.de --- wapme.net - wherever you are -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
"Christopher B. Liebman" wrote: > > Bingo! ***much*** better. It will be intresting to get some feedback > from someone who is running an active web server with apache/cygwin. I definelty can *confirm* this has fixed the *long outstanding apache hanging problem* :) puh, I thought realy at some point it was up to apache ;) Corinna, thanks a lot! Could you please mark the section which you changed in CVS very good via comments so there comes none of the other commiters and bounced things back into nirvana?! Gerrit, this may be also solving our mysql problems?! At least I had mysql running on cygwin 1.3.10-2 (which was the same old version for my apache server). I could bet a dozen of guiness that we'll get mysql to run with this fix too ;) Stipe [EMAIL PROTECTED] --- Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf Tel: +49-211-74845-0 Fax: +49-211-74845-299 E-Mail: [EMAIL PROTECTED] Internet: http://www.wapme-systems.de --- wapme.net - wherever you are -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
BTW, I guess this is a good reason for having Cygwin 1.3.22-2 (or .23-1) released?! I'd like to update then the whole Apache packages, including a fresh php build with additional php modules, etc. Stipe [EMAIL PROTECTED] --- Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf Tel: +49-211-74845-0 Fax: +49-211-74845-299 E-Mail: [EMAIL PROTECTED] Internet: http://www.wapme-systems.de --- wapme.net - wherever you are -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Stipe schrieb: > Gerrit, this may be also solving our mysql problems?! At least I had > mysql running on cygwin 1.3.10-2 (which was the same old version for > my apache server). I could bet a dozen of guiness that we'll get mysql > to run with this fix too ;) I hope so too. Well it crashed freqquently with the old DLL too, but at least it was possible to run the testsuite. Since it seems that it is a runtime problem and not a compiletime problem I'll try to run MySQL server with the snapshot Cygwin version. Another problem with the latest snapshots was that I cannot build perl with it, so upgrading cygwin-1.3.22 with only this one bug fixed would be really great (and leave the whole rest in CVS). Gerrit -- =^..^= -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
On Tue, Jun 03, 2003 at 11:47:55AM +0200, Gerrit P. Haase wrote: > Another problem with the latest snapshots was that I cannot build perl > with it, I wonder if it wouldn't be more productive to write *why* it fails to build... > so upgrading cygwin-1.3.22 with only this one bug fixed would > be really great (and leave the whole rest in CVS). This will not happen. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developermailto:[EMAIL PROTECTED] Red Hat, Inc. -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Corinna schrieb: > On Tue, Jun 03, 2003 at 11:47:55AM +0200, Gerrit P. Haase wrote: >> Another problem with the latest snapshots was that I cannot build perl >> with it, > I wonder if it wouldn't be more productive to write *why* it fails to > build... I don't know why it fails. I just see that the first simple test to execute a perl statement with miniperl.exe (static perl binary) fails. Since miniperl is used to build the rest of perl (the shared core and all the modules) I cannot build perl. I haven't debugged it yet. I'll need to debug it, I know. Gerrit -- =^..^= -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
On Tue, Jun 03, 2003 at 12:45:48PM +0200, Gerrit P. Haase wrote: > Corinna schrieb: > > > On Tue, Jun 03, 2003 at 11:47:55AM +0200, Gerrit P. Haase wrote: > >> Another problem with the latest snapshots was that I cannot build perl > >> with it, > > > I wonder if it wouldn't be more productive to write *why* it fails to > > build... > > I don't know why it fails. I just see that the first simple test to > execute a perl statement with miniperl.exe (static perl binary) fails. > Since miniperl is used to build the rest of perl (the shared core and > all the modules) I cannot build perl. > > I haven't debugged it yet. I'll need to debug it, I know. Hint: Be careful to strictly separate your building environment in two parts, one with libcygwin.a and the headers from 1.3.22 (for building 1.3.x compatible applications) and one with libcygwin.a and the headers from the snapshot (building non-compatible 64 bit applications which only run under the latest (1.5.0) snapshots so far). If you only install the DLL and libcygwin.a from the snapshot but don't replace the header files, too, the resulting applications are very good candidates for crashing. Applications build with new headers but with the old libcygwin.a as well. Headers and stub library must match to work. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developermailto:[EMAIL PROTECTED] Red Hat, Inc. -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
Corinna schrieb: >> I haven't debugged it yet. I'll need to debug it, I know. > Hint: > Be careful to strictly separate your building environment in two parts, [...] Thanks, I already had trouble with this issue, 'entry point not found...'. Well, at least the most applications built with an older Cygwin version are running with the 1.5 snapshot (besides my own Apache which segfaults...). Gerrit -- =^..^= -- 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/
Re: Problem with accept?!! (was: Re: apache cygwin package hangs when MaxRequestsPerChild reached!)
On Mon, Jun 02, 2003 at 07:41:02PM -0700, Christopher B. Liebman wrote: > Bingo! ***much*** better. It will be intresting to get some feedback > from someone who is running an active web server with apache/cygwin. Would you mind to check out the latest from CVS and test it again? Thomas Pfaff had a critical look into my solution and after some mulling over the code we have an entirely new way to do blocking accepts and connects. It's probably somewhat slower than yesterday but in contrast to yesterday, this new solution doesn't lose two system handles per interrupted call. Thanks in advance, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developermailto:[EMAIL PROTECTED] Red Hat, Inc. -- 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/