Skip Menu |

This queue is for tickets about the Time-HiRes CPAN distribution.

Report information
The Basics
Id: 62156
Status: resolved
Priority: 0/
Queue: Time-HiRes

People
Owner: Nobody in particular
Requestors: metaperl@gmail.com (no email address)
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.9721
Fixed in: (no value)



Subject: Test 46-47 failure on perl 5.10 ubutnu 10.04 (lucid)
Per the transcript below Time::HiRes fails tests 46 and 47 Running make for J/JH/JHI/Time-HiRes-1.9721.tar.gz Checksum for /home/ubuntu/.cpan/sources/authors/id/J/JH/JHI/Time-HiRes-1.9721.tar.gz ok Time-HiRes-1.9721/ Time-HiRes-1.9721/Changes Time-HiRes-1.9721/fallback/ Time-HiRes-1.9721/hints/ Time-HiRes-1.9721/HiRes.pm Time-HiRes-1.9721/HiRes.xs Time-HiRes-1.9721/Makefile.PL Time-HiRes-1.9721/MANIFEST Time-HiRes-1.9721/META.yml Time-HiRes-1.9721/ppport.h Time-HiRes-1.9721/README Time-HiRes-1.9721/t/ Time-HiRes-1.9721/TODO Time-HiRes-1.9721/typemap Time-HiRes-1.9721/t/HiRes.t Time-HiRes-1.9721/hints/aix.pl Time-HiRes-1.9721/hints/dec_osf.pl Time-HiRes-1.9721/hints/dynixptx.pl Time-HiRes-1.9721/hints/irix.pl Time-HiRes-1.9721/hints/linux.pl Time-HiRes-1.9721/hints/sco.pl Time-HiRes-1.9721/hints/solaris.pl Time-HiRes-1.9721/hints/svr4.pl Time-HiRes-1.9721/fallback/const-c.inc Time-HiRes-1.9721/fallback/const-xs.inc CPAN.pm: Going to build J/JH/JHI/Time-HiRes-1.9721.tar.gz Configuring Time::HiRes... Using hints hints/linux.pl... Extra libraries: -lrt... Have syscall()... looking for syscall.h... found <syscall.h>. Looking for gettimeofday()... found. Looking for setitimer()... found. Looking for getitimer()... found. You have interval timers (both setitimer and getitimer). Looking for ualarm()... NOT found. But you have setitimer(). We can make a Time::HiRes::ualarm(). Looking for usleep()... found. Looking for nanosleep()... testing... found. You can mix subsecond sleeps with signals, if you want to. (It's still not portable, though.) Looking for clock_gettime()... found. Looking for clock_getres()... found. Looking for clock_nanosleep()... found. Looking for clock()... found. Looking for stat() subsecond timestamps... Trying struct stat st_atimespec.tv_nsec...NOT found. Trying struct stat st_atimensec...NOT found. Trying struct stat st_atime_n...NOT found. Trying struct stat st_atim.tv_nsec...found. Trying struct stat st_uatime...NOT found. You seem to have stat() subsecond timestamps. (Your struct stat has them, but the filesystems must help.) Checking if your kit is complete... Looks good Processing hints file hints/linux.pl Writing Makefile for Time::HiRes Now you may issue 'make'. Do not forget also 'make test'. cp HiRes.pm blib/lib/Time/HiRes.pm /usr/bin/perl /usr/local/share/perl/5.10.1/ExtUtils/xsubpp -typemap /usr/share/perl/5.10/ExtUtils/typemap -typemap typemap HiRes.xs > HiRes.xsc && mv HiRes.xsc HiRes.c cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.9721\" -DXS_VERSION=\"1.9721\" -fPIC "-I/usr/lib/perl/5.10/CORE" -DTIME_HIRES_NANOSLEEP -DTIME_HIRES_CLOCK_GETTIME -DTIME_HIRES_CLOCK_GETRES -DTIME_HIRES_CLOCK_NANOSLEEP -DTIME_HIRES_CLOCK -DTIME_HIRES_STAT=4 -DATLEASTFIVEOHOHFIVE HiRes.c Running Mkbootstrap for Time::HiRes () chmod 644 HiRes.bs rm -f blib/arch/auto/Time/HiRes/HiRes.so cc -shared -O2 -g -L/usr/local/lib -fstack-protector HiRes.o -o blib/arch/auto/Time/HiRes/HiRes.so \ -lrt \ chmod 755 blib/arch/auto/Time/HiRes/HiRes.so cp HiRes.bs blib/arch/auto/Time/HiRes/HiRes.bs chmod 644 blib/arch/auto/Time/HiRes/HiRes.bs Manifying blib/man3/Time::HiRes.3pm JHI/Time-HiRes-1.9721.tar.gz /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/HiRes.t .. Failed 2/48 subtests (less 3 skipped subtests: 43 okay) Test Summary Report ------------------- t/HiRes.t (Wstat: 0 Tests: 48 Failed: 2) Failed tests: 46-47 Files=1, Tests=48, 42 wallclock secs ( 0.02 usr 0.00 sys + 6.72 cusr 0.05 csys = 6.79 CPU) Result: FAIL Failed 1/1 test programs. 2/48 subtests failed. make: *** [test_dynamic] Error 255 JHI/Time-HiRes-1.9721.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports JHI/Time-HiRes-1.9721.tar.gz Running make install make test had returned bad status, won't install without force
It turns out that the install works fine when you issue the install command from the shell. But the 2 same tests fail consistently when run from a Makefile On Thu Oct 14 22:58:00 2010, TBONE wrote: Show quoted text
> Per the transcript below Time::HiRes fails tests 46 and 47 > > Running make for J/JH/JHI/Time-HiRes-1.9721.tar.gz > Checksum for > /home/ubuntu/.cpan/sources/authors/id/J/JH/JHI/Time-HiRes-1.9721.tar.gz ok > Time-HiRes-1.9721/ > Time-HiRes-1.9721/Changes > Time-HiRes-1.9721/fallback/ > Time-HiRes-1.9721/hints/ > Time-HiRes-1.9721/HiRes.pm > Time-HiRes-1.9721/HiRes.xs > Time-HiRes-1.9721/Makefile.PL > Time-HiRes-1.9721/MANIFEST > Time-HiRes-1.9721/META.yml > Time-HiRes-1.9721/ppport.h > Time-HiRes-1.9721/README > Time-HiRes-1.9721/t/ > Time-HiRes-1.9721/TODO > Time-HiRes-1.9721/typemap > Time-HiRes-1.9721/t/HiRes.t > Time-HiRes-1.9721/hints/aix.pl > Time-HiRes-1.9721/hints/dec_osf.pl > Time-HiRes-1.9721/hints/dynixptx.pl > Time-HiRes-1.9721/hints/irix.pl > Time-HiRes-1.9721/hints/linux.pl > Time-HiRes-1.9721/hints/sco.pl > Time-HiRes-1.9721/hints/solaris.pl > Time-HiRes-1.9721/hints/svr4.pl > Time-HiRes-1.9721/fallback/const-c.inc > Time-HiRes-1.9721/fallback/const-xs.inc > > CPAN.pm: Going to build J/JH/JHI/Time-HiRes-1.9721.tar.gz > > Configuring Time::HiRes... > Using hints hints/linux.pl... > Extra libraries: -lrt... > Have syscall()... looking for syscall.h... found <syscall.h>. > Looking for gettimeofday()... found. > Looking for setitimer()... found. > Looking for getitimer()... found. > You have interval timers (both setitimer and getitimer). > Looking for ualarm()... NOT found. > But you have setitimer(). > We can make a Time::HiRes::ualarm(). > Looking for usleep()... found. > Looking for nanosleep()... testing... found. > You can mix subsecond sleeps with signals, if you want to. > (It's still not portable, though.) > Looking for clock_gettime()... found. > Looking for clock_getres()... found. > Looking for clock_nanosleep()... found. > Looking for clock()... found. > Looking for stat() subsecond timestamps... > Trying struct stat st_atimespec.tv_nsec...NOT found. > Trying struct stat st_atimensec...NOT found. > Trying struct stat st_atime_n...NOT found. > Trying struct stat st_atim.tv_nsec...found. > Trying struct stat st_uatime...NOT found. > You seem to have stat() subsecond timestamps. > (Your struct stat has them, but the filesystems must help.) > Checking if your kit is complete... > Looks good > Processing hints file hints/linux.pl > Writing Makefile for Time::HiRes > Now you may issue 'make'. Do not forget also 'make test'. > cp HiRes.pm blib/lib/Time/HiRes.pm > /usr/bin/perl /usr/local/share/perl/5.10.1/ExtUtils/xsubpp -typemap > /usr/share/perl/5.10/ExtUtils/typemap -typemap typemap HiRes.xs > > HiRes.xsc && mv HiRes.xsc HiRes.c > cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe > -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.9721\" > -DXS_VERSION=\"1.9721\" -fPIC "-I/usr/lib/perl/5.10/CORE" > -DTIME_HIRES_NANOSLEEP -DTIME_HIRES_CLOCK_GETTIME > -DTIME_HIRES_CLOCK_GETRES -DTIME_HIRES_CLOCK_NANOSLEEP > -DTIME_HIRES_CLOCK -DTIME_HIRES_STAT=4 -DATLEASTFIVEOHOHFIVE HiRes.c > Running Mkbootstrap for Time::HiRes () > chmod 644 HiRes.bs > rm -f blib/arch/auto/Time/HiRes/HiRes.so > cc -shared -O2 -g -L/usr/local/lib -fstack-protector HiRes.o -o > blib/arch/auto/Time/HiRes/HiRes.so \ > -lrt \ > > chmod 755 blib/arch/auto/Time/HiRes/HiRes.so > cp HiRes.bs blib/arch/auto/Time/HiRes/HiRes.bs > chmod 644 blib/arch/auto/Time/HiRes/HiRes.bs > Manifying blib/man3/Time::HiRes.3pm > JHI/Time-HiRes-1.9721.tar.gz > /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/HiRes.t .. Failed 2/48 subtests > (less 3 skipped subtests: 43 okay) > > Test Summary Report > ------------------- > t/HiRes.t (Wstat: 0 Tests: 48 Failed: 2) > Failed tests: 46-47 > Files=1, Tests=48, 42 wallclock secs ( 0.02 usr 0.00 sys + 6.72 cusr > 0.05 csys = 6.79 CPU) > Result: FAIL > Failed 1/1 test programs. 2/48 subtests failed. > make: *** [test_dynamic] Error 255 > JHI/Time-HiRes-1.9721.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports JHI/Time-HiRes-1.9721.tar.gz > Running make install > make test had returned bad status, won't install without force
Those two tests depend on the timing with which the test script runs, and so are vulnerable to intermittent false failure depending on how loaded the host is. I'd like to see whether you can get the test to reliably pass by increasing the margins. In t/HiRest.t, on line 794 change "500_000" to "5_000_000", on line 801 change "0.3" to "3", and on line 805 change "300_000" to "3_000_000". With these changes, can you still get the test to fail? If it does fail, please show me the raw output from the test script. -zefram
Presumably in the five years since this was filed, interest has waned. If not, please reply to the last post on the ticket. Otherwise, I will be closing this ticket in a week or two. -- rjbs