Bug#743184: perl: SpamAssassin spamd segfaults since updating servers to Debian wheezy
Martin von Wittich
martin.von.wittich at iserv.eu
Tue Apr 1 14:06:01 UTC 2014
> The bug seems unfortunately hard to reproduce by others, so I'm going
> to have to ask you to help some more. See below. If you can come up with
> a recipe to trigger a crash, that would help a lot.
I'd like to, but unfortunately I don't know how yet. Is it possible to use gdb
to identify the code that perl has been executing when it crashed? I'm not too
familiar with gdb, but I hope that this may lead to a recipe.
> So, as a further data point, could you please try with upstream 5.14.4,
> compiled with at least -Dusethreads -Duse64bitint -Duselargefiles, and
> maybe also the gcc flags from dpkg-buildflags ? (See debian/config.debian
> in the perl source package.) Note that these compilation options change
> the ABI so you'll have to reinstall all the CPAN modules too.
I've ignored the flags from from config.debian for the time being because there
are a lot and I don't understand which ones I need... most of them seem to
modify the installation paths, and I think that would be counterproductive for
my test builds. I've now compiled Perl 5.14.4 with the following command:
host ~ # ~/perl5/perlbrew/bin/perlbrew install 5.14.4 -Dusethreads -Duse64bitint -Duselargefiles
Fetching perl 5.14.4 as /usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/dists/perl-5.14.4.tar.bz2
Download http://www.cpan.org/src/5.0/perl-5.14.4.tar.bz2 to /usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/dists/perl-5.14.4.tar.bz2
Installing /usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/build/perl-5.14.4 into ~/perl5/perlbrew/perls/perl-5.14.4
This could take a while. You can run the following command on another shell to track the status:
tail -f ~/perl5/perlbrew/build.perl-5.14.4.log
perl-5.14.4 is successfully installed.
perl -V seems to confirm that the compile flags worked (see attachment
perl-v.txt). I will now rebuild SA and leave that running for a while to see if
it crashes again.
-------------- next part --------------
host ~ # ~/perl5/perlbrew/perls/perl-5.14.4/bin/perl -V
Summary of my perl5 (revision 5 version 14 subversion 4) configuration:
Platform:
osname=linux, osvers=3.2.0-0.bpo.4-686-pae, archname=i686-linux-thread-multi-64int
uname='linux host 3.2.0-0.bpo.4-686-pae #1 smp debian 3.2.41-2~bpo60+1 i686 gnulinux '
config_args='-de -Dprefix=/usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/perls/perl-5.14.4 -Dusethreads -Duse64bitint -Duselargefiles -Aeval:scriptdir=/usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/perls/perl-5.14.4/bin'
hint=recommended, useposix=true, d_sigaction=define
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 ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.7.2', 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 =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib/i386-linux-gnu /lib/../lib /usr/lib/i386-linux-gnu /usr/lib/../lib /lib /usr/lib
libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=libc-2.13.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.13'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_PRESERVE_IVUV USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
Built under linux
Compiled at Apr 1 2014 14:36:28
@INC:
/usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/i686-linux-thread-multi-64int
/usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4
/usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/perls/perl-5.14.4/lib/5.14.4/i686-linux-thread-multi-64int
/usr/share/iserv/security/ssh/martin.von.wittich/perl5/perlbrew/perls/perl-5.14.4/lib/5.14.4
.
More information about the Perl-maintainers
mailing list