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]

Process exhaustion; please test



I've been having a problem running out of process IDs and wrote a small C program to test if it happens on other systems. On my system I use up 2000 PIDs in ~500-550 forks. This seems like a lot. Could others run this and see if they see the same? Please drop me or the list a line with how it runs on your machine.

I'm on Win XP home with cygwin 1.3.12. My cygcheck output is attached as well as the short program.

Thanks,
Nils.
Cygwin Win95/NT Configuration Diagnostics
Current System Time: Fri Aug 02 11:23:41 2002

Windows XP Home Edition Ver 5.1 Build 2600 

Path:	C:\cygwin\usr\local\bin
	C:\cygwin\bin
	C:\cygwin\bin
	c:\WINDOWS\system32
	c:\WINDOWS
	c:\WINDOWS\System32\Wbem
	C:\cygwin\bin\mh

SysDir: C:\WINDOWS\System32
WinDir: C:\WINDOWS

HOME = `C:\cygwin\home\NilsBoeffel'
MAKE_MODE = `unix'
PWD = `/home/NilsBoeffel'
USER = `NilsBoeffel'

ALLUSERSPROFILE = `C:\Documents and Settings\All Users'
APPDATA = `C:\Documents and Settings\Nils Boeffel\Application Data'
CLIENTNAME = `Console'
COLORFGBG = `10;default;0'
COLORTERM = `rxvt-xpm'
COMMONPROGRAMFILES = `C:\Program Files\Common Files'
COMPUTERNAME = `KAROO'
COMSPEC = `C:\WINDOWS\system32\cmd.exe'
DISPLAY = `:0'
EDITOR = `vim'
HOMEDRIVE = `C:'
HOMEPATH = `\Documents and Settings\Nils Boeffel'
LOGONSERVER = `\\KAROO'
MAILHOST = `debian.org'
MAILUSER = `lohner'
MANPATH = `:/usr/ssl/man'
NUMBER_OF_PROCESSORS = `1'
OS = `Windows_NT'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 11 Stepping 1, GenuineIntel'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0b01'
PROGRAMFILES = `C:\Program Files'
PS1 = `\w> '
SESSIONNAME = `Console'
SHLVL = `1'
SYSTEMDRIVE = `C:'
SYSTEMROOT = `C:\WINDOWS'
TEMP = `c:\DOCUME~1\NILSBO~1\LOCALS~1\Temp'
TERM = `xterm'
TMP = `c:\DOCUME~1\NILSBO~1\LOCALS~1\Temp'
USERDOMAIN = `KAROO'
USERNAME = `Nils Boeffel'
USERPROFILE = `C:\Documents and Settings\Nils Boeffel'
VISUAL = `vim'
WINDIR = `C:\WINDOWS'
WINDOWID = `167848544'
_ = `/usr/bin/cygcheck'

HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
  (default) = `/cygdrive'
  cygdrive flags = 0x00000022
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
  (default) = `/cygdrive'
  cygdrive flags = 0x00000022
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `C:/cygwin'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `C:/cygwin/bin'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) = `C:/cygwin/lib'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/X11R6/lib/X11/fonts
  (default) = `C:\cygwin\usr\X11R6\lib\X11\fonts'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options

c:  hd  NTFS   28615Mb  60% CP CS UN PA FC     
d:  cd           N/A    N/A                    
e:  cd           N/A    N/A                    

.                                  /cygdrive                 user    binmode,cygdrive
C:/cygwin                          /                         system  binmode
C:/cygwin/bin                      /usr/bin                  system  binmode
C:/cygwin/lib                      /usr/lib                  system  binmode
C:\cygwin\usr\X11R6\lib\X11\fonts  /usr/X11R6/lib/X11/fonts  system  binmode
.                                  /cygdrive                 user    binmode,cygdrive

Found: C:\cygwin\bin\bash.exe
Found: C:\cygwin\bin\cat.exe
Found: C:\cygwin\bin\cpp.exe
Found: C:\cygwin\bin\find.exe
Found: C:\cygwin\bin\gcc.exe
Found: C:\cygwin\bin\gdb.exe
Found: C:\cygwin\bin\ld.exe
Found: C:\cygwin\bin\ls.exe
Found: C:\cygwin\bin\make.exe
Found: C:\cygwin\bin\sh.exe

   58k 2002/05/07 C:\cygwin\bin\cygbz2-1.dll - os=4.0 img=1.0 sys=4.0
                  "cygbz2-1.dll" v0.0 ts=2002/5/7 14:33
  621k 2002/05/17 C:\cygwin\bin\cygcrypto.dll - os=4.0 img=1.0 sys=4.0
                  "cygcrypto.dll" v0.0 ts=2002/5/17 20:24
   45k 2001/04/25 C:\cygwin\bin\cygform5.dll - os=4.0 img=1.0 sys=4.0
                  "cygform5.dll" v0.0 ts=2001/4/25 13:28
   35k 2002/01/09 C:\cygwin\bin\cygform6.dll - os=4.0 img=1.0 sys=4.0
                  "cygform6.dll" v0.0 ts=2002/1/9 14:03
   19k 2002/02/20 C:\cygwin\bin\cyggdbm.dll - os=4.0 img=1.0 sys=4.0
                  "cyggdbm.dll" v0.0 ts=2002/2/20 11:05
   20k 2002/07/17 C:\cygwin\bin\cyghistory5.dll - os=4.0 img=1.0 sys=4.0
                  "cyghistory5.dll" v0.0 ts=2002/7/18 5:18
  929k 2002/06/24 C:\cygwin\bin\cygiconv-2.dll - os=4.0 img=1.0 sys=4.0
                  "cygiconv-2.dll" v0.0 ts=2002/6/25 2:24
   22k 2001/12/13 C:\cygwin\bin\cygintl-1.dll - os=4.0 img=1.0 sys=4.0
                  "cygintl-1.dll" v0.0 ts=2001/12/13 17:28
   23k 2002/06/24 C:\cygwin\bin\cygintl-2.dll - os=4.0 img=1.0 sys=4.0
                  "cygintl-2.dll" v0.0 ts=2002/6/24 12:54
   21k 2001/06/20 C:\cygwin\bin\cygintl.dll - os=4.0 img=1.0 sys=4.0
                  "cygintl.dll" v0.0 ts=2001/6/21 1:09
  119k 2002/02/09 C:\cygwin\bin\cygjpeg6b.dll - os=4.0 img=1.0 sys=4.0
                  "cygjpeg6b.dll" v0.0 ts=2002/2/9 13:19
   26k 2001/04/25 C:\cygwin\bin\cygmenu5.dll - os=4.0 img=1.0 sys=4.0
                  "cygmenu5.dll" v0.0 ts=2001/4/25 13:27
   20k 2002/01/09 C:\cygwin\bin\cygmenu6.dll - os=4.0 img=1.0 sys=4.0
                  "cygmenu6.dll" v0.0 ts=2002/1/9 14:03
  156k 2001/04/25 C:\cygwin\bin\cygncurses++5.dll - os=4.0 img=1.0 sys=4.0
                  "cygncurses++5.dll" v0.0 ts=2001/4/25 13:29
  175k 2002/01/09 C:\cygwin\bin\cygncurses++6.dll - os=4.0 img=1.0 sys=4.0
                  "cygncurses++6.dll" v0.0 ts=2002/1/9 14:03
  226k 2001/04/25 C:\cygwin\bin\cygncurses5.dll - os=4.0 img=1.0 sys=4.0
                  "cygncurses5.dll" v0.0 ts=2001/4/25 13:17
  202k 2002/01/09 C:\cygwin\bin\cygncurses6.dll - os=4.0 img=1.0 sys=4.0
                  "cygncurses6.dll" v0.0 ts=2002/1/9 14:03
   15k 2001/04/25 C:\cygwin\bin\cygpanel5.dll - os=4.0 img=1.0 sys=4.0
                  "cygpanel5.dll" v0.0 ts=2001/4/25 13:27
   12k 2002/01/09 C:\cygwin\bin\cygpanel6.dll - os=4.0 img=1.0 sys=4.0
                  "cygpanel6.dll" v0.0 ts=2002/1/9 14:03
   40k 2001/11/21 C:\cygwin\bin\cygpcre.dll - os=4.0 img=1.0 sys=4.0
                  "cygpcre.dll" v0.0 ts=2001/11/22 6:15
   39k 2001/11/21 C:\cygwin\bin\cygpcreposix.dll - os=4.0 img=1.0 sys=4.0
                  "cygpcreposix.dll" v0.0 ts=2001/11/22 6:15
 1006k 2002/07/24 C:\cygwin\bin\cygperl5_8_0.dll - os=4.0 img=1.0 sys=4.0
                  "cygperl5_8_0.dll" v0.0 ts=2002/7/25 0:53
  171k 2002/05/07 C:\cygwin\bin\cygpng10.dll - os=4.0 img=1.0 sys=4.0
                  "cygpng10.dll" v0.0 ts=2002/5/8 2:53
  175k 2002/05/24 C:\cygwin\bin\cygpng12.dll - os=4.0 img=1.0 sys=4.0
                  "cygpng12.dll" v0.0 ts=2002/5/24 10:22
  170k 2002/01/21 C:\cygwin\bin\cygpng2.dll - os=4.0 img=1.0 sys=4.0
                  "cygpng2.dll" v0.0 ts=2002/1/21 9:05
   22k 2002/06/09 C:\cygwin\bin\cygpopt-0.dll - os=4.0 img=1.0 sys=4.0
                  "cygpopt-0.dll" v0.0 ts=2002/6/9 13:45
  127k 2002/07/17 C:\cygwin\bin\cygreadline5.dll - os=4.0 img=1.0 sys=4.0
                  "cygreadline5.dll" v0.0 ts=2002/7/18 5:18
   66k 2001/11/20 C:\cygwin\bin\cygregex.dll - os=4.0 img=1.0 sys=4.0
                  "cygregex.dll" v0.0 ts=2001/11/20 22:44
  156k 2002/05/17 C:\cygwin\bin\cygssl.dll - os=4.0 img=1.0 sys=4.0
                  "cygssl.dll" v0.0 ts=2002/5/17 20:24
  549k 2002/07/19 C:\cygwin\bin\cygtcl83.dll - os=4.0 img=1.0 sys=4.0
                  "cygtcl83.dll" v0.0 ts=2002/7/19 11:42
   11k 2002/07/19 C:\cygwin\bin\cygtclpip83.dll - os=4.0 img=1.0 sys=4.0
  221k 2002/07/19 C:\cygwin\bin\cygtix4183.dll - os=4.0 img=1.0 sys=4.0
                  "cygtix4183.dll" v0.0 ts=2002/7/19 11:43
  830k 2002/07/19 C:\cygwin\bin\cygtk83.dll - os=4.0 img=1.0 sys=4.0
                  "cygtk83.dll" v0.0 ts=2002/7/19 11:43
   50k 2002/03/12 C:\cygwin\bin\cygz.dll - os=4.0 img=1.0 sys=4.0
                  "cygz.dll" v0.0 ts=2002/3/12 12:38
  883k 2002/07/06 C:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=2002/7/6 14:16
    Cygwin DLL version info:
        DLL version: 1.3.12
        DLL epoch: 19
        DLL bad signal mask: 19005
        DLL old termios: 5
        DLL malloc env: 28
        API major: 0
        API minor: 54
        Shared data: 3
        DLL identifier: cygwin1
        Mount registry: 2
        Cygnus registry name: Cygnus Solutions
        Cygwin registry name: Cygwin
        Program options name: Program Options
        Cygwin mount registry name: mounts v2
        Cygdrive flags: cygdrive flags
        Cygdrive prefix: cygdrive prefix
        Cygdrive default prefix: 
        Build date: Sat Jul 6 02:16:58 EDT 2002
        CVS tag: cygwin-1-3-12-1
        Shared id: cygwin1S3


Cygwin Package Information
Last downloaded files to: C:\downloads\cygwin
Last downloaded files from: ftp://ftp.nas.nasa.gov/mirrors/cygwin.com/pub/cygwin

Package             Version             
_update-info-dir    00034-1             
ash                 20020131-1          
autoconf            2.53b-1             
autoconf-devel      2.53a-1             
autoconf-stable     2.13-4              
automake            1.6.2-1             
automake-devel      1.6.2-1             
automake-stable     1.4p5-5             
bash                2.05a-3             
binutils            20020706-2          
bison               1.35-1              
byacc               1.9-1               
bzip2               1.0.2-2             
crypt               1.0-1               
ctags               5.2-1               
cvs                 1.11.0-1            
cygutils            1.1.2-1             
cygwin              1.3.12-2            
diff                1.0-1               
diffutils           2.8.1-1             
expect              20010117-1          
file                3.37-1              
fileutils           4.1-1               
findutils           4.1.7-4             
flex                2.5.4-2             
gawk                3.0.4-1             
gcc                 3.1.1-4             
gdb                 20020718-1          
gdbm                1.8.0-4             
gettext             0.11.2-2            
grep                2.5-1               
groff               1.17.2-1            
gzip                1.3.3-3             
indent              2.2.8-1             
jpeg                6b-7                
less                374-1               
libbz2_1            1.0.2-2             
libiconv2           1.8-2               
libintl             0.10.38-3           
libintl1            0.10.40-1           
libintl2            0.11.2-2            
libncurses5         5.2-1               
libncurses6         5.2-8               
libpng              1.2.3-1             
libpng10            1.0.13-3            
libpng12            1.2.3-1             
libpng2             1.0.12-1            
libpopt0            1.6.4-4             
libreadline4        4.1-2               
libreadline5        4.3-1               
libtool             20020202a-1         
login               1.4-3               
lynx                2.8.4-1             
m4                  0.0                 
make                3.79.1-7            
man                 1.5g-2              
mingw-runtime       2.0-2               
mktemp              1.4-1               
mutt                1.4-1               
ncftp               3.1.3-1             
ncurses             5.2-8               
newlib-man          20001118-1          
openssh             3.4p1-4             
openssl             0.9.6d-1            
patch               2.5-3               
pcre                3.7-1               
perl                5.8.0-1             
popt                1.6.4-4             
python              2.2.1-1             
readline            4.3-1               
regex               4.4-2               
rsync               2.5.5-1             
rxvt                2.7.2-10            
sed                 3.02-1              
sh-utils            2.0-2               
ssmtp               2.38.7-3            
tar                 1.13.25-1           
tcltk               20001125-1          
tcsh                6.11.00-4           
termcap             20020403-1          
terminfo            5.2-3               
texinfo             4.2-3               
textutils           2.0.21-1            
time                1.7-1               
unzip               5.50-1              
vim                 6.1-2               
w32api              1.5-1               
wget                1.8.2-1             
which               1.5-1               
zip                 2.3-2               
zlib                1.1.4-1             

Use -h to see help about each section
#include <stdio.h>
#include <unistd.h>

main()
{
  pid_t process, initprocess, endprocess;
  int count;

  count=0;

  process=0;
  initprocess=fork();

  /* drop out of parent */
  if (initprocess<=0) { exit(); }
  endprocess=initprocess+2000;
  printf("Starting process ID is %d; ending at %d.\n",initprocess, endprocess);

  /* while to prevent exhausting processes completely */
  while(process<endprocess)
  {
    process=fork();
    if (process==0)
    { if(0)printf("Parent process exits.\n"); exit(); }
    if (process<0)
    { printf("ERROR: process ID returned was %d!\n",process); exit(); }
    if (!(process%40))
    { printf("Child process ID %d.\n",process); }
    count++;
  }
  printf("Forked a total of %d times.\n", count);
}

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