FAQ
[I've sent this to the modperl list but, because of the wierd nature of these
missing subroutines, am also sending this to p5p, maybe someone here has an
idea?]

Rereading my original post, it appears I may not have been explicit enough
about what the problem appears to be. Starting with the error message:

[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)
This says the class cannot find the method called. That's fine, but why not?
Presumably because the class is not loaded (usual error), or because the
class has been modified (current error). The code which I can see from
within modperl, (using the debugger), is the correct and up-to-date code,
_but_ it has been snipped off at the neck. So I can see the top of the file,
but all the subroutines have been removed...

I hope that's a bit clearer ?-)

Any help appreciated - TIA.

R.
On Wednesday 22 November 2006 12:28, Richard Foley wrote:
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/
--
Richard Foley
Ciao - shorter than aufwiedersehen

http://www.rfi.net/

Search Discussions

  • Richard Foley at Nov 22, 2006 at 2:59 pm
    [I've sent this to the modperl list but, because of the wierd nature of these
    missing subroutines, am also sending this to p5p, maybe someone here has an
    idea?]

    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/

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupperl5-porters @
categoriesperl
postedNov 22, '06 at 2:59p
activeNov 22, '06 at 2:59p
posts2
users1
websiteperl.org

1 user in discussion

Richard Foley: 2 posts

People

Translate

site design / logo © 2022 Grokbase