I accidentally posted this to OG London. Whoops. Sorry if you get it twice.
Following upgrade to the latest Debian package (0.59-1) my Openguide is failing. Running it directly, I get the not terribly helpful:
simon@stout:/etc/openguides/default$ /usr/lib/cgi-bin/openguides/wiki.cgi Floating point exception
It looks like a Debian perl thing... Also getting the same error from my blog (blosxom) though not all perl programs.
There's a megabyte or so strace here, from running wiki.cgi. Looks like it's loading the modules fine, but then breaks. Anyone with Perl and strace voodoo got any ideas? No logged bugs against perl-base that give me any clues...
http://www.rumble.net/stuff/strace
Rev Simon Rumble wrote:
I accidentally posted this to OG London. Whoops. Sorry if you get it twice.
Following upgrade to the latest Debian package (0.59-1) my Openguide is failing. Running it directly, I get the not terribly helpful:
simon@stout:/etc/openguides/default$ /usr/lib/cgi-bin/openguides/wiki.cgi Floating point exception
It looks like a Debian perl thing... Also getting the same error from my blog (blosxom) though not all perl programs.
There's a megabyte or so strace here, from running wiki.cgi. Looks like it's loading the modules fine, but then breaks. Anyone with Perl and strace voodoo got any ideas? No logged bugs against perl-base that give me any clues...
Simon, can you paste or attach the output of perl -V
Can you launch the script in the debugger?
perl -d /usr/lib/cgi-bin/openguides/wiki.cgi
(does it crap out before getting to the debugger prompt?)
If the answer to this is yes, it craps out, you might still be able to find out how far it's getting with Devel::Modlist (you will probably need to install this module from CPAN).
I'd also suggest getting help from somewhere else, like perlmonks or the London.pm list.
This one time, at band camp, IvorW wrote:
Simon, can you paste or attach the output of perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.18.3, archname=i486-linux-gnu-thread-multi uname='linux saens 2.6.18.3 #1 smp sat nov 25 13:39:52 est 2006 i686 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.8 -Dsitearch=/usr/local/lib/perl/5.8.8 -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 -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.8 -Dd_dosuid -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=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.1.2 20061115 (prerelease) (Debian 4.1.1-20)', 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=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.3.6.so, so=so, useshrplib=true, libperl=libperl.so.5.8.8 gnulibc_version='2.3.6' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Dec 6 2006 23:05:53 @INC: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 .
Can you launch the script in the debugger?
perl -d /usr/lib/cgi-bin/openguides/wiki.cgi
(does it crap out before getting to the debugger prompt?)
No. Stepping throught he code, the last step before the error was: DB<1> n main::(/usr/lib/cgi-bin/openguides/wiki.cgi:215): 215: $guide->display_node( 216: id => $node, 217: version => $version, 218: oldid => $oldid, 219: redirect => $redirect, 220: ); DB<1> n
If the answer to this is yes, it craps out, you might still be able to find out how far it's getting with Devel::Modlist (you will probably need to install this module from CPAN).
I'd also suggest getting help from somewhere else, like perlmonks or the London.pm list.
Yes that might be necessary, since it's system-wide. Argh! You might have noticed, my Perl-fu isn't particularly strong.
Hmmm. Digging through strace I found the last thing referred to was /usr/lib/perl5/auto/Cwd/Cwd.so which is part of libfile-spec-perl. Removing that resolved the problem.
So why would this module be getting touched if it's not actually in use?
Now to attempt to write a bug report that will actually be useful.
Rev Simon Rumble wrote:
Hmmm. Digging through strace I found the last thing referred to was /usr/lib/perl5/auto/Cwd/Cwd.so which is part of libfile-spec-perl. Removing that resolved the problem.
So why would this module be getting touched if it's not actually in use?
That's in a distribution called Pathtools, but was originally part of the perl 5 core. Cwd and File::Spec are pretty much core modules.
Now to attempt to write a bug report that will actually be useful.
The best thing might be to construct a failing test.
openguides-dev@lists.openguides.org