delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/09/09/23:36:22

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
X-Authentication-Warning: beta.cis.ohio-state.edu: sears owned process doing -bs
Date: Sun, 9 Sep 2001 23:35:39 -0400 (EDT)
From: russell christian sears <sears AT cis DOT ohio-state DOT edu>
To: <cygwin AT cygwin DOT com>
Subject: RE: 1.3.2, 1.1.8: Pipelines losing data? (Windows 2000) (fwd)
Message-ID: <Pine.GSO.4.33.0109092329130.2819-100000@beta.cis.ohio-state.edu>
MIME-Version: 1.0

I wrote into the mailing list a while back.  Basically, doing a :
less <file> | grep word
Was failing intermittantly under cygwin in Windows 2000. I recieved the
following message, and as I no longer have access to the computers which
were suffering from the problem, I've forwarded this message to the list,
in case anyone has a solution.

(The original thread should be in the July archives, and the url to the
problem file should still be valid.)

-Rusty

---------- Forwarded message ----------
Date: Fri, 7 Sep 2001 11:19:50 -0500 (CDT)
From: D.J. Miller II <jamesm AT realtime DOT net>
Reply-To: jamesm AT bga DOT com
To: sears AT cis DOT ohio-state DOT edu
Subject: RE: 1.3.2, 1.1.8: Pipelines losing data? (Windows 2000)

Hi, Russell,

I found the following post from you in the cygwin mailing list archive
(http://sources.redhat.com/ml/cygwin/2001-07/threads.html#00028):
> To: "Sheldon, Ken" <ksheldon at context dot com>
> Subject: RE: 1.3.2, 1.1.8: Pipelines losing data? (Windows 2000)
> From: russell christian sears <sears at cis dot ohio-state dot edu>
> Date: Wed, 11 Jul 2001 10:42:45 -0400 (EDT)
> cc: <cygwin at cygwin dot com>
>
> Sorry about the long response time.
>
> I'm not trying to use grep as a pager, instead, I'm using it like cat.
> (If it sees that it's writing to a pipe instead of a terminal, it behaves
> like cat.)  I'm concerned that the cygwin libraries are somehow mangling
> the pipe.  I've only been able to reproduce it on systems with an almost
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> identical configuration to mine, (Dell Dimension 4100, Windows 2000
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Professional) but I am worried that it could affect other users, and
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> result in mangled or incorrect output.
[...]
> > -----Original Message-----
> > From: russell christian sears [mailto:sears AT cis DOT ohio-state DOT edu]
> > Sent: Monday, July 02, 2001 8:21 AM
[...]
> > When I run the command `less file.txt | grep cygwin` it sometimes fails to
> > find a match in the file, even though the file does contain the string.
> >
> > It seems to be sporadic, but I have been able to reproduce the problem on
> > three machines, each of which ran at about 700mhz.  Other commands that
[...]
> > Also, the string "cygwin" always appears at the end of a line in the file,
> > which may be related to this bug.
> >
> > I have tried both version 1.1.8 and the current cygwin distribution.
> > (1.3.2)  Both seem to suffer from this problem.
> >
> > As a control, I've checked this against a Linux system, and the bug did
> > not exist there.

Well, hello from one of those other users!

I'm running cygwin 1.3.2 on Windows 2000 ("WinNT Ver 5.0 build 2195
Service Pack 1") on a Dell Dimension 4100 with a ~1 GHz pentium ("x86
Family 6 Model 8 Stepping 10 GenuineIntel ~1000 Mhz") and am seeing a
problem similar to yours with pipes.  In particular, when I run the
following one-line sh script at the bash prompt (I've put line breaks in
it here in this message for readability) I get really erratic results:

  find . -type f -print |
      while read f; do
          echo $f | grep CVS > /dev/null;
          if [ $? -ne 0 ]; then
              echo $f;
          fi;
      done

(In other words, the one liner is supposed to recurse from the current
working directory all the way down and print out only filenames which do
not contain "CVS" in their names or in the names of any of their parent
directories.)

There are two interesting feature about the results of the above
script.  First is that the results change from run to run; in other
words there's a race condition in there somewhere.  Second is that it
appears that "extra" data is appearing on the pipe, or perhaps "old
data" at a "new time."

If I replace the pipe between ``echo $f'' and ``grep CVS...'' with a
temporary file then the problem disappears:

  find . -type f -print |
      while read f; do
          echo $f > ~/tmp/filename
          grep CVS filename > /dev/null;
          if [ $? -ne 0 ]; then
              echo $f;
          fi;
      done

Have you gotten any more information from any cygwin folks about this
"pipelines losing data" problem?  If not, feel free to forward this
message to them.
____________________________________________________________

               James Miller in Austin, Texas

       Internet:   jamesm AT bga DOT com       (198.3.118.20)
      alternate:   jamesm AT wixer DOT bga DOT com (198.3.118.3)

____________________________________________________________


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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