delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/03/22/06:15:44

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Mon, 22 Mar 2010 12:15:32 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Cygwin1.dll 1.7.1 causes ActivePerl 5.10 hang on gzip pipe close on Windows Server 2003
Message-ID: <20100322111532.GB32321@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <87336DA2FD996C4FAB2DE4988F20DD8C9D4897 AT SRV01 DOT ghc DOT local> <30FB0BA95FB54CEAAB93ACE5DFD7D427 AT ghc DOT local> <87336DA2FD996C4FAB2DE4988F20DD8CCBE305 AT SRV01 DOT ghc DOT local>
MIME-Version: 1.0
In-Reply-To: <87336DA2FD996C4FAB2DE4988F20DD8CCBE305@SRV01.ghc.local>
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 Mar 19 15:13, Matthew Kidd wrote:
> >> I upgraded to Cygwin 1.7.1 on a (64-bit) Windows Server 2003 and
> >> immediately ran into trouble. It seems that Perl can no longer
> shutdown
> >> pipes related to Cygwin executables. Here is some example code:
> >> 
> >> #!/usr/bin/perl
> >> 
> >> use strict;
> >> 
> >> # my $fname = 'Y:\path\to\ratherbigfile.gz';
> >> my $fname = '/cygdrive/y/path/to/ratherbigfile.gz';
> >> 
> >> open(FH, "gzip -dc $fname |") || die 'open failed.';
> >> for (1..4) { my $fline = <FH>; print $fline; }
> >> 
> >> close(FH);
> >> print "done\n";
> >>  
> >> 
> >> Before Cygwin 1.7.1 this code ran fine. It printed out four lines,
> closed
> >> the pipe, and exited. But now it hangs at the close(FH) statement and
> the
> >> child gzip process maxes out a core continuing to uncompress the big
> >> file. I either have to kill the gzip process or the Perl process.
> This
> >> problem happens whether I use a Windows style file path or a Unix
> style
> >> file path. It doesn't matter if I use 32-bit or 64-bit Perl.
> >> 
> >> If I replace the cygwin1.dll file from the 1.7.1 installation with an
> >> older version of cygwin1.dll from a different installation
> (specifically
> >> 1.5.25 cr-0x5f1), the code above works fine (though I imagine mixing
> and
> >> matching DLL version is not a good long term solution).
> 
> > Try the latest developer snapshot from http://cygwin.com/snapshots/
> > fixes your problem.
> 
> I had no luck with the 1.7.2 cygwin1.dll from the developer snapshot.
> Since the 1.7.1 Cygwin package does not show this problem on a 32-bit
> Windows 7 box I think it is a 64-bit architecture issue.

I have no problem running your testcase with Windows 7 64 and the
latest Cygwin from CVS.


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