You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Arnaud Blancher <Ar...@ungi.net> on 2004/03/12 15:08:19 UTC

CGI header mod_perl 1.99_13

hi all,

i test all my scripts which this version of mod perl
and i have the message :
[notice] child pid 3541 exit signal Segmentation fault (11)
in the error_log all the times but not the first one when i call the script

if i remove
print header();
and put
print "Content-Type: text/plain\n\n";

it's ok
does some thing specific to do with CGI.pm (v 3.04) and mod_perl  ?

#-----------------------------
#!/usr/bin/perl -w

use strict;
use Carp ();
local $SIG{__WARN__} = \&Carp::cluck;

use CGI qw(:standard);
# notice] child pid 3541 exit signal Segmentation fault (11)
print header();

# ok :
# print "Content-Type: text/plain\n\n";

1;
#-----------------------------
 Alias /publishing-lib/ /home/publishing3/publishing-lib/
 <Directory /home/publishing3/publishing-lib>
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    Options ExecCGI
    allow from all
    PerlSendHeader On
  </Directory>


thanks
Arnaud.


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: CGI header mod_perl 1.99_13 : OK

Posted by Arnaud Blancher <Ar...@ungi.net>.
*** Packages of interest status:

>>
>> Apache::Request: -
>> CGI            : 3.04
>> LWP            : 5.65
>> mod_perl       : 1.9912, 1.9912, 1.9913
>
>
> You have a bunch of older mp2 installs lingering around. I won't be 
> surprised if you get the wrong libraries loaded. I'd suggest to nuke 
> any previous mod_perl installations.
>
>
that's it !!!
more, i have take the last snapshot from csv
and it's OK.

thank you
Arnaud


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: CGI header mod_perl 1.99_13 (bug report)

Posted by Stas Bekman <st...@stason.org>.
Arnaud Blancher wrote:
> hi Stas,
> here the complete bug report,

Thanks Arnaud,

> 2. Used Components and their Configuration:
> 
> *** mod_perl version 1.9913
[...]
> *** Packages of interest status:
> 
> Apache::Request: -
> CGI            : 3.04
> LWP            : 5.65
> mod_perl       : 1.9912, 1.9912, 1.9913

You have a bunch of older mp2 installs lingering around. I won't be surprised 
if you get the wrong libraries loaded. I'd suggest to nuke any previous 
mod_perl installations.

> 3. This is the core dump trace: (if you get a core dump):
> 
>  [CORE TRACE COMES HERE]

The segfault backtrace is missing. http://perl.apache.org/bugs/ explains how 
to get one.

But first please adjust your script to do:

  my $header = header();
  warn "[$header]";
  print $header;

and show us what has CGI.pm generated as a header (hint: it'll go into 
error_log). It's possible that I can't reproduce the problem, because our 
output of header() don't match.

I have an idea where the problem could be (as I've completely rewritten the 
header parsing code just a week ago), but I need to have the input that 
triggers that problem.

Thanks.
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: CGI header mod_perl 1.99_13 (bug report)

Posted by Arnaud Blancher <Ar...@ungi.net>.
hi Stas,
here the complete bug report,

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


i have the message :

[notice] child pid 3541 exit signal Segmentation fault (11)
in the error_log not the first one when i call the script
but when i have the message, second times ou third time i call the script,
 the Segmentation fault (11) message always apear in the log.

if i remove
print header();
and put
print "Content-Type: text/plain\n\n";

it's ok
does some thing specific to do with CGI.pm (v 3.04) and mod_perl  ?

#-----------------------------
#!/usr/bin/perl -w

use strict;
use Carp ();
local $SIG{__WARN__} = \&Carp::cluck;

use CGI qw(:standard);
# [notice] child pid 3541 exit signal Segmentation fault (11)
print header();

# ok :
# print "Content-Type: text/plain\n\n";

1;

#-----------------------------
# httpd.conf
#-----------------------------
Alias /publishing-lib/ /home/publishing3/publishing-lib/
<Directory /home/publishing3/publishing-lib>
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    Options ExecCGI
    allow from all
    PerlOptions +ParseHeaders
</Directory>

#-----------------------------
# access_log
#-----------------------------
# first time: ok
192.168.0.3 - - [15/Mar/2004:12:04:49 +0100] "GET 
/publishing-lib/test_pm_cgi.pl HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; U; 
Linux i686; fr; rv:1.4.1) Gecko/20031114"
192.168.0.3 - - [15/Mar/2004:12:06:02 +0100] "GET 
/publishing-lib/test_pm_cgi.pl HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; U; 
Linux i686; fr; rv:1.4.1) Gecko/20031114"
192.168.0.3 - - [15/Mar/2004:12:06:26 +0100] "GET 
/publishing-lib/test_pm_cgi.pl HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; U; 
Linux i686; fr; rv:1.4.1) Gecko/20031114"
192.168.0.3 - - [15/Mar/2004:12:06:47 +0100] "GET 
/publishing-lib/test_pm_cgi.pl HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; U; 
Linux i686; fr; rv:1.4.1) Gecko/20031114"
# here wrong
192.168.0.3 - - [15/Mar/2004:12:06:48 +0100] "GET 
/publishing-lib/test_pm_cgi.pl HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; U; 
Linux i686; fr; rv:1.4.1) Gecko/20031114"
192.168.0.3 - - [15/Mar/2004:12:06:49 +0100] "GET 
/publishing-lib/test_pm_cgi.pl HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; U; 
Linux i686; fr; rv:1.4.1) Gecko/20031114"

#-----------------------------
# error_log
#-----------------------------
# first time: ok
[Mon Mar 15 12:03:15 2004] [notice] caught SIGTERM, shutting down
[Mon Mar 15 12:03:52 2004] [notice] Apache/2.0.48 (Unix) 
mod_perl/1.99_13 Perl/v5.8.3 configured -- resuming normal operations
# here wrong
[Mon Mar 15 12:06:48 2004] [notice] child pid 3372 exit signal 
Segmentation fault (11)
[Mon Mar 15 12:06:49 2004] [notice] child pid 3373 exit signal 
Segmentation fault (11)

#-----------------------------
# Navigator
#-----------------------------
Mozilla 1.4.1
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.4.1) Gecko/20031114

thanks
Arnaud.

2. Used Components and their Configuration:

*** mod_perl version 1.9913

*** using 
/home/installation-publishing/modules/unix/perl5.8/apache/mod_perl-1.99_13/lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_AP_PREFIX    => /usr/local/httpd/prefork
  MP_COMPAT_1X    => 1
  MP_GENERATE_XS  => 1
  MP_INST_APACHE2 => 1
  MP_LIBNAME      => mod_perl
  MP_USE_DSO      => 1
  MP_USE_STATIC   => 1


*** /usr/local/httpd/prefork/bin/httpd -V
Server version: Apache/2.0.48
Server built:   Mar  9 2004 10:47:35
Server's Module Magic Number: 20020903:4
Architecture:   32-bit
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_PROC_PTHREAD_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/httpd/prefork"
 -D SUEXEC_BIN="/usr/local/httpd/prefork/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


*** /usr/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
  Platform:
    osname=linux, osvers=2.4.21-9.elsmp, archname=i386-linux-thread-multi
    uname='linux bugs.devel.redhat.com 2.4.21-9.elsmp #1 smp thu jan 8 
17:08:56 est 2004 i686 i686 i386 gnulinux '
    config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686 
-Dversion=5.8.3 -Dmyhostname=localhost -Dperladmin=root@localhost 
-Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr 
-Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -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 -Dinc_version_list=5.8.2 5.8.1 5.8.0'
    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='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='-O2 -g -pipe -march=i386 -mcpu=i686',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING 
-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='3.3.2 20031218 (Red Hat Linux 3.3.2-5)', 
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 -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so
    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.3/i386-linux-thread-multi/CORE'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS 
USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Built under linux
  Compiled at Feb 25 2004 13:30:53
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /usr/lib/perl5/5.8.3/i386-linux-thread-multi
    /usr/lib/perl5/5.8.3
    /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.3
    /usr/lib/perl5/site_perl/5.8.2
    /usr/lib/perl5/site_perl/5.8.1
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.3
    /usr/lib/perl5/vendor_perl/5.8.2
    /usr/lib/perl5/vendor_perl/5.8.1
    /usr/lib/perl5/vendor_perl/5.8.0
    /usr/lib/perl5/vendor_perl
    .

*** Packages of interest status:

Apache::Request: -
CGI            : 3.04
LWP            : 5.65
mod_perl       : 1.9912, 1.9912, 1.9913


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

  [CORE TRACE COMES HERE]

This report was generated by 
/home/installation-publishing/modules/unix/perl5.8/apache/mod_perl-1.99_13/t/REPORT 
on Mon Mar 15 10:44:46 2004 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 dev-subscribe@perl.apache.org.




-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: CGI header mod_perl 1.99_13

Posted by Stas Bekman <st...@stason.org>.
Arnaud Blancher wrote:
> hi all,
> 
> i test all my scripts which this version of mod perl
> and i have the message :
> [notice] child pid 3541 exit signal Segmentation fault (11)
> in the error_log all the times but not the first one when i call the script
> 
> if i remove
> print header();
> and put
> print "Content-Type: text/plain\n\n";
> 
> it's ok
> does some thing specific to do with CGI.pm (v 3.04) and mod_perl  ?
> 
> #-----------------------------
> #!/usr/bin/perl -w
> 
> use strict;
> use Carp ();
> local $SIG{__WARN__} = \&Carp::cluck;
> 
> use CGI qw(:standard);
> # notice] child pid 3541 exit signal Segmentation fault (11)
> print header();
> 
> # ok :
> # print "Content-Type: text/plain\n\n";
> 
> 1;
> #-----------------------------
> Alias /publishing-lib/ /home/publishing3/publishing-lib/
> <Directory /home/publishing3/publishing-lib>
>    SetHandler perl-script
>    PerlResponseHandler ModPerl::Registry
>    Options ExecCGI
>    allow from all
>    PerlSendHeader On
>  </Directory>

Sorry Arnaud, I can't reproduce it. Please file a proper bug report:
http://perl.apache.org/bugs/

BTW, you should start to get used to the mp2 syntax:

s/PerlSendHeader On/PerlOptions +ParseHeaders/

;)

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html