public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Resource Temporarily Unavailable
@ 2006-09-07 20:04 Chris McIntosh
  2006-09-07 20:51 ` Christopher Faylor
  2006-09-11 15:56 ` Nick Deubert
  0 siblings, 2 replies; 8+ messages in thread
From: Chris McIntosh @ 2006-09-07 20:04 UTC (permalink / raw)
  To: cygwin

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.

Thanks,
Chris McIntosh

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

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: Resource Temporarily Unavailable
@ 2006-09-07 23:28 Chris McIntosh
  2006-09-07 23:31 ` Christopher Faylor
  0 siblings, 1 reply; 8+ messages in thread
From: Chris McIntosh @ 2006-09-07 23:28 UTC (permalink / raw)
  To: cygwin

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/

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: Resource Temporarily Unavailable
@ 2006-09-07 23:55 Chris McIntosh
  2006-09-08  0:20 ` Dave Korn
  0 siblings, 1 reply; 8+ messages in thread
From: Chris McIntosh @ 2006-09-07 23:55 UTC (permalink / raw)
  To: cygwin

The actual error message was Message too long, which is the new
mappnig you set for error 234 (ERROR_MORE_DATA) being returned from
CreateProcess.

I made a support call to microsoft and the reason this error is
created is because any sub dll that CreateProcess might need will
return its error through CreateProcess. They also recommended the heap
settings, but after some investigation and using desktop heap I have
found that not to be my issue.

I have ran out of debugging ideas. According to Microsoft some dll
that CreateProcess is loading is probably throwing the ERROR_MORE_DATA
error, but I don't understand why a CreateProcess under cygwin is any
different than a CreateProcess run outside of the cygwin environment.


On Thu, Sep 07, 2006 at 04:28:13PM -0700, Chris McIntosh wrote:
>Christopher, thanks for the quick response.
>
>Unfortunately it didn't change anything except we got a different error
>message.

Details are important.  What was the actual error message?

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

http://sources.redhat.com/ml/cygwin/2005-09/msg00945.html

is the only other suggestion I can offer unless you can find something
which mentions the cause for this Windows error.

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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-10-02 19:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-09-07 20:04 Resource Temporarily Unavailable Chris McIntosh
2006-09-07 20:51 ` Christopher Faylor
2006-09-11 15:56 ` Nick Deubert
2006-10-02 19:51   ` Chris McIntosh
2006-09-07 23:28 Chris McIntosh
2006-09-07 23:31 ` Christopher Faylor
2006-09-07 23:55 Chris McIntosh
2006-09-08  0:20 ` Dave Korn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).