Tim Bunce wrote:
Storable is marked as a prerequisite in Makefile.PL and META.yml.
I think that's sufficient, especially as only very old perl's are
affected. Thanks for the reminder though.
Agreed.
Only used by t/pod.t and should be skipped cleanly if not installed.
Also agreed, was just trying to get all tests to fire. I should have installed
RPC/....
but I was feeling lazy. :)
Could you look into the t/40profile.t failure for 5.6.2 some more:
t/40profile..............dubious
Test returned status 9 (wstat 2304, 0x900)
DIED. FAILED tests 6-8, 26, 31, 35-36, 38-39
Failed 9/45 tests, 80.00% okay
/usr/home/pgollucci/dev/software/freebsd-7.0-current/3.4.6/perl/5.6.2/bin/perl
-MTest::More -le 'print $Test::More::VERSION'
0.64
I could upgrade to 0.64_02 but its "dev"
Attached verbose output.
The threaded versions failed the threads test --- ~1.48->1.51 or so
didn't seem to do this.
No need -- See attached (version) for an in-prod example.
This is with libpthread.so NOT libc_r.so.
Is libpthread the normal choice on freebsd 7?
(I presume so from your Config command line.)
Yes, apparently they switched it. 6.x is libc_r.so but mod_perl/httpd won't
work with that in worker or event mpms
so I always remap it.
FWIW:
libc_r.so (original library)
libpthread.so (POSIX threads -- part of SMPng in 5.x)
libkth.so (yet another model -- 1:1 Threading Library)
libc_r.so is pretty much useless in FAMP stacks. libkth is more geared towards
things like firefox/thunderbird.
--
------------------------------------------------------------------------
Philip M. Gollucci ([EMAIL PROTECTED]) 323.219.4708
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Software Engineer - TicketMaster - http://ticketmaster.com
1024D/A79997FA F357 0FDD 2301 6296 690F 6A47 D55A 7172 A799 97F
When I call your name, Girl, it starts to flame
Burning in my heart, Tearing it all apart..
No matter how I try My love I cannot hide....
t/40profile....1..45
Test enabling the profile
ok 1
ok 2
ok 3
ok 4
ok 5
not ok 6
# Failed test in t/40profile.t at line 68.
# Structures begin differing at:
# $got->{Data}{DESTROY} = HASH(0x85fc580)
# $expected->{Data}{DESTROY} = Does not exist
not ok 7
# Failed test in t/40profile.t at line 79.
# Structures begin differing at:
# $got->{Data}{}{STORE}[0] = '1'
# $expected->{Data}{}{STORE}[0] = '2'
dbi_profile
not ok 8
# Failed test in t/40profile.t at line 96.
# Structures begin differing at:
# $got->{Data}{}{STORE}[0] = '1'
# $expected->{Data}{}{STORE}[0] = '2'
1 1 1 1 1 1162407405.07602 1162407405.07602
ok 9
2 3 1 1 2 1162407405.07602 1162407405.08103
ok 10
Test collected profile data
bless( {
'Data' => {
'' => [
1,
'2.12192535400391e-05',
'2.12192535400391e-05',
'2.12192535400391e-05',
'2.12192535400391e-05',
'1162407405.08327',
'1162407405.08327'
],
'set foo=1' => [
2,
'0.000236988067626953',
'0.000220060348510742',
'1.69277191162109e-05',
'0.000220060348510742',
'1162407405.38099',
'1162407405.38123'
],
'select mode,size,name from ?' => [
2151,
'0.26842999458313',
'0.000296831130981445',
'7.39097595214844e-05',
'0.000322103500366211',
'1162407405.08405',
'1162407405.38089'
]
},
'Path' => [
'!Statement'
]
}, 'DBI::Profile' )
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
not ok 26
# Failed test in t/40profile.t at line 168.
# Structures begin differing at:
# $got->{Data}{}[0] = '1'
# $expected->{Data}{}[0] = '3'
Test profile format
Profile Output
DBI::Profile: 0.268688s 90.18% (2154 calls) 40profile.t @ 2006-11-01 10:56:45
'' =>
0.000021s
'select mode,size,name from ?' =>
0.268430s / 2151 = 0.000125s avg (first 0.000297s, min 0.000074s, max
0.000322s)
'set foo=1' =>
0.000237s / 2 = 0.000118s avg (first 0.000220s, min 0.000017s, max
0.000220s)
ok 27
ok 28
ok 29
ok 30
not ok 31
# Failed test in t/40profile.t at line 202.
# Structures begin differing at:
# $got->{Data}{usrnam}{}{foo}{STORE}[0] = '1'
# $expected->{Data}{usrnam}{}{foo}{STORE}[0] = '2'
ok 32
ok 33
ok 34
testing code ref in Path
not ok 35
# Failed test in t/40profile.t at line 284.
# Structures begin differing at:
# $got->{foo}{bar}{baz}[0] = '6'
# $expected->{foo}{bar}{baz}[0] = '8'
not ok 36
# Failed test in t/40profile.t at line 287.
# Structures begin differing at:
# $got->{foo}{ping}{pong}[0] = '6'
# $expected->{foo}{ping}{pong}[0] = '8'
ok 37 - should be vetoed
not ok 38 - $_ should contain statement
# Failed test '$_ should contain statement'
# in t/40profile.t at line 294.
# Structures begin differing at:
# $got->{}[0] = '1'
# $expected->{}[0] = '3'
not ok 39 - should have @_ as keys
# Failed test 'should have @_ as keys'
# in t/40profile.t at line 301.
# Structures begin differing at:
# $got->{DBI::db}{STORE}[0] = '1'
# $expected->{DBI::db}{STORE}[0] = '2'
ok 40 - should be able to filter by method
dbi_profile_merge
ok 41
ok 42
ok 43
ok 44
ok 45
# Looks like you failed 9 tests of 45.
DBI::Profile: 0.000000s 0.00% (1 calls) 40profile.t @ 2006-11-01 10:56:45
'fetchrow_hashref' =>
0.000000s
dubious
Test returned status 9 (wstat 2304, 0x900)
DIED. FAILED tests 6-8, 26, 31, 35-36, 38-39
Failed 9/45 tests, 80.00% okay
Failed 1/1 test scripts, 0.00% okay. 9/45 subtests failed, 80.00% okay.
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/40profile.t 9 2304 45 9 20.00% 6-8 26 31 35-36 38-39
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=freebsd, osvers=6.2-prerelease,
archname=i386-freebsd-thread-multi-64int
uname='freebsd vegeta.p6m7g8.net 6.2-prerelease freebsd 6.2-prerelease #0:
mon sep 25 04:30:04 edt 2006 [EMAIL PROTECTED]:usrobjusrsrcsysvegeta i386 '
config_args='-sde -Dprefix=/usr/local
-Darchlib=/usr/local/lib/perl5/5.8.8/mach -Dprivlib=/usr/local/lib/perl5/5.8.8
-Dman3dir=/usr/local/lib/perl5/5.8.8/perl/man/man3
-Dman1dir=/usr/local/man/man1
-Dsitearch=/usr/local/lib/perl5/site_perl/5.8.8/mach
-Dsitelib=/usr/local/lib/perl5/site_perl/5.8.8 -Dscriptdir=/usr/local/bin
-Dsiteman3dir=/usr/local/lib/perl5/5.8.8/man/man3
-Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv -Uinstallusrbinperl
-Dcc=cc -Duseshrplib
-Dccflags=-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -Doptimize=-g
-DDEBUGGING -Ud_dosuid -Ui_gdbm -Dusethreads=y -Dusemymalloc=n -Duse64bitint'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN"
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include',
optimize='-g',
cppflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK
-DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include'
ccversion='', gccversion='3.4.4 [FreeBSD] 20050518', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags ='-pthread -Wl,-E -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib
libs=-lm -lcrypt -lutil
perllibs=-lm -lcrypt -lutil
libc=, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
-Wl,-R/usr/local/lib/perl5/5.8.8/mach/CORE'
cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
Locally applied patches:
defined-or
Built under freebsd
Compiled at Sep 25 2006 06:39:57
%ENV:
PERLDOC_PAGER="less -+C -E"
@INC:
/usr/local/lib/perl5/5.8.8/BSDPAN
/usr/local/lib/perl5/site_perl/5.8.8/mach
/usr/local/lib/perl5/site_perl/5.8.8
/usr/local/lib/perl5/site_perl
/usr/local/lib/perl5/5.8.8/mach
/usr/local/lib/perl5/5.8.8
.
Server version: Apache/2.2.3
Server built: Sep 25 2006 07:57:35
Server's Module Magic Number: 20051115:3
Server loaded: APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture: 32-bit
Server MPM: Event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/experimental/event"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/sbin/suexec"
-D DEFAULT_SCOREBOARD="/var/run/apache_runtime_status"
-D DEFAULT_ERRORLOG="/var/log/httpd-error.log"
-D AP_TYPES_CONFIG_FILE="etc/apache22/mime.types"
-D SERVER_CONFIG_FILE="etc/apache22/httpd.conf"
Apache/2.2.3 (FreeBSD) PHP/5.1.6 with Suhosin-Patch mod_ruby/1.2.5
Ruby/1.8.5(2006-08-25) mod_python/3.2.10 Python/2.4.3 mod_apreq2-20051231/2.6.0
mod_perl/2.0.2 Perl/v5.8.8
/var/db/pkg/p5-DBI-1.52
EVERYTHING is threaded
perl with ithreads
apr with threads
httpd with EVENT mpm
I've had 0 DBI errors in over 3 months with this config now --- I'm betting its
-current FreeBSD issues.