perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philippe M. Chiasson" <go...@cpan.org>
Subject Re: [mp1] Segfautl with constant handlers and perl 5.6.x
Date Mon, 09 Jun 2003 04:35:44 GMT
On Mon, 2003-06-09 at 12:14, Stas Bekman wrote:
> Philippe M. Chiasson wrote:
> [...]
> >>>Ideas? Anybody can reproduce this simple test case ? Somehow, I suspect it
has to do with the fact
> >>>that Apache::OK isn't a plain sub but a constant, but ???
> >>
> >>I have tried these two:
> >>
> >>   <Location /foo>
> >>       SetHandler perl-script
> >>       PerlFixupHandler Apache::DECLINED
> >>       PerlHandler +Foo
> >>   </Location>
> >>
> >><Location /segv>
> >>  PerlModule Apache::Constants
> >>  SetHandler perl-script
> >>  PerlHandler Apache::OK
> >></Location>
> >>
> >>Both "work" (no segfault). Want me to try with another perl?
> > 
> > 
> > Now, that is wierd. I've copy-pasted your 2 example and they both segv
> > the same way, and my perl is just like yours... I am starting to think
> > that there must be something strange about me, not you all ;-S
> 
> Have you tried taking a shower? ;)

Well, you know what? I just did that, came back all clean, and figured
out I would take the time to _really_ track this bugger down.

Cleaned up all my src, cvs co'ed all afresh and started with the
simplest build script and configuration.

Guess what? It's gone. I am running all my smokes right now, and nothing
breaks anymore? 

There was somethign funny about my setup, but it's gone now and I can't
figure out what it might have been...

"The truth is out there!"

> > Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
> >   Platform:
> >     osname=linux, osvers=2.4.20, archname=i686-linux-thread-multi
> >     uname='linux shou.sg.ectoplasm.org 2.4.20 #4 smp sat apr 12 20:16:56 sgt 2003
i686 athlon i386 gnulinux '
> >     config_args='-des -Dprefix=/home/gozer/opt/perl/i386-linux/5.6.1/shrplib-threads
-Doptimize='-g' -Duseshrplib -Dusethreads'
> >     hint=recommended, useposix=true, d_sigaction=define
> >     usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
> >     useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
> >     use64bitint=undef use64bitall=undef uselongdouble=undef
> >   Compiler:
> >     cc='cc', ccflags ='-D_REENTRANT -DDEBUGGING -fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >     optimize='-g',
> >     cppflags='-D_REENTRANT -DDEBUGGING -fno-strict-aliasing -I/usr/local/include'
> >     ccversion='', gccversion='3.2.3 20030422 (Red Hat Linux 3.2.3-4)', 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 -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
> >     perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
> >     libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so
> >   Dynamic Linking:
> >     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/home/gozer/opt/perl/i386-linux/5.6.1/shrplib-threads/lib/5.6.1/i686-linux-thread-multi/CORE'
> >     cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
> 
> We have a different libc, though mine reports a wrong library. it reports the 
> lib it was compiled with libc=/lib/libc-2.2.5.so. However
> 
>    % ldd ~/perl/5.6.1-ithread/lib/5.6.1/i686-linux-thread-multi/CORE/libperl.so
>          libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
>          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
> 
> /home/stas/bios> l /lib/i686/libc.so.6
> lrwxrwxrwx    1 root     root           13 Jan 24 09:23 /lib/i686/lib
> c.so.6 -> libc-2.3.1.so*
> 
> so I'm running 2.3.1 and you 2.3.2 (maybe, check the real version with ldd). 
> And that could make the difference.
> 
> Also, try to use an empty/minimal httpd.conf when you test this segfault
> 
> __________________________________________________________________
> Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
> http://stason.org/     mod_perl Guide ---> http://perl.apache.org
> mailto:stas@stason.org http://use.perl.org http://apacheweek.com
> http://modperlbook.org http://apache.org   http://ticketmaster.com
-- 
-- -----------------------------------------------------------------------------
Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5 (122FF51B/C634E37B)
http://gozer.ectoplasm.org/    F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3 A5A5
Q: It is impossible to make anything foolproof because fools are so ingenious.
perl -e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/&&print||$$++&&redo}'

Mime
View raw message