Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20030320145459.72246.qmail@web10009.mail.yahoo.com> Date: Thu, 20 Mar 2003 06:54:59 -0800 (PST) From: "Mike W." Subject: Re: No PIDs left, failure to fork, child state waiting for longjmp AND ps FAILS To: cygwin AT cygwin DOT com In-Reply-To: <20030319231105.7413.qmail@web10005.mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I notice another thing about when the errors begin to cascade; the ps command fails also momentarily, then works again! Here is what I could see in two terminal windows; the first was running the command "./configure --with-perl=/usr/bin/perl --enable-shared" in /usr/local/src/ImageMagick-5.5.6 the second was running "ps -af" from time to time. Notice that ps fails. First terminal output: checking for gs mono device... pbmraw checking for gs PDF writing device... pdfwrite checking for gs PS writing device... pswrite checking for gs EPS writing device... epswrite checking for perl... /usr/bin/perl configure: creating ./config.status config.status: creating Makefile config.status: creating magick/Makefile config.status: creating coders/delegates.mgk config.status: creating coders/Makefile config.status: creating utilities/Makefile config.status: creating tests/Makefile config.status: creating coders/type.mgk config.status: creating coders/type-ghostscript.mgk config.status: creating coders/type-windows.mgk config.status: creating coders/type-solaris.mgk config.status: creating ltdl/Makefile config.status: creating magick/Magick-config config.status: creating Magick++/bin/Makefile config.status: creating Magick++/bin/Magick++-config config.status: creating Magick++/Makefile 6 [main] bash 36764 sync_with_child: child 36784(0xF8) died before initial ization with status code 0x80 304 [main] bash 36764 sync_with_child: *** child state waiting for longjmp ./config.status: fork: Resource temporarily unavailable 5 [main] bash 36768 sync_with_child: child 36836(0xE8) died before initial ization with status code 0x80 308 [main] bash 36768 sync_with_child: *** child state waiting for longjmp ./config.status: fork: Resource temporarily unavailable config.status: creating Magick++/lib/Makefile 6 [main] bash 36856 sync_with_child: child 36864(0xE8) died before initial ization with status code 0x80 285 [main] bash 36856 sync_with_child: *** child state waiting for longjmp ./config.status: fork: Resource temporarily unavailable 6 [main] bash 33412 sync_with_child: child 36804(0x1AC) died before initia lization with status code 0x80 310 [main] bash 33412 sync_with_child: *** child state waiting for longjmp ./config.status: fork: Resource temporarily unavailable 9349 [main] bash 33412 sync_with_child: child 36844(0x1A4) died before initia lization with status code 0x80 9650 [main] bash 33412 sync_with_child: *** child state waiting for longjmp ./config.status: fork: Resource temporarily unavailable 21988 [main] bash 33412 sync_with_child: child 36860(0x1C0) died before initia lization with status code 0x80 22282 [main] bash 33412 sync_with_child: *** child state waiting for longjmp ./config.status: fork: Resource temporarily unavailable 31459 [main] bash 33412 sync_with_child: child 36868(0x190) died before initia lization with status code 0x80 31752 [main] bash 33412 sync_with_child: *** child state waiting for longjmp ./config.status: fork: Resource temporarily unavailable 6 [main] bash 3024 sync_with_child: child 36876(0x190) died before initial ization with status code 0x80 298 [main] bash 3024 sync_with_child: *** child state waiting for longjmp ./configure: fork: Resource temporarily unavailable 11017 [main] bash 3024 sync_with_child: child 36880(0x208) died before initial ization with status code 0x80 11311 [main] bash 3024 sync_with_child: *** child state waiting for longjmp ./configure: fork: Resource temporarily unavailable Second terminal window, showing ps command from time to time: WESTMWJ 09:09:28 /cygdrive/c/Documents and Settings/westmwj/My Documents > ps -af UID PID PPID TTY STIME COMMAND WESTMWJ 288 1 con 09:02:56 /usr/bin/bash WESTMWJ 284 1 con 09:03:14 /usr/bin/bash WESTMWJ 3024 288 con 09:04:58 /usr/bin/bash WESTMWJ 31816 3024 con 09:09:31 /usr/bin/bash WESTMWJ 31908 31816 con 09:09:31 /usr/bin/gcc WESTMWJ 31952 31908 con 09:09:32 /usr/lib/gcc-lib/i686-pc-cygwin/3.2/colle ct2 WESTMWJ 31964 31952 con 09:09:32 /usr/bin/ld WESTMWJ 31968 284 con 09:09:32 /usr/bin/ps WESTMWJ 09:09:32 /cygdrive/c/Documents and Settings/westmwj/My Documents > ps -af UID PID PPID TTY STIME COMMAND WESTMWJ 288 1 con 09:02:56 /usr/bin/bash WESTMWJ 284 1 con 09:03:14 /usr/bin/bash WESTMWJ 3024 288 con 09:04:58 /usr/bin/bash WESTMWJ 32524 284 con 09:09:40 /usr/bin/ps WESTMWJ 09:09:40 /cygdrive/c/Documents and Settings/westmwj/My Documents > ps -af UID PID PPID TTY STIME COMMAND WESTMWJ 288 1 con 09:02:56 /usr/bin/bash WESTMWJ 284 1 con 09:03:14 /usr/bin/bash WESTMWJ 3024 288 con 09:04:58 /usr/bin/bash WESTMWJ 32848 3024 con 09:09:46 /usr/bin/cat WESTMWJ 32764 284 con 09:09:45 /usr/bin/ps WESTMWJ 09:09:46 /cygdrive/c/Documents and Settings/westmwj/My Documents > ps -af UID PID PPID TTY STIME COMMAND WESTMWJ 288 1 con 09:02:56 /usr/bin/bash WESTMWJ 284 1 con 09:03:14 /usr/bin/bash WESTMWJ 3024 288 con 09:04:58 /usr/bin/bash WESTMWJ 33412 3024 con 09:09:50 /usr/bin/bash WESTMWJ 34540 33412 con 09:09:59 /usr/bin/bash WESTMWJ 34584 34540 con 09:09:59 /usr/bin/bash WESTMWJ 34576 284 con 09:09:59 /usr/bin/ps WESTMWJ 09:09:59 /cygdrive/c/Documents and Settings/westmwj/My Documents > ps -af UID PID PPID TTY STIME COMMAND 3212 [main] ps 36648 winpids::enumNT: error 0xC0000005 reading system process information Ah ha! Any suggestions? Also, interestingly enough, later ps works fine! But there are other problems that lead me to rebooting, like can not start new applications. WESTMWJ 09:19:17 /cygdrive/c/Documents and Settings/westmwj/My Documents > ps -af UID PID PPID TTY STIME COMMAND WESTMWJ 288 1 con 09:02:56 /usr/bin/bash WESTMWJ 284 1 con 09:03:14 /usr/bin/bash WESTMWJ 3048 284 con 09:19:32 /usr/bin/ps --- "Mike W." wrote: > I love cygwin. > > But... > > I think there is a bug in cygwin that has to do with > an inability > to reuse PID numbers. I think the following > messages > may > show instances of it: > > http://sources.redhat.com/ml/cygwin/2002-02/msg01188.html > http://sources.redhat.com/ml/cygwin/2002-07/msg01894.html > http://sources.redhat.com/ml/cygwin/2002-05/msg01333.html > http://sources.redhat.com/ml/cygwin/2002-02/msg01361.html > http://sources.redhat.com/ml/cygwin/2002-02/msg00304.html > http://sources.redhat.com/ml/cygwin/2001-07/msg00382.html > http://sources.redhat.com/ml/cygwin/2001-07/msg00193.html > > and there are many more related messages... once you > get the hang > of the problem, you can work the search engine. > > I am an amateur, wanting to use cygwin, and willing > to > build stuff > from others, but incompetent to develop. But here > is > what I > am guessing: > > fork seems to always pick a larger PID number. Then > it runs out > of available, larger PID numbers, and fork fails. > Then other > processes look for the failed fork, and they fail. > But why > don't we reuse PID numbers? Or can I get a bigger > pool of > numbers? They never seem to go over 0x??, getting > up > to about > 36000 or so before it blows up. > > > I see the behaviour when I try to compile Image > Magick. Rebooting > causes the behavior to occur at different places, > deep > into the > configure file, but always when the PID number of > recently > spawned processes, as seen with the Windows Task > Manager under > the "Processes" tab, is above about 32000. > > I can reproduce this variable behaviour.... ;-) > > Can I supply more information to help in diagnosis? > > Any work-arounds? > > > Here is a canonical example: (showing many normal > lines, then problems) > > > checking for gs EPS writing device... epswrite > checking for perl... /usr/bin/perl > configure: creating ./config.status > config.status: creating Makefile > config.status: creating magick/Makefile > config.status: creating coders/delegates.mgk > config.status: creating coders/Makefile > config.status: creating utilities/Makefile > config.status: creating tests/Makefile > config.status: creating coders/type.mgk > config.status: creating coders/type-ghostscript.mgk > config.status: creating coders/type-windows.mgk > config.status: creating coders/type-solaris.mgk > config.status: creating ltdl/Makefile > config.status: creating magick/Magick-config > config.status: creating Magick++/bin/Makefile > config.status: creating Magick++/bin/Magick++-config > config.status: creating Magick++/Makefile > config.status: creating Magick++/lib/Makefile > 7599 [main] bash 36536 sync_with_child: child > 36604(0x138) died before initia > lization with status code 0x80 > 41746 [main] bash 36536 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > ./config.status: line 1: /usr/bin/sed: Permission > denied > config.status: creating > Magick++/lib/Magick++/Makefile > 686 [main] bash 36692 sync_with_child: child > 36724(0xFC) died before initial > ization with status code 0x80 > 1024 [main] bash 36692 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > 10280 [main] bash 36736 sync_with_child: child > 36744(0xE8) died before initial > ization with status code 0x80 > 10641 [main] bash 36736 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > 8376 [main] bash 33032 sync_with_child: child > 36764(0xEC) died before initial > ization with status code 0x80 > 9131 [main] bash 33032 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > config.status: creating Magick++/demo/Makefile > 65 [main] bash 33020 sync_with_child: child > 36788(0x1A8) died before initia > lization with status code 0x80 > 386 [main] bash 33020 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > 30592 [main] bash 33020 sync_with_child: child > 36748(0x19C) died before initia > lization with status code 0x80 > 30923 [main] bash 33020 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > 43998 [main] bash 33020 sync_with_child: child > 36776(0x5C) died before initial > ization with status code 0x80 > 44327 [main] bash 33020 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > 63130 [main] bash 33020 sync_with_child: child > 36792(0x1FC) died before initia > lization with status code 0x80 > 63465 [main] bash 33020 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > 1686 [main] bash 2876 sync_with_child: child > 33028(0x1A8) died before initial > ization with status code 0x80 > 2030 [main] bash 2876 sync_with_child: *** child > state waiting for longjmp > ./configure: fork: Resource temporarily unavailable > > > Here is a time when it occured: (showing two normal > lines, then problems) > > config.status: creating > Magick++/lib/Magick++/Makefile > config.status: creating Magick++/demo/Makefile > 5885 [main] bash 36740 sync_with_child: child > 36808(0xF8) died before initial > ization with status code 0x80 > 6231 [main] bash 36740 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > config.status: creating Magick++/tests/Makefile > 6 [main] bash 36908 sync_with_child: child > 36928(0xF8) died before initial > ization with status code 0x80 > 351 [main] bash 36908 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > 6 [main] bash 36892 sync_with_child: child > 36940(0xD8) died before initial > ization with status code 0x80 > 339 [main] bash 36892 sync_with_child: *** child > state waiting for longjmp > ./config.status: fork: Resource temporarily > unavailable > mkdir: cannot create directory `': No such file or > directory > config.status: error: cannot create directory "" > > etc. > > Here is another time: (showing two normal lines, > then > problems) > > > config.status: creating magick/magick_config.h > config.status: executing depfiles commands > 56 [main] bash 37140 sync_with_child: child > 37144(0xD4) died before initial > ization with status code 0x80 > 355 [main] bash 37140 sync_with_child: *** child > state waiting for longjmp > === message truncated === __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/