This is not a good Apache day. I already sent out a message regarding
an Apache::Scoreboard problem, and now Apache2::Status doesn't work either.
Here is an excerpt from httpd.conf:
ExtendedStatus On
PerlLoadModule Apache2::Status
PerlModule CGI
PerlModule B::TerseSize
Listen 7777
<VirtualHost *:7777>
<Location /perl-status>
SetHandler modperl
PerlOptions +GlobalRequest
PerlResponseHandler Apache2::Status
PerlSetVar StatusOptionsAll On
PerlSetVar StatusTerseSizeMainSummary On
PerlSetVar StatusDeparseOptions "-p -sC"
</Location>
</VirtualHost>
Whan I access perl-status, I get the following menu items:
Environment
Loaded Modules
Inheritance Tree
ISA Tree
HTML::Mason status
Perl Configuration
Compiled Registry Scripts
PerlRequire'd Files
Signal Handlers
Memory Usage
Symbol Table Dump
Everything works fine except Memory Usage, which complains to the error_log:
[Thu Nov 30 14:15:53 2006] [error] [client 127.0.0.1] Can't call method
"script_name" on an undefined value at
/usr/local/lib/perl/5.8.4/B/TerseSize.pm line 631.\n, referer:
http://localhost:7777/perl-status
At the offending line in TerseSize.pm, the $q variable is undefined.
From the docs, I take it this is a CGI object. Why is it undefined?
What is it supposed to be? Where is the CGI script? Am I supposed to
do something?
I'm sure that this has come up before and that there is a simple answer
to all this but I'd like to track memory usage in Apache2/mod_perl2 and
have been frustrated at every turn.
I'm using Apache 2.2.3 and mod_perl 2.0.3 with libapreq 2.08:
Apache/2.2.3 (Unix) mod_apreq2-20051231/2.6.0 mod_perl/2.0.3 Perl/v5.8.4
configured -- resuming normal operations
[Thu Nov 30 14:15:39 2006] [info] Server built: Nov 29 2006 17:32:31
Also, here is perl -V:
Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
Platform:
osname=linux, osvers=2.6.15.4, archname=i386-linux-thread-multi
uname='linux ninsei 2.6.15.4 #1 smp preempt mon feb 20 09:48:53 pst
2006 i686 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN
-Dcccdlflags=-fPIC -Darchname=i386-linux -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.4
-Dsitearch=/usr/local/lib/perl/5.8.4 -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.4 -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 -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 -I/usr/local/include'
ccversion='', gccversion='3.3.5 (Debian 1:3.3.5-13)', 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.2.so, so=so, useshrplib=true,
libperl=libperl.so.5.8.4
gnulibc_version='2.3.2'
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 USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at Mar 23 2006 21:49:08
@INC:
/etc/perl
/usr/local/lib/perl/5.8.4
/usr/local/share/perl/5.8.4
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.8
/usr/share/perl/5.8
/usr/local/lib/site_perl
.
Thanks. I'd really like to get past this.
David