I have solved the problem. I was returning 200 instead of using Apache2::Const::OK. My response was indeed interpreted as 'OK" by apache - but not by some place somewhere else. There was no error message anywhere. I'll modify the bugreport below to have it addressed or not at the maintainers' discretion.
On Dec 29, 2007, at 11:14 AM, Kate Yoak wrote:

I am using mp2bug format for the message.  Hope, that's ok!


=========================
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

returning 200 as a scalar from a content handler causes Apache to spit up "Internal Server Error" html despite a '200 OK' status. There is no error or warning in the log, nor any other indication of a problem

sub handler{
        return 200;
}

Generates the proper headers:
HTTP/1.1 200 OK
Date: Sun, 30 Dec 2007 03:12:03 GMT
Server: Apache/2.2.6 (Unix) mod_perl/2.0.3 Perl/v5.8.8
Content-Length: 497
Content-Type: text/html; charset=iso-8859-1

But then adds a 500 error html to the output:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>200 OK</title>
</head><body>
<h1>OK</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
 [EMAIL PROTECTED] and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>


Interestingly, a 302 result works correctly. A static page display is fine also. I have rebuilt perl & mod_perl since I encountered the error to no avail.

2. Used Components and their Configuration:

*** mod_perl version 2.000003

*** using /tmp/mod_perl-2.0.3/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB     => aprext
  MP_APXS        => /usr/sbin/apxs
  MP_COMPAT_1X   => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME     => mod_perl
  MP_USE_DSO     => 1


*** /usr/sbin/httpd -V
Server version: Apache/2.2.6 (Unix)
Server built:   Dec 28 2007 00:27:39
Server's Module Magic Number: 20051115:5
Server loaded:  APR 1.2.11, APR-Util 1.2.10
Compiled using: APR 1.2.11, APR-Util 1.2.10
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -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 DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr"
 -D SUEXEC_BIN="/usr/bin/suexec"
 -D DEFAULT_PIDLOG="/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/httpd/conf/mime.types"
 -D SERVER_CONFIG_FILE="/etc/httpd/conf/httpd.conf"

*** /usr/bin/ldd /usr/sbin/httpd
        linux-gate.so.1 =>  (0x00e17000)
        libm.so.6 => /lib/libm.so.6 (0x00c9e000)
        libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x00388000)
        libpq.so.4 => /usr/lib/libpq.so.4 (0x002b2000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x005ae000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x00766000)
        libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00365000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x003ae000)
        librt.so.1 => /lib/librt.so.1 (0x003f0000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x00cee000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00cda000)
        libdl.so.2 => /lib/libdl.so.2 (0x00c98000)
        libc.so.6 => /lib/libc.so.6 (0x00b6d000)
        /lib/ld-linux.so.2 (0x00b4f000)
        libssl.so.5 => /lib/libssl.so.5 (0x00d95000)
        libcrypto.so.5 => /lib/libcrypto.so.5 (0x00101000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00210000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00d1e000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00d33000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00d50000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0x00d4b000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00d6a000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00cc5000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00d90000)


*** (apr|apu)-config linking info

 -L/usr/lib -laprutil-1 -lpq -lsqlite3 -lexpat
 -L/usr/lib -lapr-1 -luuid -lrt -lcrypt  -lpthread -ldl



*** /usr/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.14-1.1653_fc4smp, archname=i686-linux
uname='linux nat.longmedia.com 2.6.14-1.1653_fc4smp #1 smp tue dec 13 21:46:01 est 2005 i686 i686 i386 gnulinux '
    config_args=''
    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 -Wdeclaration- after-statement -I/usr/local/include -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after- statement -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='4.0.2 20051125 (Red Hat 4.0.2-8)', 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=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.3.5.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.3.5'
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,- E -Wl,-rpath,/usr/lib/perl5/5.8.8/i686-linux/CORE'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
  Built under linux
  Compiled at Dec 29 2007 18:07:25
  %ENV:
    PERL5LIB="/long/modules"
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /long/modules
    /usr/lib/perl5/5.8.8/i686-linux
    /usr/lib/perl5/5.8.8
    /usr/lib/perl5/site_perl/5.8.8/i686-linux
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl
    .

*** Packages of interest status:

Apache2            : -
Apache2::Request   : -
CGI                : 3.15
ExtUtils::MakeMaker: 6.30
LWP                : -
mod_perl           : -
mod_perl2          : 2.000003


3. This is the core dump trace: (if you get a core dump):

  [CORE TRACE COMES HERE]

This report was generated by /usr/bin/mp2bug on Sun Dec 30 03:19:48 2007 GMT.

-------------8<---------- End Bug Report --------------8<----------

Note: Complete the rest of the details and post this bug report to
modperl <at> perl.apache.org. To subscribe to the list send an empty
email to [EMAIL PROTECTED]



Reply via email to