Stas Bekman <[EMAIL PROTECTED]> writes:
> Joe Schaefer wrote:
>
>>>Do you have any tests that clearly demonstrate the problem?
>> Guaranteeing a segfault may be tricky,
>
> They don't quite segfault for me. How is your system different than mine?
The major differences:
I'm testing 64bit debian on the trunk of all projects (httpd, apr, mp2)
against a fresh perl-5.8.x snapshot, and I enabled every debugging option
I could think of (--enable-pool-debug, CFLAGS="-g3 -gdwarf-2 -O2",
CPPFLAGS="-DAPR_BUCKET_DEBUG"; MP_DEBUG=1; MP_MAINTAINER=1) when
compiling them.
> *** Makefile.PL options:
[...]
> MP_USE_GTOP => 1
^^^^^^^^^^^^^^^^^^^^
I don't have gtop enabled.
[...]
> *** (apr|apu)-config linking info
Pretty much the same as mine, but with -lapr-1 and -laprutil-1. This
is a factor, because the segfaults are coming from libapr:
% bt
#0 apr_table_set (t=0x5236b0, key=0x517960 "1", val=0x517960 "1")
at tables/apr_tables.c:531
#1 0x0000002a96b6eb02 in XS_APR__Table_set (my_perl=0x504010, cv=0x517960)
at Table.c:243
#2 0x0000002a95704a43 in Perl_pp_entersub (my_perl=0x504010) at pp_hot.c:2890
#3 0x0000002a956ea40e in Perl_runops_debug (my_perl=0x504010) at dump.c:1449
#4 0x0000002a956a40e0 in S_run_body (my_perl=0x504010, oldscope=1)
at perl.c:1934
#5 0x0000002a956a3e45 in perl_run (my_perl=0x504010) at perl.c:1853
#6 0x0000000000401aff in main (argc=6, argv=0x7fbffff8f8, env=0x2)
at perlmain.c:95
% p *t->a.pool
$2 = {parent = 0x0, child = 0x0, sibling = 0x5236a0, ref = 0x5236a0,
cleanups = 0x2a961ed288, free_cleanups = 0x2a961ed288,
allocator = 0x2a961ed298, subprocesses = 0x2a961ed298, abort_fn = 0x5b10b0,
user_data = 0x5094c0, tag = 0x2a961ed2b8 "�\020[", nodes = 0x2a961ed2b8,
file_line = 0x599ad0 "\220FR", creation_flags = 5338784, stat_alloc = 0,
stat_total_alloc = 2518602456, stat_clear = 42, owner = 182907228888,
mutex = 0x568b40}
> *** /home/stas/perl/5.8.6-ithread/bin/perl5.8.6 -V
> Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
> Platform:
> osname=linux, osvers=2.6.8.1-12mdk, archname=i686-linux-thread-multi
> uname='linux rabbit.stason.org 2.6.8.1-12mdk #1 fri oct 1 12:53:41 cest
> 2004 i686 mobile intel(r) pentium(r) 4 - m cpu 2.00ghz unknown gnulinux '
> config_args='-des -Dprefix=/home/stas/perl/5.8.6-ithread -Dusethreads
> -Doptimize=-g -Duseshrplib -Dusedevel -Accflags=-DDEBUG_LEAKING_SCALARS'
> 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=undef use64bitall=undef uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
> -DDEBUG_LEAKING_SCALARS -DDEBUGGING -fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -I/usr/include/gdbm',
> optimize='-g',
> cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
> -DDEBUG_LEAKING_SCALARS -DDEBUGGING -fno-strict-aliasing -pipe
> -I/usr/local/include -I/usr/include/gdbm'
> ccversion='', gccversion='3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)',
> gccosandvers=''
> intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
> ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
> alignbytes=4, prototype=define
> Linker and Libraries:
> ld='cc', ldflags =' -L/usr/local/lib'
> libpth=/usr/local/lib /lib /usr/lib
> libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version='2.3.3'
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
> -Wl,-rpath,/home/stas/perl/5.8.6-ithread/lib/5.8.6/i686-linux-thread-multi/CORE'
> cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
*** /home/joe/perl/5.8.x/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
Platform:
osname=linux, osvers=2.6.9, archname=x86_64-linux-thread-multi
uname='linux gemini 2.6.9 #2 smp thu nov 4 21:00:37 est 2004 x86_64
gnulinux '
config_args='-Dprefix=/home/joe/perl/5.8.x -Dusethreads -Duseshrplib
-Doptimize=-g3 -gdwarf-2 -O2 -des'
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=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-g3 -gdwarf-2 -O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='3.3.5 (Debian 1:3.3.5-2)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-rpath,/home/joe/perl/5.8.x/lib/5.8.6/x86_64-linux-thread-multi/CORE'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
> Characteristics of this binary (from libperl):
> Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
> PERL_IMPLICIT_CONTEXT
> Locally applied patches:
> MAINT23477
> Built under linux
> Compiled at Nov 23 2004 11:38:42
> %ENV:
> PERLDOC_PAGER="less -R"
> PERL_LWP_USE_HTTP_10="1"
> @INC:
> /home/stas/perl/5.8.6-ithread/lib/5.8.6/i686-linux-thread-multi
> /home/stas/perl/5.8.6-ithread/lib/5.8.6
> /home/stas/perl/5.8.6-ithread/lib/site_perl/5.8.6/i686-linux-thread-multi
> /home/stas/perl/5.8.6-ithread/lib/site_perl/5.8.6
> /home/stas/perl/5.8.6-ithread/lib/site_perl
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS
USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Locally applied patches:
MAINT23477
Built under linux
Compiled at Nov 24 2004 01:32:52
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
/home/joe/perl/5.8.x/lib/5.8.6/x86_64-linux-thread-multi
/home/joe/perl/5.8.x/lib/5.8.6
/home/joe/perl/5.8.x/lib/site_perl/5.8.6/x86_64-linux-thread-multi
/home/joe/perl/5.8.x/lib/site_perl/5.8.6
/home/joe/perl/5.8.x/lib/site_perl
.
--
Joe Schaefer
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]