Well Stas, you asked for it... :) -------------8<---------- Start Bug Report ------------8<---------- 1. Problem Description:
LogHandler configuration problem. In the tests below I start out with the LogHandler configuration in the documentation and keep 'trimming' it down until it works. I'm almost (not 100%) sure the problem has something with the way I'm configured, but, being a neeeeewwwwwwbbbbbiiiiieeee, I can't see it. This is low-priority; I have it working fine, I'm just trying to understand what's going on. Oh, almost forgot, ALL files are set to mywebuser:mywebgroup as defined in the User/Group httpd.conf directives. A. startup.pl (remains the same for all tests below) use Apache2 (); use lib qw(/srv/www/conf/perl); use ModPerl::Util (); #for CORE::GLOBAL::exit use Apache::RequestRec (); use Apache::RequestIO (); use Apache::RequestUtil (); use Apache::Server (); use Apache::ServerUtil (); use Apache::Connection (); use Apache::Log (); use APR::Table (); use ModPerl::Registry (); use Apache::Const -compile => ':common'; use APR::Const -compile => ':common'; 1; B. 'default' page setting in httpd.conf (same for all) DirectoryIndex index.html index.html.var C. my log handler (same for all) package MyApache::FileLogger; use strict; use warnings; use Apache::RequestRec (); use Apache::Connection (); use Fcntl qw(:flock); use Apache::Const -compile => qw(OK DECLINED); sub handler { my $r = shift; my $entry = sprintf qq(%s [%s] "%s" %d %d\n), $r->connection->remote_ip, scalar(localtime), $r->uri, $r->status, $r->bytes_sent; my $log_path = Apache::server_root_relative($r->pool, "logs/filelogger.log"); open my $fh, ">>$log_path" or die "can't open $log_path: $!"; flock $fh, LOCK_EX; print $fh $entry; close $fh; return Apache::OK; } 1; C1. /perl/rocks.html #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<h3>mod_perl 2.0 rocks!</h3>\n"; D. test 1 ---httpd.conf--- LoadModule perl_module modules/mod_perl.so PerlRequire "/srv/www/conf/perl/startup.pl" #-------------------mod_perl 2.0 rocks test--------------------------------- Alias /perl/ /srv/www/conf/perl/ <Location /perl/> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> #-------------------MyApache-FileLogger------------------------------------- <Location /> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlLogHandler MyApache::FileLogger Options +ExecCGI </Location> ---log--- ::1 [Wed Dec 4 19:58:13 2002] "/" 404 266 ::1 [Wed Dec 4 19:58:24 2002] "/index.html" 403 280 ::1 [Wed Dec 4 19:58:45 2002] "/perl/rocks.html" 200 29 localhost -> not found (DirectoryIndex not followed) localhost/index.html -> premission nixed localhost/perl/rocks.html -> OK E. test 2 ---httpd.conf--- LoadModule perl_module modules/mod_perl.so PerlRequire "/srv/www/conf/perl/startup.pl" #-------------------mod_perl 2.0 rocks test--------------------------------- Alias /perl/ /srv/www/conf/perl/ <Location /perl/> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> #-------------------MyApache-FileLogger------------------------------------- <Location /> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlLogHandler MyApache::FileLogger # Options +ExecCGI </Location> ---log--- ::1 [Wed Dec 4 20:12:43 2002] "/" 404 266 ::1 [Wed Dec 4 20:12:49 2002] "/index.html" 403 280 ::1 [Wed Dec 4 20:12:59 2002] "/perl/rocks.html" 200 29 F. test 3 ---httpd.conf--- LoadModule perl_module modules/mod_perl.so PerlRequire "/srv/www/conf/perl/startup.pl" #-------------------mod_perl 2.0 rocks test--------------------------------- Alias /perl/ /srv/www/conf/perl/ <Location /perl/> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> #-------------------MyApache-FileLogger------------------------------------- <Location /> SetHandler perl-script # PerlResponseHandler ModPerl::Registry PerlLogHandler MyApache::FileLogger # Options +ExecCGI </Location> ---log--- ::1 [Wed Dec 4 20:17:30 2002] "/" 404 266 ::1 [Wed Dec 4 20:17:47 2002] "/index.html" 200 1495 ::1 [Wed Dec 4 20:17:47 2002] "/apache_pb.gif" 200 2326 ::1 [Wed Dec 4 20:17:56 2002] "/perl/rocks.html" 200 29 well, some progress... G. test 4 ---httpd.conf--- LoadModule perl_module modules/mod_perl.so PerlRequire "/srv/www/conf/perl/startup.pl" #-------------------mod_perl 2.0 rocks test--------------------------------- Alias /perl/ /srv/www/conf/perl/ <Location /perl/> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> #-------------------MyApache-FileLogger------------------------------------- <Location /> # SetHandler perl-script # PerlResponseHandler ModPerl::Registry PerlLogHandler MyApache::FileLogger # Options +ExecCGI </Location> ---log--- ::1 [Wed Dec 4 20:22:33 2002] "/index.html" 200 1495 ::1 [Wed Dec 4 20:22:33 2002] "/apache_pb.gif" 304 0 ::1 [Wed Dec 4 20:22:53 2002] "/perl/rocks.html" 200 29 ::1 [Wed Dec 4 20:24:07 2002] "/index.html" 200 1495 ::1 [Wed Dec 4 20:24:07 2002] "/apache_pb.gif" 304 0 ALL OK H. test 5 ---httpd.conf--- LoadModule perl_module modules/mod_perl.so PerlRequire "/srv/www/conf/perl/startup.pl" #-------------------mod_perl 2.0 rocks test--------------------------------- Alias /perl/ /srv/www/conf/perl/ <Location /perl/> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> #-------------------MyApache-FileLogger------------------------------------- #<Location /> # SetHandler perl-script # PerlResponseHandler ModPerl::Registry PerlLogHandler MyApache::FileLogger # Options +ExecCGI #</Location> ---log--- ::1 [Wed Dec 4 20:27:48 2002] "/index.html" 200 1495 ::1 [Wed Dec 4 20:27:48 2002] "/apache_pb.gif" 304 0 ::1 [Wed Dec 4 20:28:00 2002] "/perl/rocks.html" 200 29 ::1 [Wed Dec 4 20:28:58 2002] "/index.html" 200 1495 ::1 [Wed Dec 4 20:28:58 2002] "/apache_pb.gif" 304 0 ALL OK 2. Used Components and their Configuration: *** using lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_AP_PREFIX => /usr/local/apache2 MP_GENERATE_XS => 1 MP_INST_APACHE2 => 1 MP_LIBNAME => mod_perl MP_USE_DSO => 1 MP_USE_STATIC => 1 *** /usr/local/apache2/sbin/httpd -V Server version: Apache/2.0.43 Server built: Dec 4 2002 01:07:19 Server's Module Magic Number: 20020903:0 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/worker" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/usr/local/apache2" -D SUEXEC_BIN="/usr/local/apache2/bin/suexec" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/httpd/mime.types" -D SERVER_CONFIG_FILE="/etc/httpd/httpd.conf" *** /usr/bin/perl -V Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: Platform: osname=linux, osvers=2.4.19, archname=i586-linux-thread-multi uname='linux amdsim5 2.4.19 #1 wed mar 27 13:57:05 utc 2002 i686 unknown ' config_args='-ds -e -Dprefix=/usr -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_g dbm -Duseshrplib=true' 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 -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FIL E_OFFSET_BITS=64', optimize='-O3 --pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing' ccversion='', gccversion='3.2', 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 ='' libpth=/lib /usr/lib /usr/local/lib libs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.2.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.0/i586-linux-thread-multi /CORE' cccdlflags='-fPIC', lddlflags='-shared' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Oct 8 2002 16:55:42 %ENV: PERL_LWP_USE_HTTP_10="1" @INC: /usr/lib/perl5/5.8.0/i586-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl . 3. This is the core dump trace: (if you get a core dump): [CORE TRACE COMES HERE] This report was generated by t/REPORT on Thu Dec 5 05:52:35 2002 GMT. -------------8<---------- End Bug Report --------------8<---------- Note: Complete the rest of the details and post this bug report to dev <at> perl.apache.org. To subscribe to the list send an empty email to [EMAIL PROTECTED]