Mail Archives: cygwin/2005/11/06/10:41:32
--------------enigA06FFDD380DCD141B6F59221
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
David Arnstein wrote:
> Synopsis:
> the "fork: resource temporarily unavailable" problem may be caused
> by a large number of obsolete process handles.
>
> Attached to this e-mail:
> 1. cygcheck.out:
> the output from "cygcheck -s -v -r"
> 2. tempor.sh:
> A bash shell script that causes the "fork: resource temporarily
> unavailable" problem on my computer. This script searches for
> identical files by brute force: it launches cmp.exe many times.
>
> First, I ran the standard Windows Task Manager with a non-standard
> column shown: handle count. I noticed something disturbing
> immediately. There is a process (pseudo process?) named
> "System." What I see on my computer is that for this process,
> the handle count rises slowly but continuously. This occurs when
> my computer is almost idle (I have several daemon type processes
> running, so the machine is never completely idle). If I launch any
> program, the handle count jumps up. After terminating the program,
> the handle count does NOT reduce.
First of all, on this Win2k SP4 I don't see that behavior. Even when I start
several "normal" Windows programs that value doesn't increase. (It's at 132
here.)
> Next, I launched "Process Explorer" which is distributed from
> http://www.sysinternals.com. This program allows me to examine the
> handles owned by the "System" process. What I found is that most of
> the handles are Process handles. These handles have names of the form
> <Non-existent Process> (nnnn)
> where nnnn is a three to five digit number.
I don't have them installed.
> Finally, I ran the attached shell script "tempor.sh." Specifically, I
> opened a Cygwin command window and, at the bash shell prompt, I typed
> cd C:/Windows/System32
> tempor.sh *
>
> This caused tempor.sh to process 2,302 files. This in turn caused
> tempor.sh to launch cmp.exe more than 2.5 million times.
q AT lisi /cygdrive/c/WINNT/system32
$ ~/tempor.sh *
Will process 1858 files...
> When tempor.sh started, the number of handles owned by the "System"
> process was less than 10,000. While tempor.sh was running, I
> watched the status of the "System" process in the Windows Task
> Manager. As expected, I saw the "handles" count for this process
> rise continuously and rather quickly: very roughly, 30 units per
> second. My computer's CPU was 50% to 75% busy at the time.
No, no change in the handles value here. Constantly at 132.
> After many minutes, tempor.sh halted itself with the by-now familiar
> message "fork: resource temporarily unavailable." The number of
> handles owned by the "System" process was about 86,000.
>
> It appears that Windows itself has a problem clearing out old
> Process handles from some operating system table. It looks like a
> problem not specific to Cygwin at all. I admit that the evidence
> I present is not conclusive. Nevertheless, the fact that there is
> a boundlessly increasing allocation of a resource (process handles)
> looks suspiciously like breakage to me.
>
> Would someone please suggest a forum (or book) where I can pursue
> this further. I would like to try to clear out the old handles,
> the ones with names like
> <Non-existent Process> (nnnn)
> as referenced in "Process Explorer."
I usually hate the WFM messages, but I thought I mention it anyway ;)
> Thank you for any suggestions!
Try a current snapshot. That propably won't help for your problem but
who knows?
Volker
--
PGP/GPG key (ID: 0x9F8A785D) available from wwwkeys.de.pgp.net
key-fingerprint 550D F17E B082 A3E9 F913 9E53 3D35 C9BA 9F8A 785D
--------------enigA06FFDD380DCD141B6F59221
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDbiTpPTXJup+KeF0RAo6tAKCi0JCKHavMPC1nVmA/KLfpyEeL6QCgxcX2
bJPCH1lVyOIJEDsKkhjs00Q=
=GJss
-----END PGP SIGNATURE-----
--------------enigA06FFDD380DCD141B6F59221--
- Raw text -