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]

No PIDs left, failure to fork, child state waiting for longjmp


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
./config.status: fork: Resource temporarily
unavailable
     42 [main] bash 37152 sync_with_child: child
37160(0xE8) died before initial
ization with status code 0x80
    348 [main] bash 37152 sync_with_child: *** child
state waiting for longjmp
./config.status: fork: Resource temporarily
unavailable

     41 [main] bash 37124 sync_with_child: child
37184(0x1A8) died before initia
lization with status code 0x80
    348 [main] bash 37124 sync_with_child: *** child
state waiting for longjmp
./configure: fork: Resource temporarily unavailable
 
Etc.

Thanks!  


__________________________________________________
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]