Sunday, January 15, 2012

Cygwin error: Couldn't create pipe tracker for pid

Our builds started failing to connect to a Windows machine using sshd provided by cygwin.
Then when I tried to open cygwin shell, it started throwing the error


pinfo::wait: Couldn't create pipe tracker for pid 3534
Win32 error 231
bash: fork: Resource temporarily unavailable

After googling, the reason for this error, which I came to know is
  1. It's a limitation in the number of running processes under Windows. When cygwin cannot create a new process during a fork(), you will get this behavior.
    Some people have reported success turning off (or swapping) antivirus programs, or other tricks to reduce the number of running processes on their system.
  2. Well, what that message means is that for some reason, the child process
    failed to notify the parent of its existence within a reasonable amount of
    time after it was spawned.  That could mean that it died for some reason, or
    it could mean that it was alive, but failed to notify the parent process.
    
    
    
    
    Then I felt, it's good to reboot my Windows machine once and it has solved this problem for the time being. I will keep updated if it pop up again.
    
    
    Our cygwin version is
    $ cygcheck -V
    cygcheck version 1.90.4.1
    System Checker for Cygwin
    Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
    Compiled on Jun 12 2008
    
    
    
    and Windows version is "Windows XP professional 2002 SP2"
    I guess this issue doesn't occur with latest cygwin/Windows versions.

No comments: