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: 1.3.19: fork() strange memory leak under W2K


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/


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