[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl
Subject:    [mp2] CGI.pm param's always empty from only some clients (bug or
From:       Scott Beuker <scott.beuker () sjrb ! ca>
Date:       2003-10-30 17:46:47
[Download RAW message or body]


Hi,

Appologies if this is to the wrong list, I thought I'd start here
to see if I'm doing something wrong first, and then move to the
dev list if I can't resolve my problem. None the less, a bug report
is attached below.

After porting one of my mod_perl apps from 1 to 2, I thought that I
had it working but then later found that for some users, POST form
data was not available. In other words, when they would submit the
form data all of the CGI.pm param()'s were empty even though in my
Apache access_log I could see that they had made a POST request. About
50% of users were affected and I still have not found a pattern amongst
them that distinguishes them from those who are unaffected. GET
requests with form data from these same people seem to work fine
(although this app needs to POST it's data unfortunately).

I tried many different things in my troubleshooting but to no avail,
the only thing that I can do to make my app work is remove it from
mod_perl configuration so that it is being handled by the regular
perl interpreter. Then, it works fine. Unfortunately my application
is quite large (996 lines) so I'm refrain from posting it here yet.
There are no errors in the error_log when the user submits; it looks
like just another request from the server side.

The relivent portion of my httpd.conf is as follows:

----- httpd.conf -----
<VirtualHost *>
    DocumentRoot /www
    ServerName krunk.soc.shaw.ca
    <Location /trend.soc.shaw.ca/trend*.pl>
     SetHandler perl-script
     PerlResponseHandler ModPerl::Registry
     Options +ExecCGI
     PerlOptions +ParseHeaders
     allow from all
    </Location>
</VirtualHost>

PerlModule ModPerl::Registry
PerlModule GD
PerlModule GD::Graph::lines
PerlModule CGI
PerlModule Apache::DBI
PerlModule DBI
PerlModule Spreadsheet::WriteExcel

<Perl>
 $ENV{SYBASE} = "/opt/sybase";
 $ENV{LANG}   = "en";

 use ModPerl::RegistryLoader;
 ModPerl::RegistryLoader->new->handler("/trend.soc.shaw.ca/trendgraph.pl",
 
"/www/trend.soc.shaw.ca/trendgraph.pl");
 ModPerl::RegistryLoader->new->handler("/trend.soc.shaw.ca/trend_fe.pl",
                                      "/www/trend.soc.shaw.ca/trend_fe.pl");
</Perl>
----------------------

Thank you in advance for any help. I realize that this is probably
not enough information to resolve an issue (unless it is a known
issue), but with some guidance I can provide some more information
or even the afformentioned source code if desired.

Cheers,
Scott Beuker


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

  See above.

2. Used Components and their Configuration:

*** mod_perl version 1.9910

*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_APR_CONFIG  => /usr/local/apache-2.0.48/bin/apr-config
  MP_COMPAT_1X   => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME     => mod_perl
  MP_USE_DSO     => 1
  MP_USE_STATIC  => 1


*** The httpd binary was not found


*** /usr/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.4.21-1.1931.2.382.entsmp,
archname=i386-linux-thread-multi
    uname='linux str'
    config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686
-Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat,
Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux
-Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.0
-Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid
-Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog
-Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly
-Dpager=/usr/bin/less -isr'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef'
 useithreads=define usemultiplicity=
    useperlio= d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=un uselongdouble=
    usemymalloc=, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='3.2.2 20030222 (Red Hat Linux 3.2.2-5)',
gccosandvers=''
gccversion='3.2.2 200302'
    intsize=r, longsize=r, ptrsize=5, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long'
k', ivsize=4'
ivtype='l, nvtype='double'
o_nonbl', nvsize=, Off_t='', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='gcc'
l', ldflags =' -L/u'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
    perllibs=
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libper
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so', d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE'
    cccdlflags='-fPIC'
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5', lddlflags='s
Unicode/Normalize XS/A'


Characteristics of this binary (from libperl): 
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
  Locally applied patches:
        MAINT18379
  Built under linux
  Compiled at Aug 13 2003 11:47:58
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /usr/lib/perl5/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/5.8.0
    /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.0
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/5.8.0
    .


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 Oct 30 17:26:14 2003 GMT.

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic