I've recently built apache 1.3.22/mod_perl 1.26, statically with perl 5.6.1 on linux RH 7.0.
Am now getting SIGSEGV at various points in a HTML::Mason web application. These happen usually, but not always, when making DBD::Pg fetches (happens both with and without Apache::DBI). This application was working perfectly under perl5.005, apache1.3.20/mod_perl 1.24! Is there any clear way to approach solving this? I've tried tracing with strace (output attached below), and rebuilding everything again. Any suggestions gratefully received, as it's getting a bit desperate here! - Chris strace output for _one_ of the crashing pages: ---------------------------------------------------- 22372 brk(0x8957000) = 0x8957000 22372 read(7, "", 4096) = 0 22372 read(7, "", 4096) = 0 22372 close(7) = 0 22372 munmap(0x40019000, 4096) = 0 22372 stat("/tmp/dms_cache/obj/mc/metaform_submit.mc", {st_mode=S_IFREG|0644, st_size=8385, ...}) = 0 22372 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0 22372 send(4, "Q SELECT Name FROM Species WHERE SpeciesID=2 \0", 46, 0) = 46 22372 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0 22372 select(5, [4], [], [4], NULL) = 1 (in [4]) 22372 recv(4, "Pblank\0T\0\1name\0\0\0\4\23\377\377\0\0\0$D\200\0\0\0 \17E. GlobulusCSELECT\0Z", 16384, 0) = 51 22372 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 22372 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 22372 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 22372 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0 22372 send(4, "Q\n\t\t\t\tSELECT fieldname,label,valuesource,validsource,controltype,displayorder\n\t\t \t\tFROM MetaForms,Meta FormFields\n\t\t\t\tWHERE formname=\'add\' AND tablename=\'locationrefs\' \n\t\t\t\tAND metaforms.formid=metaformfields.formid \n\t\t\t\tORDER BY displayorder ASC \0", 245, 0) = 245 22372 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0 22372 select(5, [4], [], [4], NULL) = 1 (in [4]) 22372 recv(4, "Pblank\0T\0\6fieldname\0\0\0\4\23\377\377\0\0\0hlabel\0 \0\0\4\23\377\377\0\0\0hvaluesource\0\0\0\0\31\377\377\3 77\377\377\377validsource\0\0\0\0\31\377\377\377\377\377 \377controltype\0\0\0\4\23\377\377\0\0\0\30displayorder\0\0\0\0\27\0\4 \377\377\377\377D\374\0\0\0\vbatchid\0\0\0\5.\0\0\0007 $value=Trials::getTrialEditBatch($dbi,$parent_key);\0\0\0\4\0\0\0 \10auto \0\0\0\0050D\374\0\0\0\20lastmodified\0\0\0\0050\0\0\0\4\0\0\0\4\0\0\0 \fauto_now\0\0\0\0050D\374\0\0\0\22lastmodifiedby\0\0\0\ 0050\0\0\0\22$value=$G_UID;\0\0\0\4\0\0\0\10auto\0\0\0\0050D\374\0\0\0 \vtrialid\0\0\0\0050\0\0\0\4\0\0\0\4\0\0\0\17auto_parent \0\0\0\0050D\374\0\0\0\10name\0\0\0\10Name\0\0\0\4\0\0\0\4\0\0\0 \21text_required\0\0\0\0051D\374\0\0\0\17description\0\0\0\17D escription\0\0\0\4\0\0\0\f$valid=1\0\0\0\ftextarea\0\0\0\0052D\374\0\0 \0\17mg"..., 16384, 0) = 805 22372 --- SIGSEGV (Segmentation fault) --- 22372 +++ killed by SIGSEGV +++ ------------------------------------ Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=linux, osvers=2.2.16-22, archname=i586-linux uname='linux laptop 2.2.16-22 #1 tue aug 22 16:16:55 edt 2000 i586 unknown ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.0)', 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, usemymalloc=n, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lgdbm -ldl -lm -lc -lcrypt -lutil perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil libc=/lib/libc-2.1.92.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='- rdynamic' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'