Subject: | Tests fail on ppc |
I've been noticed threads-lite-0.031 does not pass test on 32bit PowerPC
architecture with perl 5.12.3 on Linux.
More precisely test t/11-input.t dead-locks and all other tests except
t/00-load.t and first of t/10-basics.t fails.
This is output of compilation:
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.KIZOog
+ umask 022
+ cd /builddir/build/BUILD
+ cd threads-lite-0.031
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /usr/bin/perl Build.PL installdirs=vendor 'optimize=-O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -Wl,-z,relro -m32'
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'threads-lite' version '0.031'
+ ./Build
Building threads-lite
gcc -Isrc -I/usr/lib/perl5/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -o src/resources.o src/resources.c
src/resources.c:25:8: warning: return type defaults to 'int' [-Wreturn-type]
src/resources.c: In function 'end_locker':
src/resources.c:65:8: warning: unused variable 'items' [-Wunused-variable]
src/resources.c: In function 'S_thread_send':
src/resources.c:176:4: warning: statement with no effect [-Wunused-value]
src/resources.c: In function 'S_queue_send':
src/resources.c:186:4: warning: statement with no effect [-Wunused-value]
src/resources.c: In function 'S_queue_receive':
src/resources.c:197:4: warning: statement with no effect [-Wunused-value]
src/resources.c: In function 'S_queue_receive_nb':
src/resources.c:210:4: warning: statement with no effect [-Wunused-value]
src/resources.c: In function 'S_send_listeners':
src/resources.c:216:2: warning: unused variable 'rEtV' [-Wunused-variable]
src/resources.c:216:2: warning: unused variable 'cur_env'
[-Wunused-variable]
src/resources.c: In function 'thread_add_listener':
src/resources.c:245:4: warning: statement with no effect [-Wunused-value]
src/resources.c: In function 'S_resource_init':
src/resources.c:29:1: warning: control reaches end of non-void function
[-Wreturn-type]
gcc -Isrc -I/usr/lib/perl5/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -o src/sync.o src/sync.c
gcc -Isrc -I/usr/lib/perl5/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -o src/queue.o src/queue.c
src/queue.c: In function 'S_queue_enqueue':
src/queue.c:49:11: warning: unused variable 'new_entry' [-Wunused-variable]
src/queue.c: At top level:
src/queue.c:12:13: warning: 'node_unshift' defined but not used
[-Wunused-function]
gcc -Isrc -I/usr/lib/perl5/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -o src/message.o src/message.c
gcc -Isrc -I/usr/lib/perl5/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -o src/mthread.o src/mthread.c
src/mthread.c: In function 'store_self':
src/mthread.c:75:2: warning: value computed is not used [-Wunused-value]
src/mthread.c:79:2: warning: value computed is not used [-Wunused-value]
src/mthread.c:82:2: warning: value computed is not used [-Wunused-value]
src/mthread.c: In function 'start_thread':
src/mthread.c:262:6: warning: variable 'rc_thread_create' set but not
used [-Wunused-but-set-variable]
src/mthread.c: In function 'prepare_thread_create':
src/mthread.c:336:5: warning: unused variable 'id' [-Wunused-variable]
gcc -Isrc -I/usr/lib/perl5/CORE -DXS_VERSION="0.031" -DVERSION="0.031"
-fPIC -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -o
lib/threads/lite.o lib/threads/lite.c
lib/threads/lite.c: In function 'XS_threads__lite_spawn':
lib/threads/lite.c:109:7: warning: unused variable 'RETVAL'
[-Wunused-variable]
lib/threads/lite.c: In function 'XS_threads__lite_self':
lib/threads/lite.xs:84:12: warning: unused variable 'thread'
[-Wunused-variable]
lib/threads/lite.xs: In function 'XS_threads__lite__queue_dequeue_nb':
lib/threads/lite.xs:192:3: warning: suggest parentheses around
assignment used as truth value [-Wparentheses]
lib/threads/lite.xs: In function 'S_return_elements':
lib/threads/lite.xs:26:2: warning: 'count' may be used uninitialized in
this function [-Wuninitialized]
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/threads/lite/lite.bs')
gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -L/usr/local/lib -o
blib/arch/auto/threads/lite/lite.so lib/threads/lite.o src/resources.o
src/sync.o src/queue.o src/message.o src/mthread.o
+ exit 0
And tests with disabled t/11-input.t:
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.lhTUnI
+ umask 022
+ cd /builddir/build/BUILD
+ cd threads-lite-0.031
+ unset DISPLAY
+ rm t/11-input.t
+ ./Build test verbose=1
# Testing threads::lite 0.031, Perl 5.012003, /usr/bin/perl
t/00-load.t .......
1..1
ok 1 - use threads::lite;
ok
t/10-basics.t .....
1..6
ok 1 - Created thread
Failed 5/6 subtests
t/20-lists.t ......
1..1
Failed 1/1 subtests
t/20-queues.t .....
1..4
Failed 4/4 subtests
t/pod-coverage.t ..
1..4
ok 1 - Pod coverage on threads::lite
ok 2 - Pod coverage on threads::lite::tid
ok 3 - Pod coverage on threads::lite::queue
ok 4 - Pod coverage on threads::lite::list
ok
t/pod.t ...........
1..4
ok 1 - POD test for blib/lib/threads/lite.pm
ok 2 - POD test for blib/lib/threads/lite/tid.pm
ok 3 - POD test for blib/lib/threads/lite/queue.pm
ok 4 - POD test for blib/lib/threads/lite/list.pm
ok
Test Summary Report
-------------------
t/10-basics.t (Wstat: 14 Tests: 1 Failed: 0)
Non-zero wait status: 14
Parse errors: Bad plan. You planned 6 tests but ran 1.
t/20-lists.t (Wstat: 14 Tests: 0 Failed: 0)
Non-zero wait status: 14
Parse errors: Bad plan. You planned 1 tests but ran 0.
t/20-queues.t (Wstat: 14 Tests: 0 Failed: 0)
Non-zero wait status: 14
Parse errors: Bad plan. You planned 4 tests but ran 0.
Files=6, Tests=10, 16 wallclock secs ( 0.03 usr 0.01 sys + 0.56 cusr
0.03 csys = 0.63 CPU)
Result: FAIL
Failed 3/6 test programs. 0/10 subtests failed.
Any advise would be appreciated.