This is the mail archive of the cygwin@cygwin.com 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: No PIDs left, failure to fork, child state waiting for longjmp AND ps FAILS


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." <mw487 at yahoo dot com> 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/


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