This is the mail archive of the cygwin 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: Resource Temporarily Unavailable


Christopher, thanks for the quick response.

Unfortunately it didn't change anything except we got a different error message.

Do you have any suggestions or pointers on how I can debug this further.

Thanks
Chris McIntosh

On Thu, Sep 07, 2006 at 01:04:49PM -0700, Chris McIntosh wrote:
Hello, I work at a company where we have a complicated Linux build. We
use cygwin to mimic this build on windows for some of our windows
centric people.

At different times when cygwin forks it will throw a Resource
temporarily Unavailble error. I am tempted to call this "Random"
because it doesn't manifest itself until a random time, but once
manifested it will continue to fail at the exact same spot. This spot
is different for all users but once it does happen it continues to
fail.

This is typically in our make flow when it is forking or spawning
another process to execute a command.

Here is a snip

../../../../..//class/mfs/engine/disp/gf100_engine.mfs
/usr/bin/env: ../../../../..//bin/Win32/cfp: Resource temporarily
unavailable
makepp: Failed to build target gf100.xml

One thing to note, the command that it fails on is different for all
users. It actually fails when forking. Another example is

/usr/bin/bash: fork: Resource temporarily unavailable
make[4]: *** [ObjWin32/.PTreeVisitor.d] Error 128

After looking at the cygwin source I found that EAGAIN which produces
this message is mapped to many windows errors. So after more
investigation I found it to be Win32 error 234 which is
ERROR_MORE_DATA. I then traced this down to when cygwin calls
CreateProcessAsUser in spawn.cc

So my question, has anyone seen this before. I don't think it is a
cygwin bug since it the win api returning this error, but maybe it is
something to do with the call.

Any pointers or tips would be helpful.

A google search for CreateProcess and ERROR_MORE_DATA shows a patch for make which avoids putting empty environment variables in the environment block sent to CreateProcess.

So, I've added a check for that to cygwin and generated a new snapshot at:

http://cygwin.com/snapshots/

Be advised that the snapshot version of Cygwin has been built with
debugging turned on, which means that it will be slower and noisier than
a normal cygwin release.  In particular, there is a false positive but
inconsequential report about handle closing which can be generated
fairly easily.

cgf

--

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.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]