Public bug reported: Impossible to use DBI with DBD::mysql on Ubuntu 10.04.1 LTS. I get Segmentation fault of Perl when exiting the script.
It seems that there is an internal destructor for DBD which is called on script exit which produce this segfault error. I can repeat the error at any time. Here are the details: r...@trashmail /var/www/trashmail/sbin # /usr/bin/perl ./recv_mail_postfix.pl stephan.ferraro trashmail.net < test.txt Segmentation fault (gdb) r ./recv_mail_postfix.pl stephan.ferraro trashmail.net < test.txt Starting program: /usr/bin/perl ./recv_mail_postfix.pl stephan.ferraro trashmail.net < test.txt [Thread debugging using libthread_db enabled] Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7b2e7ac in Perl_sv_clear () from /usr/lib/libperl.so.5.10 (gdb) ba #0 0x00007ffff7b2e7ac in Perl_sv_clear () from /usr/lib/libperl.so.5.10 #1 0x00007ffff7b2eed2 in Perl_sv_free2 () from /usr/lib/libperl.so.5.10 #2 0x00007ffff7b23e22 in ?? () from /usr/lib/libperl.so.5.10 #3 0x00007ffff7b23e81 in Perl_sv_clean_objs () from /usr/lib/libperl.so.5.10 #4 0x00007ffff7ac3be9 in perl_destruct () from /usr/lib/libperl.so.5.10 #5 0x0000000000400d1c in main () strace: pipe([6, 7]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1b238349d0) = 7015 close(7) = 0 dup2(5, 4) = 4 close(5) = 0 read(6, "", 4) = 0 close(6) = 0 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff2c2f3350) = -1 EINVAL (Invalid argument) lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) fcntl(4, F_SETFD, FD_CLOEXEC) = 0 write(4, "From [email protected] Sat Sep 1"..., 330) = 330 close(4) = 0 rt_sigaction(SIGHUP, {SIG_IGN, [], SA_RESTORER, 0x7f1b22c1f8f0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER, 0x7f1b22c1f8f0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f1b22c1f8f0}, {SIG_DFL, [], 0}, 8) = 0 wait4(7015, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 7015 --- SIGCHLD (Child exited) @ 0 (0) --- rt_sigaction(SIGHUP, {SIG_DFL, [], SA_RESTORER, 0x7f1b22c1f8f0}, NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f1b22c1f8f0}, NULL, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f1b22c1f8f0}, NULL, 8) = 0 stat("/usr/lib/perl5/auto/DBI/DESTROY.al", 0x651130) = -1 ENOENT (No such file or directory) stat("/etc/perl/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.10.1/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.10.1/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.10/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.10/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/site_perl/auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) stat("./auto/DBI/DESTROY.al", 0x7fff2c2f3370) = -1 ENOENT (No such file or directory) poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout) write(3, "\t\0\0\0\3rollback", 13) = 13 read(3, "\7\0\0\1\0\0\0\0\0\0\0", 16384) = 11 write(3, "\1\0\0\0\1", 5) = 5 shutdown(3, 2 /* send and receive */) = 0 close(3) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ Segmentation fault # uname -ar Linux trashmail 2.6.32-23-server #37-Ubuntu SMP Fri Jun 11 09:11:11 UTC 2010 x86_64 GNU/Linux dmesg: [ 8819.042703] perl[13414]: segfault at 0 ip 00007f7bd48ac7ac sp 00007fff53fa8610 error 4 in libperl.so.5.10.1[7f7bd47ef000+162000] # perl -V Summary of my perl5 (revision 5 version 10 subversion 1) configuration: Platform: osname=linux, osvers=2.6.24-27-server, archname=x86_64-linux-gnu-thread-multi uname='linux crested 2.6.24-27-server #1 smp fri mar 12 01:23:09 utc 2010 x86_64 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.1 -Dsitearch=/usr/local/lib/perl/5.10.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.1 -Dd_dosuid -des' hint=recommended, useposix=true, d_sigaction=define 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 -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -g', cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.4.3', 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 =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.11.1.so, so=so, useshrplib=true, libperl=libperl.so.5.10.1 gnulibc_version='2.11.1' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -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 USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Apr 23 2010 08:21:31 @INC: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . ** Affects: ubuntu Importance: Undecided Status: New -- segfault at 0 ip 00007f7bd48ac7ac sp 00007fff53fa8610 error 4 in libperl.so.5.10.1[7f7bd47ef000+162000] https://bugs.launchpad.net/bugs/641998 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
