develooper Front page | perl.perl5.porters | Postings from April 2011

Re: [perl #81000] Perl reports refcnt_dec error and hangs when dyingat SIGINT in File::Copy::copy

Thread Previous
From:
Dave Mitchell
Date:
April 26, 2011 06:20
Subject:
Re: [perl #81000] Perl reports refcnt_dec error and hangs when dyingat SIGINT in File::Copy::copy
Message ID:
20110426132037.GB2824@iabyn.com
On Mon, Dec 20, 2010 at 12:44:33AM -0800, jens.schmidt35@arcor.de wrote:
> Consider the following test case:
> 
> ---- snip ----
> use strict;
> use warnings;
> use File::Copy qw( copy );
> 
> $SIG{INT} = sub { die };
> 
> copy( $ARGV[0], $ARGV[1] );
> ---- snip ----
> 
> Then call as "perl test.pl <large file> <target file>" and hit Ctrl-C
> while it runs.  In 90% of the cases I get the following error message:
> 
> ---- snip ----
> [jschmidt@mstest tmp]$ perl test.pl yyy zzz
> Died at test.pl line 5.
> refcnt_dec: fd 4: 0 <= 0
> Quit
> ---- snip ----
> 
> and Perl hangs.  I took a stack trace of the hanging Perl:

I suspect this bug (recursively calling into PerlIO via a signal handler)
was fixed by commit abf9167d3fff002ddaed53abb44d638387bca978, which is
included in perl-5.14.0-RC1.

However, I was unable to reproduce this with 5.10.1 or any other perl,
so I can't confirm that its been fixed.

-- 
Spock (or Data) is fired from his high-ranking position for not being able
to understand the most basic nuances of about one in three sentences that
anyone says to him.
    -- Things That Never Happen in "Star Trek" #19

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About