public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* RE: 1.3.19: fork() strange memory leak under W2K
@ 2003-02-08 22:48 Rolf Campbell
  2003-02-08 23:26 ` Elfyn McBratney
  0 siblings, 1 reply; 3+ messages in thread
From: Rolf Campbell @ 2003-02-08 22:48 UTC (permalink / raw)
  To: cygwin

Works for me on Win2000Pro+SP3/PIII.

> -----Original Message-----
> From: Victor Antonovich [mailto:avmlink@vlink.ru] 
> Sent: Saturday, February 08, 2003 5:18 PM
> To: cygwin@cygwin.com
> Subject: 1.3.19: fork() strange memory leak under W2K
> 
> 
> Hello!
> 
> Some time ago, when I was using at home 1.3.18 version of 
> CygWin under Windows  2000  Workstation  +  SP3,  I  
> discovered  that every command execution  lead to some memory 
> leak. It's especially noticeably when I try  to  run large 
> scripts (like "configure") - the memory loading (as viewed  
> in  Task  Manager)  grow  to  its physical size and next I 
> get message like this:
> 
>       0 [main] sh 35620 sync_with_child: child 35636(0xDC) 
> died before initialization with status code 0x80
>    6847 [main] sh 35620 sync_with_child: *** child state 
> waiting for longjmp
> ./../ltconfig: fork: Resource temporarily unavailable
> 
> After this, any process can't be started without rebooting 
> (or killing other process).
> 
> Recently,  I  upgraded  my  system  to Windows 2000 Server + 
> SP3 (with total precleanup) and CygWin 1.3.19, but problem is 
> there as before. :(
> 
> I made small test program which loops for 1000 times:
> --8<----------------------------------
> #!/bin/sh
> ctr=1
> while test `expr "$ctr"` -lt 1000; do
>   ctr=`expr $ctr + 1`
> #  ps > /dev/null
> done
> --8<----------------------------------
> 
> The result:
> --8<----------------------------------
> $ ./test
>       0 [main] sh 1136 sync_with_child: child 35976(0x134) 
> died before initialization with status code 0x80
>    1976 [main] sh 1136 sync_with_child: *** child state 
> waiting for longjmp
> ./test: fork: Resource temporarily unavailable
> --8<----------------------------------
> 
> After  this,  the  memory leak average is 28 MBytes. When I 
> uncomment  line  "ps > /dev/null" in this example, memory 
> leak grow to 42 MBytes. Changing "ps" command in uncommented 
> line on any external command not affect average memory leak. 
> All looks like every fork() lead to leak about 13 KBytes of 
> physical memory.
> 
> All  utilities  don't  indicate  that memory leak exist in 
> user space, that I decide that lost memory must be located in 
> kernel space.
> 
> It's very strange, but all this works nice at my work on 
> computer with Windows 2000 Workstation + SP3! My home 
> computer hardware is AMD Duron 800  MHz,  Abit KT7A 
> Motherboard, 256 MB RAM; at work Celeron 800 MHz, Acorp  i815 
>  Motherboard,  128  MB  RAM. The difference is also in the
> filesystems: FAT32 at home and NTFS at work.
> 
> I  found  similar messages in cygwin mailing list archive, 
> but without any  response.  By  the  way, same problem exist 
> in MinGW minimalistic system  (MSYS).  Is there anybody who 
> can say any considerations about this problem? The "cygcheck" 
> program out is attached to this message.
> 
> Regards,
> Victor.
> 

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 1.3.19: fork() strange memory leak under W2K
  2003-02-08 22:48 1.3.19: fork() strange memory leak under W2K Rolf Campbell
@ 2003-02-08 23:26 ` Elfyn McBratney
  0 siblings, 0 replies; 3+ messages in thread
From: Elfyn McBratney @ 2003-02-08 23:26 UTC (permalink / raw)
  To: cygwin

> Some time ago, when I was using at home 1.3.18 version of
> CygWin under Windows  2000  Workstation  +  SP3,  I
> discovered  that every command execution  lead to some memory
> leak. It's especially noticeably when I try  to  run large
> scripts (like "configure") - the memory loading (as viewed
> in  Task  Manager)  grow  to  its physical size and next I
> get message like this:
>
>       0 [main] sh 35620 sync_with_child: child 35636(0xDC)
> died before initialization with status code 0x80
>    6847 [main] sh 35620 sync_with_child: *** child state
> waiting for longjmp
> ./../ltconfig: fork: Resource temporarily unavailable
>
> After this, any process can't be started without rebooting
> (or killing other process).
>
> Recently,  I  upgraded  my  system  to Windows 2000 Server +
> SP3 (with total precleanup) and CygWin 1.3.19, but problem is
> there as before. :(
>
> [...]
>
> It's very strange, but all this works nice at my work on
> computer with Windows 2000 Workstation + SP3! My home
> computer hardware is AMD Duron 800  MHz,  Abit KT7A
> Motherboard, 256 MB RAM; at work Celeron 800 MHz, Acorp  i815
>  Motherboard,  128  MB  RAM. The difference is also in the
> filesystems: FAT32 at home and NTFS at work.
>
> [...]

Sorry for the "me too" on this, but well Me too ;-)

I am unable to test this on a FAT32 partition as I don't have one on my or
any other system I work with. Perhaps you could provide strace output? Igor
gave some very good pointers ("Re: rcs ci and co hang") on this list a few
days ago, although it's not the same issue, you could use some of the
instructions to gather the strace output and send some/it to the list.

If it does reach an outrageous size, or you're not to sure what it means, I
don't mind if you send it to me off-list and I'll take a gander (compressed
ofcourse ;-)...


Regards,

Elfyn McBratney
elfyn@exposure.org.uk
www.exposure.org.uk



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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* 1.3.19: fork() strange memory leak under W2K
@ 2003-02-08 22:16 Victor Antonovich
  0 siblings, 0 replies; 3+ messages in thread
From: Victor Antonovich @ 2003-02-08 22:16 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2502 bytes --]

Hello!

Some time ago, when I was using at home 1.3.18 version of CygWin under
Windows  2000  Workstation  +  SP3,  I  discovered  that every command
execution  lead to some memory leak. It's especially noticeably when I
try  to  run large scripts (like "configure") - the memory loading (as
viewed  in  Task  Manager)  grow  to  its physical size and next I get
message like this:

      0 [main] sh 35620 sync_with_child: child 35636(0xDC) died before initialization with status code 0x80
   6847 [main] sh 35620 sync_with_child: *** child state waiting for longjmp
./../ltconfig: fork: Resource temporarily unavailable

After this, any process can't be started without rebooting (or killing
other process).

Recently,  I  upgraded  my  system  to Windows 2000 Server + SP3 (with
total precleanup) and CygWin 1.3.19, but problem is there as before. :(

I made small test program which loops for 1000 times:
--8<----------------------------------
#!/bin/sh
ctr=1
while test `expr "$ctr"` -lt 1000; do
  ctr=`expr $ctr + 1`
#  ps > /dev/null
done
--8<----------------------------------

The result:
--8<----------------------------------
$ ./test
      0 [main] sh 1136 sync_with_child: child 35976(0x134) died before initialization with status code 0x80
   1976 [main] sh 1136 sync_with_child: *** child state waiting for longjmp
./test: fork: Resource temporarily unavailable
--8<----------------------------------

After  this,  the  memory leak average is 28 MBytes. When I
uncomment  line  "ps > /dev/null" in this example, memory leak grow to
42 MBytes. Changing "ps" command in uncommented line on any external
command not affect average memory leak. All looks like every fork()
lead to leak about 13 KBytes of physical memory.

All  utilities  don't  indicate  that memory leak exist in user space,
that I decide that lost memory must be located in kernel space.

It's very strange, but all this works nice at my work on computer with
Windows 2000 Workstation + SP3! My home computer hardware is AMD Duron
800  MHz,  Abit KT7A Motherboard, 256 MB RAM; at work Celeron 800 MHz,
Acorp  i815  Motherboard,  128  MB  RAM. The difference is also in the
filesystems: FAT32 at home and NTFS at work.

I  found  similar messages in cygwin mailing list archive, but without
any  response.  By  the  way, same problem exist in MinGW minimalistic
system  (MSYS).  Is there anybody who can say any considerations about
this problem? The "cygcheck" program out is attached to this message.

Regards,
Victor.

[-- Attachment #2: cygcheck.out --]
[-- Type: application/octet-stream, Size: 8279 bytes --]


Cygwin Win95/NT Configuration Diagnostics
Current System Time: Sat Feb 08 22:16:23 2003

Windows 2000 Server Ver 5.0 Build 2195 Service Pack 3

Path:	C:\cygwin\usr\local\bin
	C:\cygwin\bin
	C:\cygwin\bin
	c:\WINNT\system32
	c:\WINNT
	c:\WINNT\System32\Wbem
	d:\Program Files\GNU\WinCvs 1.2
	d:\Program Files\Support Tools\

SysDir: C:\WINNT\System32
WinDir: C:\Documents and Settings\avm.BEARS\WINDOWS

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

ALLUSERSPROFILE = `C:\Documents and Settings\All Users.WINNT'
APPDATA = `C:\Documents and Settings\avm.BEARS\Application Data'
AVRASMEXE = `D:\Program Files\Atmel\AVR Studio\avrasm32.exe'
AVRASMINC = `D:\Program Files\Atmel\AVR Studio\Appnotes'
AVREAL = `D:\Projects\Avreal\AVREAL32.EXE'
COMMONPROGRAMFILES = `C:\Program Files\Common Files'
COMPUTERNAME = `BEARS'
COMSPEC = `C:\WINNT\system32\cmd.exe'
CVSEXE = `D:\Program Files\GNU\WinCvs 1.2\cvs.exe'
CVSROOT = `:local:D:\HEAP\CVSREPO'
HOMEDRIVE = `C:'
HOMEPATH = `\Documents and Settings\avm.BEARS'
LOGONSERVER = `\\BEARS'
NUMBER_OF_PROCESSORS = `1'
OLDPWD = `/usr/bin'
OS2LIBPATH = `C:\WINNT\system32\os2\dll;'
OS = `Windows_NT'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 3 Stepping 1, AuthenticAMD'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0301'
PROGRAMFILES = `C:\Program Files'
PROMPT = `$P$G'
PS1 = `\[\033]0;\w\007
\033[32m\]\u@\h \[\033[33m\w\033[0m\]
$ '
SESSIONNAME = `Console'
SHLVL = `1'
SYSTEMDRIVE = `C:'
SYSTEMROOT = `C:\WINNT'
TEMP = `c:\DOCUME~1\AVM~1.BEA\LOCALS~1\Temp'
TERM = `cygwin'
TMP = `c:\DOCUME~1\AVM~1.BEA\LOCALS~1\Temp'
USERDOMAIN = `BEARS'
USERNAME = `avm'
USERPROFILE = `C:\Documents and Settings\avm.BEARS'
WINDIR = `C:\WINNT'
_ = `/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
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
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\Program Options

a:  fd           N/A    N/A                    
c:  hd  FAT32   2998Mb  62% CP    UN           WIN2000
d:  hd  FAT32  11989Mb  72% CP    UN           MAIN
e:  hd  FAT      501Mb  99% CP    UN           SWAP
f:  cd           N/A    N/A                    

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

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

  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/24 22:24
   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/20 21:09
   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 12:28
   28k 2002/09/20 C:\cygwin\bin\cygintl-2.dll - os=4.0 img=1.0 sys=4.0
                  "cygintl-2.dll" v0.0 ts=2002/9/20 7:13
   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 9:28
   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 9:27
  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 9:29
  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 9:17
   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 9:27
   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 9:03
   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 9:03
  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 9:03
  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 9:03
   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 9: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 1: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 1:15
   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 10:33
  885k 2003/01/24 C:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=2003/1/24 5:31
    Cygwin DLL version info:
        DLL version: 1.3.19
        DLL epoch: 19
        DLL bad signal mask: 19005
        DLL old termios: 5
        DLL malloc env: 28
        API major: 0
        API minor: 71
        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: Thu Jan 23 21:31:48 EST 2003
        CVS tag: cygwin-1-3-19-1
        Shared id: cygwin1S3


Cygwin Package Information
Last downloaded files to: C:\cygwin\packages
Last downloaded files from: ftp://archive.progeny.com/cygwin

Package             Version             
_update-info-dir    00129-1             
ash                 20020731-1          
base-files          1.1-1               
bash                2.05b-8             
binutils            20021117-1          
bzip2               1.0.2-2             
cygwin              1.3.19-1            
fileutils           4.1-1               
gcc                 3.2-3               
gcc-mingw           20020817-5          
gettext             0.11.5-1            
grep                2.5-1               
groff               1.18.1-2            
gzip                1.3.3-4             
less                378-1               
libbz2_1            1.0.2-2             
libiconv2           1.8-2               
libintl             0.10.38-3           
libintl1            0.10.40-1           
libintl2            0.11.5-1            
libncurses5         5.2-1               
libncurses6         5.2-8               
libtool-stable      1.4.2-2             
make                3.79.1-7            
man                 1.5g-2              
mingw-runtime       2.3-1               
ncurses             5.2-8               
pcre                3.7-1               
sed                 4.0.5-1             
sh-utils            2.0.15-3            
tar                 1.13.19-1           
termcap             20020930-1          
terminfo            5.2-3               
texinfo             4.2-4               
textutils           2.0.21-1            
w32api              2.1-1               

Use -h to see help about each section

[-- Attachment #3: Type: text/plain, Size: 214 bytes --]

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-02-08 23:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-08 22:48 1.3.19: fork() strange memory leak under W2K Rolf Campbell
2003-02-08 23:26 ` Elfyn McBratney
  -- strict thread matches above, loose matches on Subject: below --
2003-02-08 22:16 Victor Antonovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).