I have this problem where we get a series of errors like this:

[Sun Mar 12 16:29:23 2006] [error] Can't locate object method "pnotes" via 
package "StrategyV2::Careers" at 
/usr/lib/perl5/site_perl/5.8.5/i686-linux/Apache/Request.pm line 36.\n

but where the package changes depending on what page was being hit.  It would 
appear that what's happening is that somehow, something other than an a request 
object is getting passed into my handler sub.  The code that causes this error 
(in this example anyway, it has happened on practically every package) is this:

sub handler{
    my $r = shift;
    my $req = Apache::Request->instance($r);
    .....
}

When these start happening, they are fixed by a restart.  If they happen when 
there isn't someone around to do that they persists for a while, then stop.  
I'm pretty much at a loss as to how to fix it, or even how to try to figure out 
what's going on.  I've never had the problem actually occur on our development 
box, only in production, and i haven't been able to find any event that 
precipitates them.

Does anyone have any ideas as to what i can do, or what i can look at to try to 
fix this?  It only happens about twice a week or so, but when it does we can 
get about 50 500's because of it.

Adam

Apache/1.3.33 (Unix) mod_perl/1.29

mp built with: perl Makefile.PL DO_HTTPD=1 USE_APACI=1 APACHE_PREFIX=/www 
EVERYTHING=1

perl -V
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
  Platform:
    osname=linux, osvers=2.4.28-gentoo-r8, archname=i686-linux
    uname='linux jeff2 2.4.28-gentoo-r8 #1 smp thu mar 17 14:50:11 est 2005 
i686 pentium iii (coppermine) genuineintel gnulinux '
    config_args='-des -Darchname=i686-linux -Dcccdlflags=-fPIC 
-Dccdlflags=-rdynamic -Dcc=gcc -Dprefix=/usr -Dvendorprefix=/usr 
-Dsiteprefix=/usr -Dlocincpth=  -Doptimize=-O2 -march=i686 -fomit-frame-pointer 
-Duselargefiles -Dd_semctl_semun -Dscriptdir=/usr/bin 
-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 
-Dinstallman1dir=/usr/share/man/man1 
-Dinstallman3dir=/var/tmp/portage/perl-5.8.5-r5/image//usr/share/man/man3 
-Dman1ext=1 -Dman3ext=3pm -Dinc_version_list=5.8.0 5.8.0/i686-linux 5.8.2 
5.8.2/i686-linux 5.8.4 5.8.4/i686-linux  -Dcf_by=Gentoo -Ud_csh -Di_ndbm 
-Di_gdbm -Di_db'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef 
usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
    optimize='-O2 -march=i686 -fomit-frame-pointer',
    cppflags='-DPERL5 -fno-strict-aliasing -pipe'
    ccversion='', gccversion='3.3.4 20040623 (Gentoo Linux 3.3.4-r1, 
ssp-3.3.2-2, pie-8.7.6)', 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='gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.4.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.3.4'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: USE_LARGE_FILES
  Built under linux
  Compiled at Mar 18 2005 12:50:52
  @INC:
    /etc/perl
    /usr/lib/perl5/site_perl/5.8.5/i686-linux
    /usr/lib/perl5/site_perl/5.8.5
    /usr/lib/perl5/site_perl/5.8.4
    /usr/lib/perl5/site_perl/5.8.4/i686-linux
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.5/i686-linux
    /usr/lib/perl5/vendor_perl/5.8.5
    /usr/lib/perl5/vendor_perl/5.8.4
    /usr/lib/perl5/vendor_perl/5.8.4/i686-linux
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/5.8.5/i686-linux
    /usr/lib/perl5/5.8.5
    /usr/local/lib/site_perl
    /usr/lib/perl5/site_perl/5.8.4
    /usr/lib/perl5/site_perl/5.8.4/i686-linux
    .

Reply via email to