Your message dated Sun, 10 Feb 2013 12:48:13 +0000
with message-id <[email protected]>
and subject line Bug#700171: fixed in perl 5.14.2-18
has caused the Debian Bug report #700171,
regarding Reading from STDIN fails if SIGCHLD handler is set
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
700171: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700171
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: perl
Version: 5.14.2-17
Severity: important
Forwarded: https://rt.perl.org/rt3/Public/Bug/Display.html?id=116621
Tags: patch fixed-upstream

On Tue, Feb 05, 2013 at 05:42:02PM +0000, Dmitry Panov wrote:

> I also found the same bug (by googling the commit id) reported and
> fixed in Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=767931
> It's a shame it's still present in Ubuntu and Debian...

Reporting it in Debian would help a long way towards fixing it.
Doing that now as I happened to notice the thread.

A couple of weeks ago it would have had a better chance for making it
into the upcoming wheezy release; it may well be too late now. OTOH as
a regression from squeeze it may still be eligible.

I'm attaching a slightly more compact version of the test script at
[perl #116621]. It consistently fails for me on sid/amd64 (perl 5.14.2)
but succeeds on squeeze (perl 5.10.1).

This is fixed in 5.15.4 by 
 
http://perl5.git.perl.org/perl.git/commit/be48bbe8d671b6841c3ec7cb734b98071afe3cd9
which is also attached for convenience. 

I've verified that the patch applies to our 5.14.2 package and fixes
the issue.
-- 
Niko Tyni   [email protected]
#!/usr/bin/perl

use Time::HiRes qw( usleep );
my $MAX = 1000;

if (open my $f, "|-") { # parent
    my $s = "1\n";
    my $l = length($s);

    my $i=0;
    while ($i++ < $MAX) {
        syswrite($f, $s, $l);
        usleep(rand()*30000);
    }
} else { # kid
    local $SIG{CHLD} = sub { wait };
    my $j=0;
    $j++, fork or exit while (<>);
    print $j == $MAX ? "ok # reached $j tries\n" :
                       "not ok # exited after $j tries\n";
}

>From be48bbe8d671b6841c3ec7cb734b98071afe3cd9 Mon Sep 17 00:00:00 2001
From: Chip <[email protected]>
Date: Mon, 19 Sep 2011 23:51:49 -0700
Subject: [PATCH] add a couple missing LEAVEs in perlio_async_run()

---
 perlio.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/perlio.c b/perlio.c
index f0d67ae..79c6fdf 100644
--- a/perlio.c
+++ b/perlio.c
@@ -2563,8 +2563,10 @@ S_perlio_async_run(pTHX_ PerlIO* f) {
     SAVEDESTRUCTOR_X(S_lockcnt_dec, (void*)f);
     PerlIO_lockcnt(f)++;
     PERL_ASYNC_CHECK();
-    if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) )
+    if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) ) {
+	LEAVE;
 	return 0;
+    }
     /* we've just run some perl-level code that could have done
      * anything, including closing the file or clearing this layer.
      * If so, free any lower layers that have already been
@@ -2576,6 +2578,7 @@ S_perlio_async_run(pTHX_ PerlIO* f) {
 	*f = l->next;
 	Safefree(l);
     }
+    LEAVE;
     return 1;
 }
 
-- 
1.7.10.4


--- End Message ---
--- Begin Message ---
Source: perl
Source-Version: 5.14.2-18

We believe that the bug you reported is fixed in the latest version of
perl, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Niko Tyni <[email protected]> (supplier of updated perl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 09 Feb 2013 15:31:33 +0200
Source: perl
Binary: perl-base libcgi-fast-perl perl-doc perl-modules perl-debug libperl5.14 
libperl-dev perl
Architecture: source all amd64
Version: 5.14.2-18
Distribution: unstable
Urgency: low
Maintainer: Niko Tyni <[email protected]>
Changed-By: Niko Tyni <[email protected]>
Description: 
 libcgi-fast-perl - CGI::Fast Perl module
 libperl-dev - Perl library: development files
 libperl5.14 - shared Perl library
 perl       - Larry Wall's Practical Extraction and Report Language
 perl-base  - minimal Perl system
 perl-debug - debug-enabled Perl interpreter
 perl-doc   - Perl documentation
 perl-modules - Core Perl modules
Closes: 700171
Changes: 
 perl (5.14.2-18) unstable; urgency=low
 .
   * Fix a squeeze regression with STDIN and signal handlers.
     (Closes: #700171)
Checksums-Sha1: 
 d4856f2b6cd2a964cd19ee742c0a5dc15735b71d 1729 perl_5.14.2-18.dsc
 213a1a7152c9c2164fce6d5dd76138692f7627df 157302 perl_5.14.2-18.debian.tar.gz
 069682d699f55e87b8c9bfc237cda5b48948d02c 76240 
libcgi-fast-perl_5.14.2-18_all.deb
 78feaaadefe90ad2d9d203a2d8d88e031e3c5bfb 8169524 perl-doc_5.14.2-18_all.deb
 e0548179866a74e2cb89cf3efabbc240edda3ce1 3442390 perl-modules_5.14.2-18_all.deb
 f614790799999c878fd036a4dd38afcde6bc38d9 1536800 perl-base_5.14.2-18_amd64.deb
 1f0a640f2c2686fe0d2f6e6eac86020fed38513e 8007062 perl-debug_5.14.2-18_amd64.deb
 f4007cccbd072926ed07ba76042240b3c445785f 1176 libperl5.14_5.14.2-18_amd64.deb
 d609979806f93e6dbc421d39e04b4535f11f6351 3321560 
libperl-dev_5.14.2-18_amd64.deb
 2ed2b23fc1c5b59ff4ee31da3b71d1528dd13938 4424496 perl_5.14.2-18_amd64.deb
Checksums-Sha256: 
 257c3fc44e5fd198d89bb49aa88c8d4a4486e473d3278c40f4d3ca20fd2e6798 1729 
perl_5.14.2-18.dsc
 12cc800b3a83af597b13ccd0947af96838cbe2233ac7fc4d041c6d67336380c0 157302 
perl_5.14.2-18.debian.tar.gz
 6aa78a7664314fb92d7fe098483bb1f98f371b7b990dec4993f57b47050790ae 76240 
libcgi-fast-perl_5.14.2-18_all.deb
 564fbf304be18defdf22f5e663ffba9e3e69d3d8ce79691cc3bcd6e5c4aaf55e 8169524 
perl-doc_5.14.2-18_all.deb
 ed8f1ca5481e0cbd44711740b7c7f6d27fccf47c75d5c812e6146f14c8161dd0 3442390 
perl-modules_5.14.2-18_all.deb
 a0105c60904399bed4596878ffe103560e868f1767ecbc222b76b453c076d151 1536800 
perl-base_5.14.2-18_amd64.deb
 35b1ffe8a800fee103e73c632f61ab0c9a9ca7e6ff1e40b44d028f08ebc079c1 8007062 
perl-debug_5.14.2-18_amd64.deb
 ff8d692251511029e7112f38f803163af51b5e081422fe36083102886fbb84e5 1176 
libperl5.14_5.14.2-18_amd64.deb
 a8adb5b3088bec56f209e57d702f59e61b008d74580c9c4d7ed6b5505c14837f 3321560 
libperl-dev_5.14.2-18_amd64.deb
 69baf76212f98ad2c6ca1db287ca214726fcab892d334265d5bfa3fb75ce8db1 4424496 
perl_5.14.2-18_amd64.deb
Files: 
 3d7ed3fe2560e3ec1ee3023785c389c2 1729 perl standard perl_5.14.2-18.dsc
 ea499ba760920fcc90b758c872a93c10 157302 perl standard 
perl_5.14.2-18.debian.tar.gz
 7199dc2c415b50791b8f2bd9a845a22e 76240 perl optional 
libcgi-fast-perl_5.14.2-18_all.deb
 e3776881c65ba20dfb3834eb0dca82d8 8169524 doc optional 
perl-doc_5.14.2-18_all.deb
 e03d32ca5fb7a4f415b8731f8918759c 3442390 perl standard 
perl-modules_5.14.2-18_all.deb
 92a6885bc824425faaac5e83785bb106 1536800 perl required 
perl-base_5.14.2-18_amd64.deb
 1692fb59c8ae2822c87d22faf6e16f55 8007062 debug extra 
perl-debug_5.14.2-18_amd64.deb
 02a9dc39ef09080bc435eb0c96067ad1 1176 libs optional 
libperl5.14_5.14.2-18_amd64.deb
 85a9828e9e20c7f4622a96baf8d980c9 3321560 libdevel optional 
libperl-dev_5.14.2-18_amd64.deb
 b0ac222d6b2a32e5e97608d2977512ef 4424496 perl standard perl_5.14.2-18_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlEWii4ACgkQiyizGWoHLTmNFwCffbZj7c3U/RSw7GiRh5aJvR2/
LHgAoJz7IdG7X8nXdqmjc7DOrF/x5zaq
=DNtB
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to