delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/06/29/06:33:44

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Tue, 29 Jun 2010 12:33:30 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: 1.7.6 snapshot: intermittent "CreateProcessW failed"
Message-ID: <20100629103330.GE8163@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <AANLkTikYWphtrMeneeOh3QpasUdOgXCfxPxbbzvOgVWS AT mail DOT gmail DOT com> <20100628183440 DOT GA18422 AT ednor DOT casa DOT cgf DOT cx> <AANLkTilrzSLVDpoBZIlUaAIdPCQQ3vcg1lx2vYCptmJj AT mail DOT gmail DOT com> <20100629083055 DOT GZ8163 AT calimero DOT vinschen DOT de> <AANLkTikvpRyGZHYS0LXK-nUr4MsP3E8At7IoPsi5lc3B AT mail DOT gmail DOT com>
MIME-Version: 1.0
In-Reply-To: <AANLkTikvpRyGZHYS0LXK-nUr4MsP3E8At7IoPsi5lc3B@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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

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

- Raw text -


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