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]


Reply via email to