X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Tue, 29 Jun 2010 12:33:30 +0200
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: 1.7.6 snapshot: intermittent "CreateProcessW failed"
Message-ID: <20100629103330.GE8163@calimero.vinschen.de>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <AANLkTikYWphtrMeneeOh3QpasUdOgXCfxPxbbzvOgVWS@mail.gmail.com> <20100628183440.GA18422@ednor.casa.cgf.cx> <AANLkTilrzSLVDpoBZIlUaAIdPCQQ3vcg1lx2vYCptmJj@mail.gmail.com> <20100629083055.GZ8163@calimero.vinschen.de> <AANLkTikvpRyGZHYS0LXK-nUr4MsP3E8At7IoPsi5lc3B@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <AANLkTikvpRyGZHYS0LXK-nUr4MsP3E8At7IoPsi5lc3B@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On Jun 29 10:48, Andy Koppe wrote:
> On 29 June 2010 09:30, Corinna Vinschen wrote:
> > On Jun 29 09:16, Andy Koppe wrote:
> >>
> >>       4 [main] sh 396 fork: child -1 - CreatProcessW failed for
> >> '\??\C:\bin\sh.exe', errno 2
> >
> > Looks like the path is missing a directory.  I assume you didn't
> > install Cygwin to C:\ but to C:\cygwin, right?  Or does the path
> > make sense when ignoring the NT prefix "\??\"?
> 
> The path is correct.
> 
> C:/bin on /usr/bin type ntfs (binary,auto)
> C:/lib on /usr/lib type ntfs (binary,auto)
> C: on / type ntfs (binary,auto)

Urgh.  I hope you know what you're doing...

However, I didn't immediately realize that "\??\C:\bin\sh.exe" is the
exact string used in the call to CreateProcessW.  Which is wrong, of course,
since \??\ is a native NT path.  That should be "\\?\" when calling a
Win32 wide char function.
I found two lines in the code which accidentally copied a native NT path
into the WCHAR process name storage, rather than the Win32 path.  I fixed
that in CVS, but since I couldn't reproduce the problem yet, it would be
helpful if you could test it.

> Unfortunately the top-level make just exits early before really doing
> anything if I run it through strace (see below). It starts doing
> actual work if I add '-f' to the strace arguments, but then of course
> strace no longer captures events in sub-makes, which is where the
> problem occurs.

Hmm.  Did you run make from a mintty?  Does it work if you start it
from a Windows console in notty mode?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          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

