delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/06/25/09:54:31

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE,RCVD_IN_SORBS_WEB,SPF_HELO_PASS,TW_YG
X-Spam-Check-By: sourceware.org
From: "James Johnston" <JamesJ AT motionview3d DOT com>
To: <cygwin AT cygwin DOT com>
References: <CAOytrNAmA+Y6DrcG5T-NdVrEGLTZRWhbOEVjMh4=-_Y8xiUNjg AT mail DOT gmail DOT com> <010201cd4f24$d2eeba50$78cc2ef0$@motionview3d.com> <CAOytrNDKpnZUHgMAkKxnfEy=1p-OL97AMAXe03GknMtJnTkX=g AT mail DOT gmail DOT com>
In-Reply-To: <CAOytrNDKpnZUHgMAkKxnfEy=1p-OL97AMAXe03GknMtJnTkX=g@mail.gmail.com>
Subject: RE: stdout not visible on some programs after upgrading from to 1.7.11-1 to 1.7.15-1
Date: Mon, 25 Jun 2012 13:53:43 -0000
Message-ID: <01c201cd52d9$f04c3740$d0e4a5c0$@motionview3d.com>
MIME-Version: 1.0
X-IsSubscribed: yes
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-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id q5PDsRwt018162

> -----Original Message-----
> Sent: Friday, June 22, 2012 19:11
> Subject: Re: stdout not visible on some programs after upgrading from to
> 1.7.11-1 to 1.7.15-1
> 
> >> I use cygwin on a windows 7 machine to automate a Visual Studio 10
> >> build from the command line.  To do this, I invoke MSBuild.exe with a
> >> wrapper script called msbuild.sh (see below).  Under cygwin 1.7.11-1,
> >> the stdout
> > from
> >> msbuild.exe appears on the console where I invoke msbuild.sh as
> expected.
> >> But after a recent upgrade to 1.7.15-1, the stdout stops appearing.
> >> By inspecting the running processes in the windows task manager, I
> >> see that msbuild.exe is launching the compiler, etc.  Notably, if I
> >> replace the invocation of msbuild.exe with another program (e.g.,
> >> dir), I do see the expected stdout.
> >> Further, if I execute the relevant commands in the native cmd shell,
> >> I do
> > see
> >> the msbuild.exe output.  I considered tracking down the specific
> >> package that lead to this regression, but I didn't find a mirror with
> >> the older
> > packages.
> >> Below I've pasted the output of cygcheck -c for the working and
> >> failing systems.  Can somebody advise me on a sensible next steps to
> >> recovering the stdout of msbuild.exe?
> >>
> >> Please CC me in responses.
> >>
> >> Thanks,
> >> Brian
> >
> > <snip>
> >
> > Try both of the following:
> >
> > 1.  Update to latest development snapshot, should resolve the bug you
> > are primarily observing.
> > 2.  Set the CYGWIN environment variable to pipe_byte.  Cygwin now uses
> > message pipes by default, which are not compatible with .NET Framework
> > and Visual C++ runtimes (not currently documented anywhere in Cygwin
> > or MS documentation).
> 
> For kicks, I tried 2 by itself.  This didn't change the behavior.
> Next, I tried 1 by itself as described in [1].  This worked.  Adding in
> CYGWIN=pipe_byte did not cause anything to change.  So I presume this will
> be fixed in the next release.  Thanks for your time.

That's because "pipe_byte" won't fix the problem of a hang.  What pipe_byte
will fix is allow all non-Cygwin programs to properly handle reading from
standard input.  That's because unmanaged VC++ and managed .NET runtimes
don’t support reading a message pipe standard input.  This compatibility
issue with these common Microsoft runtimes isn't yet in the Cygwin
documentation as far as I know, which is why I'm pointing it out to you -
since you're obviously using non-Cygwin programs.

Read the past discussions about this issue and you'll see why it's
necessary, if you want the technical details.  A message pipe might seem to
work 99% of the time, but then break.


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