[Chicago-talk] perl test harness failures

Whitney Jackson whjackson at gmail.com
Thu Feb 7 12:56:43 PST 2008


I just compiled perl-5.10.0 on a Linux box at work and ran 'make test'
(partial output below).  Most tests worked but a significant number
didn't.  All the failed tests bomb w/ seg faults.  All seem to be
related to signal handling/IPC.  By peeling away the successful parts
of one test file I found I could reproduce the seg fault with this one
liner:

$ ./perl -MTestInit -e 'pipe(R, W); close R; $SIG{PIPE} = sub {}; print W "_";'
zsh: segmentation fault  ./perl -MTestInit -e

Can anyone recommend a strategy for addressing this sort of problem?

Thanks,

Whitney



Example individual test output
-----------------------

$ ./perl -MTestInit io/pipe.t
1..24
ok 1 - open |- || exec
ok 2 -    again
ok 3 - open -|
ok 4 -     again
ok 5 - '97 98 99 10 114 115 116 13 120 121 122 13 10 102 111 111 10'
passes through '-|'
ok 6 - '97 98 99 10 114 115 116 13 120 121 122 13 10 102 111 111 10'
passes through '|-'
ok 7 - pipe & fork
ok 8 -     with fh dup
zsh: segmentation fault  ./perl -MTestInit io/pipe.t

'make test' output:
-------------------
...
t/pod/poderrs.................................................ok
t/pod/podselect...............................................ok
t/pod/special_seqs............................................ok
t/pod/twice...................................................ok
t/x2p/s2p.....................................................ok
Failed 10 tests out of 1428, 99.30% okay.
        ../ext/IO/t/io_pipe.t
        ../ext/POSIX/t/posix.t
        ../ext/POSIX/t/sigaction.t
        ../ext/Socket/t/socketpair.t
        ../ext/Time/HiRes/t/HiRes.t
        ../lib/warnings.t
        io/nbk6iot.t
        io/pipe.t
        op/alarm.t
        op/magic.t
### Since not all tests were successful, you may want to run some of
### them individually and examine any diagnostic messages they produce.
### See the INSTALL document's section on "make test".
### You have a good chance to get more information by running
###   ./perl harness
### in the 't' directory since most (>=80%) of the tests succeeded.
### You may have to set your dynamic library search path,
### LD_LIBRARY_PATH, to point to the build directory:
###   setenv LD_LIBRARY_PATH `pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness
###   LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH;
cd t; ./perl harness
###   export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness
### for csh-style shells, like tcsh; or for traditional/modern
### Bourne-style shells, like bash, ksh, and zsh, respectively.
u=2.59  s=1.16  cu=334.21  cs=31.92  scripts=1428  tests=189386
make[2]: *** [_test_tty] Error 1
make[2]: Leaving directory `/usr2/tmp/perl-5.10.0'
make[1]: *** [_test] Error 2
make[1]: Leaving directory `/usr2/tmp/perl-5.10.0'
make: *** [test] Error 2


More information about the Chicago-talk mailing list