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=114562Thread Previous