Thread

Posted on Sun Jul 1 16:42:59 2007 by vistaman
stress_re stress_cv stress_string don't let thread module to be installed!
perl -MCPAN -e shell cpan install threads CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Sat, 30 Jun 2007 11:50:58 GMT Running install for module threads Running make for J/JD/JDHEDDEN/threads-1.63.tar.gz CPAN: Digest::MD5 loaded ok Checksum for /root/.cpan/sources/authors/id/J/JD/JDHEDDEN/threads-1.63.tar.gz ok Scanning cache /root/.cpan/build for sizes threads-1.63/ threads-1.63/t/ threads-1.63/t/join.t threads-1.63/t/free2.t threads-1.63/t/stack.t threads-1.63/t/exit.t threads-1.63/t/basic.t threads-1.63/t/test.pl threads-1.63/t/state.t threads-1.63/t/context.t threads-1.63/t/pod.t threads-1.63/t/end.t threads-1.63/t/free.t threads-1.63/t/problems.t threads-1.63/t/blocks.t threads-1.63/t/err.t threads-1.63/t/list.t threads-1.63/t/stress_cv.t threads-1.63/t/thread.t threads-1.63/t/stack_env.t threads-1.63/t/stress_re.t threads-1.63/t/libc.t threads-1.63/t/kill.t threads-1.63/t/stress_string.t threads-1.63/Changes threads-1.63/threads.xs threads-1.63/MANIFEST threads-1.63/threads.h threads-1.63/hints/ threads-1.63/hints/linux.pl threads-1.63/hints/hpux.pl threads-1.63/threads.pm threads-1.63/ppport.h threads-1.63/examples/ threads-1.63/examples/pool.pl threads-1.63/Makefile.PL threads-1.63/README threads-1.63/META.yml Removing previously used /root/.cpan/build/threads-1.63 CPAN.pm: Going to build J/JD/JDHEDDEN/threads-1.63.tar.gz Checking if your kit is complete... Looks good Processing hints file hints/linux.pl Writing Makefile for threads cp threads.pm blib/lib/threads.pm /usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8. 5/ExtUtils/typemap threads.xs threads.xsc && mv threads.xsc threads.c gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/us r/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm - O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -DVERSION=\"1.63\" -DXS_VERSION=\ "1.63\" -fPIC "-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE" -DHAS_PPPOR T_H threads.c Running Mkbootstrap for threads () chmod 644 threads.bs rm -f blib/arch/auto/threads/threads.so gcc -shared -L/usr/local/lib threads.o -o blib/arch/auto/threads/threads.so -lpthread chmod 755 blib/arch/auto/threads/threads.so cp threads.bs blib/arch/auto/threads/threads.bs chmod 644 blib/arch/auto/threads/threads.bs Manifying blib/man3/threads.3pm /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/basic............# Testing threads 1.63 t/basic............ok t/blocks...........Scalars leaked: 1 Scalars leaked: 1 Scalars leaked: 1 Scalars leaked: 1 t/blocks...........ok 3/5Scalars leaked: 1 t/blocks...........ok t/context..........ok t/end..............ok t/err..............ok t/exit.............ok t/free.............ok t/free2............ok t/join.............ok t/kill.............Scalars leaked: 1 t/kill.............ok t/libc.............ok t/list.............ok t/pod..............ok 2/2 skipped: various reasons t/problems.........ok 3/15 unexpectedly succeeded t/stack............ok t/stack_env........ok t/state............ok t/stress_cv........ok 20/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 21/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 22/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 23/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 24/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 25/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 26/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 27/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 28/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 29/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 30/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 31/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 32/63Thread creation failed: pthread_create returned 12 at t/stress_cv.t line 48. t/stress_cv........ok 50/63Can't call method "join" on an undefined value at t/stress_cv.t line 53. t/stress_cv........dubious Test returned status 12 (wstat 3072, 0xc00) DIED. FAILED tests 51-63 Failed 13/63 tests, 79.37% okay t/stress_re........ok 1/31Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. Thread creation failed: pthread_create returned 12 at t/stress_re.t line 53. t/stress_re........ok 18/31Can't call method "join" on an undefined value at t/stress_re.t line 57. t/stress_re........dubious Test returned status 12 (wstat 3072, 0xc00) DIED. FAILED tests 20-31 Failed 12/31 tests, 61.29% okay t/stress_string....ok 20/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 21/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 22/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 23/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 24/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 25/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 26/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 27/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 28/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 29/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 30/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 31/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 32/63Thread creation failed: pthread_create returned 12 at t/stress_string.t line 49. t/stress_string....ok 50/63Can't call method "join" on an undefined value at t/stress_string.t line 54. t/stress_string....dubious Test returned status 12 (wstat 3072, 0xc00) DIED. FAILED tests 51-63 Failed 13/63 tests, 79.37% okay t/thread...........ok 24/31Thread creation failed: pthread_create returned 12 at t/thread.t line 167. Thread creation failed: pthread_create returned 12 at t/thread.t line 167. Thread creation failed: pthread_create returned 12 at t/thread.t line 167. Thread creation failed: pthread_create returned 12 at t/thread.t line 167. Thread creation failed: pthread_create returned 12 at t/thread.t line 167. Thread creation failed: pthread_create returned 12 at t/thread.t line 167. Thread creation failed: pthread_create returned 12 at t/thread.t line 167. # Failed at t/thread.t line 169 t/thread...........FAILED test 25 Failed 1/31 tests, 96.77% okay (less 5 skipped tests: 25 okay, 80.65%) Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/stress_cv.t 12 3072 63 26 41.27% 51-63 t/stress_re.t 12 3072 31 24 77.42% 20-31 t/stress_string.t 12 3072 63 26 41.27% 51-63 t/thread.t 31 1 3.23% 25 (3 subtests UNEXPECTEDLY SUCCEEDED), 7 subtests skipped. Failed 4/21 test scripts, 80.95% okay. 39/560 subtests failed, 93.04% okay. make: *** [test_dynamic] Error 255 /usr/bin/make test -- NOT OK Running make install make test had returned bad status, won't install without force
Direct Responses: 5600 | Write a response
Posted on Sun Jul 1 21:24:34 2007 by jdhedden in response to 5598
Re: stress_re stress_cv stress_string don't let thread module to be installed!
They all fail with "pthread_create returned 12". 12 is ENOMEM in /usr/include/sys/errno.h. So it seems to be complaining that your box doesn't have enough memory to run these tests. This seems strange, however, as you're running Linux. So it would seem to me that your Linux is not configured with enough swap space. The tests don't create an excessive number of threads, so you should really look into increasing the swap space (or possibly physical ram) on your system.

However, your report does illustrate that the tests do not robustly handle thread creation failures, so I'll fix that. Thanks.
Write a response