I'm seeing some strange behaviour with modperl, it appears to be truncating 
the module code for certain files.  Firstly, the code runs fine under CGI and 
using a similar commandline setup.  Next, there's a apache/conf/startup.pl 
script which loads all the expected modules at startup, and the library files 
are all their via a manual (commandline) run.  Everything appears ok when 
apache starts up.  

  [notice] Apache/1.3.36 (Unix) mod_perl/1.29 configured -- resuming normal 
operations

Again, under 'normal' cgi usage there are no problems, however, as soon as a 
page is requested from the server, a log file entry of the form: 

  [error] Error executing run mode 'display': Can't locate object method 
"page" via package "Class::CGI::Welcome" at /classes/Class/CGI/Welcome.pm 
line 34.\n at (eval 1361)
[/usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi/Apache/Registry.pm:184] 
line 5\n

Now, the Class::CGI::Welcome module is loaded.  I can even see the correct and 
up to date code entry under @{main::_<$pathtowelcomedotpm}, _but_, the code 
simply stops after 20 lines, so that the page() method is (clearly because 
it's not there) not found.  What I mean is that the first 20 lines of the 
module can be seen, and the rest appears to have been inconveniently and 
completely truncated for some unknown reason.  

Has anyone seen this before?  Am I being remarkably slow here?  Any helpful 
hints appreciated.

        $> perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.13-15-smp, archname=i686-linux-thread-multi
    uname='linux linux225 2.6.13-15-smp #1 smp tue sep 13 14:56:15 utc 2005 
i686 i686 i386 gnulinux '
    config_args='-des 
-Dotherlibdirs=/usr/lib/perl5/5.8.7:/usr/lib/perl5/5.8.7/i586-linux-thread-multi:/usr/lib/perl5/site_perl:/usr/lib/perl5/site_perl/5.8.7:/usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi:/usr/lib/perl5/vendor_perl:/usr/lib/perl5/vendor_perl/5.8.7:/usr/lib/perl5/vendor_perl/5.8.7/i586-linux-thread-multi
 
-Dinstallusrbinperl -Dusethreads'
    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 
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
-fno-strict-aliasing -pipe -Wdeclaration-after-statement 
-I/usr/local/include'
    ccversion='', gccversion='4.0.2 20050901 (prerelease) (SUSE Linux)', 
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=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.3.5.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.3.5'
  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 Oct 20 2006 15:27:16
  @INC:
    /usr/local/lib/perl5/5.8.8/i686-linux-thread-multi
    /usr/local/lib/perl5/5.8.8
    /usr/local/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi
    /usr/local/lib/perl5/site_perl/5.8.8
    /usr/local/lib/perl5/site_perl
    /usr/lib/perl5/5.8.7
    /usr/lib/perl5/5.8.7/i586-linux-thread-multi
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/site_perl/5.8.7
    /usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/vendor_perl/5.8.7
    /usr/lib/perl5/vendor_perl/5.8.7/i586-linux-thread-multi


-- 
Richard Foley
Ciao - shorter than aufwiedersehen

http://www.rfi.net/

Reply via email to