develooper Front page | perl.perl5.porters | Postings from August 2012

[perl #114562] Failing test on Solaris 10 (patch)

Thread Previous
From:
Father Chrysostomos via RT
Date:
August 24, 2012 09:16
Subject:
[perl #114562] Failing test on Solaris 10 (patch)
Message ID:
rt-3.6.HEAD-11172-1345824984-740.114562-15-0@perl.org
On Fri Aug 24 06:00:48 2012, nxadm@cpan.org wrote:
> While compiling perl 5.16.1 on Solaris 10, 64-bit, threaded, there is
> one failing test (Failed 1 test out of 2249, 99.96% okay).
> 
> Configure parameters:
> export VERSION=perl-5.16.1; ./Configure -ders -Dcc=cc -Dusethreads
> -Duseithreads -Ud_sigsetjmp -Uinstallusrbinperl -Ulocincpth=
> -Uloclibpth= -Duse64bitall -Ud_str
> error_r -Ud_signbit -Duselargefiles -Dprefix=/opt/$VERSION
> -Dprivlib=/opt/$VERSION/lib -Darchlib=/opt/$VERSION/lib
> -Dsiteprefix=/opt/$VERSION/site -Dsitelib=/opt/$VERSION/site/lib -Dsite
> arch=/opt/$VERSION/site/lib 1dir=/opt/$VERSION/share/man/man1
> -Dman3dir=/opt/$VERSION/share/man/man3
> -Dsiteman1dir=/opt/$VERSION/site/share/man/man1
> -Dsiteman3dir=/opt/$VERSION/site/shar
> e/man/man3 -Dsed=/usr/bin/sed -Duseshrplib -Dcf_by="Claudio_Ramirez"
> -Dcf_email="nxadm@cpan.org" && dmake 2>&1 |tee ~/tmp/make.out && dmake
> test 2>&1 |tee ~/tmp/make_test.out
> 
> Test error:
> perl@perl10s [perl10s]:~/tmp/perl-5.16.1/t > ./perl -I../lib
op/sigsystem.t
> 1..4
> # Child PID: 12161
> ok 1 - system() without reaper succeeded 10 times out of 10
> ok 2 - system() with reaper succeeded 10 times out of 10
> # Waiting briefly for SIGCHLD...
> not ok 3 - Reaped only one process
> # Failed test 3 - Reaped only one process at op/sigsystem.t line 42
> Use of uninitialized value in numeric eq (==) at op/sigsystem.t line 43.
> not ok 4 - Reaped the right process.
> # Failed test 4 - Reaped the right process. at op/sigsystem.t line 43
> # $VAR1 = [];
> 
> Looking at the code, it appears that the sub assigned to $SIG{CHLD} on
> line 30 is never executed, hence the depending values empty. The
> attached patch moves the code to a sub which is executed in the
> assignment. The patch was created with "diff -u".
> 
> Output of the patched test:
> perl@perl10s [perl10s]:~/tmp/perl-5.16.1/t > ./perl -I../lib
> op/sigsystem.t_new
> 1..4
> # Child PID: 3558
> ok 1 - system() without reaper succeeded 10 times out of 10
> # In loop
> # Reaped: 3558
> ok 2 - system() with reaper succeeded 10 times out of 10
> # Waiting briefly for SIGCHLD...
> ok 3 - Reaped only one process
> ok 4 - Reaped the right process.
> 
> 
> Feel free to contact me for extra info, or additional tests.

What do you intend for this line to do?

+    $SIG{CHLD} = get_sigs(); 

What it actually does is assign the return value from get_sigs to
$SIG{CHLD} (undef in this case), so SIGCHLD is never tested.

-- 

Father Chrysostomos


---
via perlbug:  queue: perl5 status: new
https://rt.perl.org:443/rt3/Ticket/Display.html?id=114562

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