Mail Archives: cygwin/2003/03/19/18:11:23
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/
- Raw text -