public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Chris McIntosh <cmcintosh@gmail.com>
To: cygwin@cygwin.com
Subject: Re: Resource Temporarily Unavailable
Date: Mon, 02 Oct 2006 19:51:00 -0000	[thread overview]
Message-ID: <loom.20061002T195532-70@post.gmane.org> (raw)
In-Reply-To: <4505870D.2090907@gmail.com>


Nick Deubert <ndeubert <at> gmail.com> writes:

> 
> 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.
> Hi all,
> I also have this problem. I use xfce as my desktop and window manager 
> and after a totally arbitrary amount of time (sometimes 10 mins, 
> sometimes days) I start getting this error "Failed to fork (Resource 
> temporarily unavailable)" from the xfce4-panel and it refuses to launch 
> anything. Xfdesktop usually goes shortly after as well. I also noticed 
> by the time this starts happening the process stops showing up when I do 
> a "ps -ef", It doesn't even show up when I pass it a -W either, I have 
> to kill it from Task Manager and start a new one. About this time I also 
> start repeatedly getting this exact error as well: 
> http://www.cygwin.com/ml/cygwin/2006-07/msg00239.html when I build my 
> companies tool in cygwin (with make-3.80).
> 
> I've reinstalled cygwin several times, tried doing a rebaseall, tried 
> changing the heap size, and none of that made any difference for me. 
> (Have not tried the new dll posted in this thread but it was reported 
> that did not solve his problem). I tried downgrading bash from 3.1-6 to 
> 3.0-14 and it seemed like it had fixed both problems but then a week 
> later it returned. I tried setting 
> "CYGWIN=error_start=c:\cygwin\bin\gdb.exe codepage:oem" and verifyed it 
> worked but it does not catch the sh.exe crash.
> 
> I use the xfce4 ports from: http://www.amazepc.com/bamanzi/cygwin/xfce4/ 
> (several versions, it happened with all of them) and have also tried the 
> pkgs in ftp://sunsite.dk/projects/cygwinports. I had everything working 
> perfectly for over a year with the xfce ports mentioned, then something 
> happened to my cygwin install in a power outage so I did a clean 
> reinstall. Ever since I have had all these nightmare problems. Any 
> suggestions for what to try/check/install/log/debug would be greatly 
> appreciated.
> Thanks,
> Nick
> 
> 

In my case I tracked the problem down to a large environment block. 
In windows CreateProcessAsUser you can only pass in an environment string less
than 32000 characters. Unless you use Unicode which cygwin does not.

A simple fix for this in our build environment was to append a env -i 
to the front of our command. This removed the user's environment and only
allowed our build to use the environment. Our build in this case was adding 
29000 worth of characters.

I have since changed our build to not add all of these variables.

Unfortunately you might not be getting the same error. If you look at the 
cygwin source there are many errors that get mapped to "Resource Temporarily 
Unavailable."

The way I tracked this down was by using a debug release of cygwin I changed 
the error messages to the actual windows numbers. That way when my process 
errored I could see it. 

Another option is to use strace and look through the log, it lists the Win32
error there. 

Hope that helps,
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/

  reply	other threads:[~2006-10-02 19:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-07 20:04 Chris McIntosh
2006-09-07 20:51 ` Christopher Faylor
2006-09-11 15:56 ` Nick Deubert
2006-10-02 19:51   ` Chris McIntosh [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=loom.20061002T195532-70@post.gmane.org \
    --to=cmcintosh@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).