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]

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.

Attachment: cygcheck.out
Description: Binary data

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

AltStyle によって変換されたページ (->オリジナル) /