delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/05/23/12:07:57

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=oTiuvFx2eZgRxphZWpY3SSmi8PWWEzVKb647H2lHW76xp6ohZxvk2
7E3nhdx3UyKR9cX7Ev5ARkJKQGNw4sSzGK9/VNSNiVQNdKEaaBMs4FSIGyH6K0Kv
5SyChM3DbP5j11Oo3Wug+omPpdJbrcMFb7Dxi1XXRH4c/akwnq00bI=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=//nnFEJE7SkdgxGM1yLdrEdQBmk=; b=ONDUW8JpUVM5sCxaxTTuWs8KYMu7
/cxjxsKjnG2Gpu7mJdcp3UmMCM4vbKBMxZkZM+oiIwQ5cXcSrbrB+x8U340KSAtB
z5rN+gGEtxYhkkyk5LKkjaYtLhf1NK/Lwb7FEoeAmbzhWoaf/DKn7eyzTcyN6lT/
BcvgJqzJdKw5bxg=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,TO_NO_BRKTS_PCNT autolearn=ham version=3.3.1
Date: Thu, 23 May 2013 18:07:11 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: make, PATH & "Win32 error 487"
Message-ID: <20130523160711.GB25295@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <alpine DOT LFD DOT 2 DOT 03 DOT 1305230950500 DOT 1918 AT mcs DOT anl DOT gov>
MIME-Version: 1.0
In-Reply-To: <alpine.LFD.2.03.1305230950500.1918@mcs.anl.gov>
User-Agent: Mutt/1.5.21 (2010-09-15)

On May 23 10:14, Satish Balay wrote:
> Hi,
> 
> I'm seeing the following behavior with make, PATH on cygwin. Google
> brought up a related post [with PATH and same error]
> http://comments.gmane.org/gmane.os.cygwin/137168 with reference to
> http://cygwin.com/acronyms/#BLODA as the issue - but I don't
> understand how this would apply to this case. Hence this post.
> 
> Attaching a makefile that demonstrates this problem. The following are
> my observations.
> 
> - The breakage is observable - when I have 2 commands invoked via 'make'
>   either as 'cmd1|cmd2' or 'cmd1; cmd2'.  The same command executed directly
>   by a shell script runs fine. Or single command from make runs fine as well.
> - It appears to be related to the huge length of one of the commands - and
>   length of PATH
> - I tried it on 3 different machines [with differences in default installed software]
>   win2008/x64  - breaks when PATH is over 1.5K chars
>   win2003/x32 - breaks when PATH is over  2K chars
>   win7/x32    - breaks when PATH is over 20K chars.
> 
> Any ideas on how to debug this further to better understand the issue
> - or workarrounds? This is with latest cygwin [and rebaseall done
> correctly]

There's perhaps not much you can do.  First of all, the problem is known
for a while, but even though we're trying a lot of stuff to make sure
that fork works, the OS has some funny notions sometimes, which make it
hard to get fork 100% reliable.

In this case, there's a subtil difference between the first shell
started from make, and a forked subshell.  The difference is something
to do with the size of $PATH which results in a different position of
the main stack in the forked child process.  This breaks fork because
fork semantics require to be able to reproduce the parent memory in the
child process.

Thanks for the test case.  I'm just investigating what happens exactly,
and I have a few ideas how we can workaround this problem to make fork
a bit more reliable in this situation.  This requires some fiddling
around, so, just stay tuned for a couple of days.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019