fork: Resource temporarily unavailable errors after upgrading cygwin packages

Takashi Yano takashi.yano@nifty.ne.jp
Tue Feb 11 13:16:00 GMT 2020


On Tue, 11 Feb 2020 11:38:35 +0100
Peter Dons Tychsen wrote:
> On Tue, 2020-02-11 at 11:20 +0900, Takashi Yano wrote:
> > Is this the same as your problem?
> 
> Yeah, it could be. Could this result in fork error messages as we are
> seeing all over the place?

No. Fork error is not seen in my environment. This could be another
problem. However, the code using kill() below is called also by fork().
So, it may be related.

I have not investigated your problem on make, so the mechanism to
cause the problem is not clear. I do not have confidence that this
patch really fixes your problem.

> > If so, it goes without stopping 1 minute with patch:
> > https://cygwin.com/ml/cygwin-patches/2020-q1/msg00148.html
> 
> Nice trick to use pinfo as a work-around, but i could fear that others
> also call kill() at this critical time. Is there an actual fix for
> kill() in the cooking? I could fear that tools like "make" actually
> call this all over the place, especially if its aborting running
> processes. And why did this work before?

The commit message says:
>  This seems to be caused by invalid pointer access which occurs
>  when the process exits during the kill() code is execuetd. This
>  patch avoids the issue by not using kill().
however, I found the real cause is that errno is accidentally set
by kill() in pty system calls. That is, the problem is not in the
kill() itself but in usage of it. Cygwin older than 3.1.0 does not
have these code in pty. 

On Tue, 11 Feb 2020 11:40:45 +0100
Peter Dons Tychsen wrote:
> And why does it work when running without minnty? How does that play
> into this?

The code which has this problem is in the pty code. So, this occurs
only in pty such as mintty, xterm, etc. Console (cygwin in command
prompt) does not use pty, so problem does not occur in console.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list